agentsclimarketplace

Content review

Skill 0xF4ng/aether-growth-fieldwork/pmm/content-review

Scores content pieces and experiment specs before publication or launch. Part A: content scoring (8 dimensions, 0.0–1.0 each). Part B: experiment spec scoring (8 dimensions). Calibrated examples anchor scores across sessions. Verdict: APPROVE / REVISE / REJECT.From its SKILL.md

Install
npx -y skills add 0xF4ng/aether-growth-fieldwork --skill content-review

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 29 days oldThe repository was created 29 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

27.7 KB, ~6.6k tokens by cl100k_base, as published. Nobody here has run it

Content Quality Review

Before starting

Confirm (ask or infer):

  • Content type — Part A (content piece: blog, email, landing page, social) or Part B (experiment spec)?
  • Destination platform — HN / LinkedIn / X / Email / Product Hunt / landing page? (determines platform format dimension)
  • Intended audience / ICP — if available, improves ICP alignment scoring; if not available, note in output
  • Brain context — is playbooks/messaging.md available? If yes, check approved messaging before scoring brand voice and differentiation
  • AI product — if yes, apply AI-specific banned phrases from pmm/DOMAIN.md in addition to standard list

Contract

This review guarantees:

  • Banned hype pattern scan runs before any scoring — patterns found trigger mandatory rewrite note
  • All 8 dimensions are scored (0.0–1.0) before verdict is rendered
  • APPROVE requires average ≥ 0.75 AND zero banned patterns
  • Specific fixes are provided for every dimension scoring < 0.7
  • Verdict logic is applied consistently using calibrated examples as anchors

Role: Quality Auditor. You score against the practitioner voice standard and a calibrated rubric. You do not give vague notes like "make it more compelling." You give specific fixes for every dimension that fails. You use calibrated examples to keep scores consistent across sessions.


Inputs

Required before proceeding:

  • The artifact to review: one of the following:
    • Part A (content): A piece of written content — blog post, landing page copy, email, ad copy, social post, or similar
    • Part B (experiment spec): A growth experiment specification — hypothesis, metric, channel, distribution plan
  • The intended audience or ICP context (if available — improves scoring accuracy for dimensions like Specificity and Relevance, but not required to proceed)

If no artifact is provided:

NEEDS_CONTEXT. Return:
"Please provide the artifact to review. This can be:
  - A piece of content (copy block, email, blog post, landing page text)
  - An experiment spec (hypothesis, metric, channel, timeline)
Paste the full text or share a link."

Banned hype patterns

Before scoring, scan for banned patterns. Any of these in non-quoted text triggers a mandatory rewrite note, regardless of other scores:

Banned phrase or patternReplacement direction
"game-changing"Describe the specific change it causes
"revolutionary" / "revolutionizing"Describe what is different now vs before
"unlock" (as verb for potential/capability)Use concrete: "enables", "lets you", "removes the need to"
"leverage" (as verb for taking advantage)Use: "use", "apply", "build on"
"empower"Describe the specific action enabled
"seamless"Describe what friction was removed
"cutting-edge" / "state of the art" (without benchmark)Add benchmark or remove claim
"robust" (vague)Describe the specific reliability property
"world-class" / "best-in-class"Add specific proof or remove
"innovative" / "transformative" / "paradigm"Describe the mechanism
"unprecedented"Describe why it is new, specifically
"excited to announce" and similar hollow enthusiasm openersStart with the news, not the emotion
"powerful AI"Describe the specific capability
"proprietary model" (without specifics)Describe what makes it different
"state of the art" (without benchmark)Add benchmark with date and methodology
"hallucination-free"Replace with accuracy metric with methodology
"easy to use" (without specifics)Describe what friction was removed
"transforming" / "reimagining" / "redefining"Describe the specific change
"just dropped" / "someone just built" (without specifics)Name the specific thing, who built it, and why it matters — vague hype opener
"insane" / "wild" / "absolutely insane" (as quality descriptors)Replace with the specific number, behavior, or outcome that is surprising
"everyone needs to see this" / "you need to know about this"State what the thing is and why it matters to this specific reader
"the future of [category]" (without evidence)Describe the specific mechanism or shift, not the future state
"things will never be the same"Describe what specifically changed and for whom
"I've never seen anything like this"Describe the specific capability or result that is unusual
"this is huge" (without context)Quantify or qualify what makes it significant
"don't sleep on this"State the specific consequence of ignoring it
"a must-have tool" / "must-know"Describe what specific job it does that alternatives do not
"no-brainer"Describe the specific trade-off that makes it easy to choose
"game changer for [audience]"Describe the mechanism of the change and what the audience gains
"next-level"Describe what the previous level was and what changed
"on steroids" (metaphor for capability amplification)Describe the specific amplification with a number or behavior

Rule: banned patterns found in a quote from a third party are fine. Banned patterns in the author's own voice fail.


Part A — Content piece scoring

Use for: blog posts, LinkedIn posts, HN posts, emails, landing page copy, case studies, social content.

Dimensions (score each 0.0–1.0)

Dimension 1 — ICP alignment (0.0–1.0)

Does this content speak directly to the target ICP's pain, context, and language?

ScoreDescription
0.9–1.0Names the specific ICP pain; uses their vocabulary; they would recognize this as written for them
0.7–0.8Clearly relevant to the ICP; slight mismatch in language or pain specificity
0.5–0.6Generally relevant to the category; could apply to many audiences
0.3–0.4Weak ICP signal; mostly product-centric, not customer-centric
0.0–0.2No ICP alignment; generic or wrong audience entirely

Dimension 2 — Funnel stage fit (0.0–1.0)

Does the content depth and CTA match the appropriate awareness/consideration/decision stage?

ScoreDescription
0.9–1.0Depth is right for the stage; CTA asks for appropriate commitment
0.7–0.8Mostly right; small mismatch (e.g. awareness content with hard CTA)
0.5–0.6Stage is ambiguous; content tries to do multiple stages
0.0–0.4Wrong stage entirely (e.g. decision content sent to cold audience)

Dimension 3 — CTA appropriateness (0.0–1.0)

Is the CTA approach correct for the content type and audience? Is the one next step honest about effort required?

ScoreDescription
0.9–1.0CTA matches channel norms; one clear next step; honest ("takes 5 minutes" not "instant")
0.7–0.8Mostly right; effort slightly misrepresented or secondary CTAs compete
0.5–0.6CTA present but approach mismatches the channel (e.g. explicit on HN, absent on campaign page)
0.0–0.4Wrong CTA approach for the audience; multiple conflicting CTAs; deceptive framing

CTA calibration by channel:

ChannelAppropriate CTAFlag
HN / Show HN postNone, or "questions welcome"Any conversion language — gets downvoted, damages credibility
GitHub READMELink to docs; "try it" with zero frictionPricing language, signup gate
Developer Discord / SlackSoft invitation to exploreUpgrade asks, pricing language
Technical blog / case studyLow-friction: "try for free," "read the docs"Demo request forms embedded in editorial body
LinkedIn (practitioner post)Explicit CTA acceptableMultiple competing CTAs in one post
Reddit (engineering subs)Soft: link to full articleFOMO language, "sign up now"
Campaign landing pageExplicit CTA requiredNo CTA, or CTA buried below multiple feature sections

Progressive CTA sequence when explicit CTA is appropriate: free/zero-commitment first → engagement/community second → high-commitment ask last. Never lead with the highest-commitment ask.

Dimension 4 — Platform format (0.0–1.0)

Does the content fit the native norms of the platform it's going to?

ScoreDescription
0.9–1.0Format is native: correct length, structure, hook for the platform
0.7–0.8Minor violations (e.g. LinkedIn post with excessive hashtags)
0.5–0.6Functional but feels cross-posted without adaptation
0.0–0.4Wrong format entirely (e.g. HN-formatted as a sales pitch)

Platform norms reference:

  • HN: factual title; no adjectives; technical first comment required before posting
  • LinkedIn: first line works as standalone; 150–300 words for thought leadership; no engagement bait
  • X/Twitter: thread tweet-1 readable alone; no emoji-only openers
  • Email: subject line is the primary asset; no "Sent with [tool]" footers for developer audiences

Platform format discipline

When the destination platform is known, apply the following additional checks on top of Dimension 4 scoring. These checks are mandatory — a platform format failure drops Dimension 4 by a minimum of 0.2 per failing check.

X/Twitter

CheckPassFail
Hook lands in first 8 wordsFirst 8 words carry a complete tension, fact, or claim — thread does not depend on context to make senseOpener requires setup before the point lands; reader must read further before deciding to engage
Opener names a specific pain or factNames a specific situation, number, outcome, or mechanismVague generalization ("In a world where...", "A lot of people think...")
Thread is not pure self-promotionThread contains a useful angle — how-to, observation, mechanism, lesson — that has value independent of the productThread is entirely about the product with no useful standalone content
No filler affirmationsNo "Here's why this matters" or "Thread 🧵" as a standalone openerThread starts with a meta-statement about the thread rather than the content

IF X thread opener fails hook check AND fails specific-pain check → BLOCK. Return:

"X/Twitter opener fails two platform format checks: hook does not land in first 8 words AND opener is vague.
Both failures together significantly reduce thread performance.
Required fix: rewrite first tweet to open with [specific pain or fact] in ≤8 words."

LinkedIn

CheckPassFail
Professional opener (not clickbait)Opens with a practitioner observation, question, or data pointOpens with manufactured curiosity ("You won't believe...", "I was shocked when...")
Opinion backed before sharedOpinion or recommendation is preceded by evidence or personal experienceOpinion stated as assertion without grounding
CTA is specific and low-frictionCTA names one specific action with a clear reason to take itCTA is vague ("check it out", "let me know what you think") or asks for too much commitment from a cold reader
No more than one CTA per postOne next stepMultiple competing asks in a single post

WARN if LinkedIn CTA is absent entirely. Professional practitioner posts can omit an explicit CTA, but if a CTA is present it must be specific.

Email

CheckPassFail
Subject line is specificSubject line promises a concrete thing (data point, how-to, announcement with specifics)Subject line is vague, teaser-only, or question-baiting without hinting at the answer
Preview text extends subjectPreview text adds new information — time context, a number, the key tensionPreview text repeats the subject line or begins with "View in browser" type boilerplate
First sentence earns the openFirst sentence delivers on the subject line's implied promiseFirst sentence is setup/context before the point ("As you know, the market has been...")

BLOCK if subject line is vague AND first sentence is setup. Both failures together = reader bails before the message lands.

Newsletter

CheckPassFail
Lead with insight or dataOpening paragraph contains a non-obvious insight, counter-intuitive finding, or specific data pointOpening paragraph is context-setting ("Let's talk about [category]...")
No 3-paragraph warm-upPoint lands within first 100 wordsThree or more paragraphs of setup before the core insight appears
Each section has a standalone takeawayReader can extract a specific, usable point from each sectionSection describes the topic without delivering a take

Dimension 5 — Accuracy and compliance (0.0–1.0)

Are all claims defensible? No ToS violations, legal exposure, or unverified statistics? All proof attributed to named, verifiable sources?

ScoreDescription
0.9–1.0All claims verified; no legal exposure; metrics have methodology; proof attributed to named sources
0.7–0.8One minor claim unverified; no compliance risk
0.5–0.6Metrics without methodology; one comparative claim unverified
0.0–0.4Banned hype pattern; unverified comparative claim; legal exposure; anonymous proof in customer story

Proof attribution rule (blocking for customer stories and case studies):

  • Required: named company + named role + specific metric = signal
  • Block: "a large enterprise customer," "teams have seen," "our users report" without specifics
  • Exception: NDA context — use role + measurable context ("the platform lead at a logistics company processing 400M events/day")

Dimension 6 — Brand voice (0.0–1.0)

Does the writing match the practitioner voice standard? (See pmm/DOMAIN.md.)

For AI-assisted drafts, authenticity is scored upstream by pmm/ai-slop-audit/SKILL.md — run it first. A draft that reads as AI (or contradicts the author's VOICE-PRINT.md) cannot pass this dimension; ai-slop-audit's verdict feeds directly into this score.

ScoreDescription
0.9–1.0Senior practitioner sharing a discovery; specific; honest about failure/limitation
0.7–0.8Mostly practitioner; occasional slip into marketing adjective
0.5–0.6Mixed — practitioner in some sections, marketing in others
0.3–0.4Mostly marketing voice
0.0–0.2Pure marketing — adjectives, hype, hollow enthusiasm

Dimension 7 — Differentiation (0.0–1.0)

Does this content say something specific to this product, or is it generic category content?

ScoreDescription
0.9–1.0Unmistakably about this product; competitor could not use the same content
0.7–0.8Strong product specificity; minor sections could be generic
0.5–0.6Category content with product name inserted
0.0–0.4Generic; any product in the category could publish this

Dimension 8 — Actionability (0.0–1.0)

Does the reader know what to do or learn next after consuming this?

ScoreDescription
0.9–1.0Reader leaves with a concrete next step or sharpened worldview
0.7–0.8Clear takeaway; next step slightly implicit
0.5–0.6Informative but passive; no action implied
0.0–0.4No takeaway; ends without pointing anywhere

Part B — Experiment spec scoring

Use for: growth experiment specs from /growth-experiment.

Dimensions (score each 0.0–1.0)

DimensionQuestion0.9+0.5–0.80.0–0.4
Hypothesis clarityIs the hypothesis falsifiable? Is success/failure observable?Single sentence; specific action; named metric + thresholdHypothesis present but metric is vague"Improve engagement" type — not falsifiable
Channel fitDo the channel's strengths match the tactic?Channel matches growth motion; native formatMinor mismatch; likely still worksWrong channel for motion or ICP
Metric alignmentDoes the success metric prove or disprove the hypothesis?Direct measurement of the hypothesisRelated metric but not the most directMetric does not connect to hypothesis
Effort vs priorityIs the effort estimate credible? Is this worth running now?Realistic estimate; high priority constraintMinor underestimateSignificant underestimate or low priority
Conversion flowIs the path from touch → intent clear? Is friction noted?Full path specified; known friction acknowledgedPath clear; friction not notedNo path specified
AttributionAre UTMs/events defined where needed?UTMs and events specifiedMentioned but not definedNo attribution plan
Resource feasibilityAre team, budget, tools, and approvals realistic?All dependencies identified; owners assignedMost dependencies clearKey dependency missing or owner unassigned
Compliance safetyNo spam, deception, or account-risk patterns?CleanMinor concern notedViolation detected

Calibrated examples

These anchors should be used to maintain score consistency across sessions.

Example 1 — APPROVE content (target avg ≥ 0.75)

Content: LinkedIn post (B2B technical product)

"We migrated [X] GB of order history from our legacy database to [Product] in a single weekend. No downtime. Here is the three-step dual-write strategy we used, and the one gotcha that nearly broke us at 2 AM."

DimensionScoreNotes
ICP alignment0.9Engineers who own database migrations; "2 AM gotcha" is visceral and specific
Funnel stage fit0.8Awareness/consideration; CTA is implicit (read the story) which is correct for LI
CTA clarity0.7No explicit CTA but the hook promises a payoff — acceptable for awareness content
Platform format0.9Native LinkedIn format; first line is a standalone hook
Accuracy & compliance0.9Specific numbers and timeframe are verifiable
Brand voice0.9Practitioner; specific; honest ("nearly broke us at 2 AM")
Differentiation0.7Dual-write is a known pattern; the "gotcha" is the differentiating hook
Actionability0.8Reader will read the post to get the strategy

Average: 0.83 → APPROVE. Note: push the gotcha detail into the hook if there's room.

Calibration note: substitute your product name and real migration metric. The score pattern holds for any honest, specific, practitioner-voiced technical migration story.


Example 2 — REVISE content (target avg 0.4–0.6)

Content: Blog post intro (any technical product)

"[Product] is a game-changing [category] that seamlessly scales your workload. In this post we explore its powerful features and why it might be the best solution for your needs."

DimensionScoreNotes
ICP alignment0.4No named pain, no persona signal, no trigger context
Funnel stage fit0.6Blog format is right; content depth is shallow
CTA clarity0.5"Explore" is vague; no clear next step
Platform format0.7Blog format is appropriate
Accuracy & compliance0.4"game-changing", "seamlessly", "best solution" — three banned hype patterns
Brand voice0.3Pure marketing voice; no practitioner signal
Differentiation0.3Generic category content; any competitor could publish the same paragraph
Actionability0.4Reader doesn't know what to do after reading

Average: 0.45 → REVISE. Top 3 fixes:

  1. Remove "game-changing", "seamlessly", "best solution" — replace with specific, verifiable claims
  2. Rewrite the first sentence to name a specific constraint and one concrete outcome
  3. Add an ICP signal: who is this for, with what pain, in what context

Example 3 — APPROVE experiment spec (target avg ≥ 0.75)

Spec: HN Show HN post for open-source infrastructure tool

"Hypothesis: If we post a Show HN on a weekday 9–11 AM EST leading with a specific migration pattern (dual-write), we will reach ≥200 upvotes and ≥30 GitHub stars within 48 hours, vs baseline of 80 upvotes for our last HN post."

"Success metric: ≥200 upvotes within 48h AND ≥30 GitHub stars within 48h"

"Distribution handoff: UTM on repo link (utm_source=hn); technical first comment drafted before posting."

DimensionScoreNotes
Hypothesis clarity0.9Falsifiable; metric numbered; baseline stated; time window clear
Channel fit0.9HN is the right surface for OSS infra tools
Metric alignment0.9Upvotes + stars directly measure reach and developer interest
Effort vs priority0.8Post itself is low effort; follow-up engagement in comments takes 2–3h
Conversion flow0.8HN post → repo → stars is clear
Attribution0.7UTM mentioned but not fully specified (which event tracks star click?)
Resource feasibility0.8Realistic; first comment needs drafting before posting
Compliance safety1.0Clean

Average: 0.85 → APPROVE. Fix before posting: specify the GitHub star tracking event; draft first comment.

Calibration note: substitute your product name, real baseline, and actual target thresholds. The score pattern applies to any well-specified OSS/developer-tool distribution experiment.


Verdict logic

Average score ≥ 0.75 AND no banned hype patterns → APPROVE
  "Ready to publish/run. [Optional: one improvement to consider]"

Average score 0.55–0.74 OR banned hype patterns present → REVISE
  Provide top 3 specific fixes.
  Re-review after fixes if score was borderline.

Average score < 0.55 OR fundamental structural problem → REJECT
  "Wrong channel, non-compliant, or metric/hypothesis disconnected from the
  experiment goal. Recommend rebuilding from scratch rather than patching."
  Explain the structural problem and the right approach.

Output format

## Content Quality Review

**Type:** [Content piece / Experiment spec]
**Title/Name:** [Title or experiment name]
**Destination:** [Channel or platform]
**Reviewer:** content-quality-review

### Banned patterns check
[None found / List each pattern found with location]

### Dimension scores
[Part A or Part B dimensions]
Dimension 1: [score] — [one line note]
Dimension 2: [score] — [one line note]
...
Average: [calculated average]

### Verdict: [APPROVE / REVISE / REJECT]

### Fixes required (if REVISE or REJECT)
1. [Most important fix — specific and actionable]
2. [Second fix — specific and actionable]
3. [Third fix — specific and actionable]

### Notes
[Anything that scored well; patterns to repeat]

Validation criteria

  • Banned patterns scan completed
  • All 8 dimensions scored
  • Average calculated
  • One of three verdicts applied
  • Specific fixes provided for dimensions scoring < 0.7
  • If destination platform is known: Platform format discipline checks applied and results included in Dimension 4 notes

Brain check (if connected)

If a companion aether-growth-brain repo is connected:

Before scoring:

  • Read playbooks/messaging.md — check if approved positioning messaging exists; score Brand voice and Differentiation dimensions against the approved messaging, not just against the content in isolation. Content that contradicts approved messaging should fail Differentiation even if it's internally coherent.
  • Read knowledge/icp-map.md — verify the content's claimed ICP matches the validated ICP; content targeting the wrong audience fails ICP alignment at 0.3 or below.

Brain not connected: proceed with content scoring; note that ICP alignment and Differentiation scores are based on the content's stated audience and claims.


Anti-patterns (reviewer anti-patterns)

Anti-patternWhy it failsFix
Giving 0.7 to a banned hype pattern without a rewrite noteThe pattern gets through even though it fails the banned listBanned pattern → mandatory rewrite note regardless of overall score
Averaging a 0.3 into an APPROVE verdictOne very bad dimension can drag the average down without triggering specific attentionFlag any dimension scoring < 0.5 as a priority fix even if the average passes
Vague fix notes ("make it more specific")Author doesn't know what to changeEvery fix must state: which sentence/element to change, and an example of what the replacement should look like
Applying B2C content standards to B2B technical audienceEmoji hooks, casual voice, and visual-first formats don't convert developersCheck ICP and platform together; developer content uses plain text and technical hooks
Treating Part A and Part B with identical criteriaAn experiment spec is not a blog post; metric alignment matters for specs, not for contentApply Part A criteria to content pieces and Part B criteria to experiment specs only
Scoring without calibrated examples as anchorsScores drift across sessions; APPROVE/REVISE threshold becomes inconsistentAlways reference the three calibrated examples before finalizing scores
Platform-agnostic review misses platform-specific quality standardsDimension 4 scores "format is appropriate" without checking platform-specific hook rules, opener quality, CTA type, or structural requirements — a LinkedIn post with a vague CTA and a manufacturing hook passes generic review but fails in the fieldWhen destination platform is known, run Platform format discipline checks before finalizing Dimension 4 score

Benchmarks (content performance, 2025–2026)

ChannelBenchmarkNotes
Email subject line open rate (developer tools, cold list)15–25%Warm list: 30–45%
Email CTA click rate (developer tools)3–8%Plain text outperforms HTML by 15–20%
LinkedIn thought leadership post engagement rate1–5%First 60 minutes engagement determines reach
HN Show HN — qualifying upvote threshold>20 upvotes to front pageRequires strong technical first comment
Blog post → trial signup conversion (SEO traffic)1–3%Technical depth is the primary driver
Landing page headline test: specific vs genericSpecific outperforms generic by 20–40%Field benchmark (developer tools context)
Content with banned hype pattern conversion penalty-15 to -30% vs equivalent non-hype copyTrust signal research, Nielsen 2025

Related skills

SkillWhen to use
pmm/positioning-review/SKILL.mdBefore reviewing content: positioning must be FINAL for Layer 3 copy
pmm/launch/SKILL.mdAfter APPROVE: launch workflow requires content-quality-review APPROVE before Phase 2
pmm/launch-readiness-review/SKILL.mdS2 check: this review's APPROVE verdict enables the launch readiness GO
growth/growth-experiment/SKILL.mdPart B scoring: experiment spec review
pmm/DOMAIN.mdPractitioner voice standard, AI-specific banned phrases, five story arcs

References & Sources

Tier 2 (operator templates — adapted, not authoritative):

  • b2b-practitioner-voice (growth-skills v1.0, score 9/10): practitioner voice standard, five story arcs, context-before-code rule
  • growth-quality-rubric (growth-skills v1.0, score 9/10): 0.0–1.0 scoring rubric, APPROVE/REVISE/REJECT framework, calibrated example structure
  • growth-publish-safety (growth-skills v1.0, score 6.5/10): banned hype pattern list

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,569. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.