PMM Content Writer
This skill exists because "write a blog post" too often returns a 250-word
outline with the headings filled in. That is not a blog post. The job here is
a finished, deep, specific piece a real editor would accept — drafted to a
budget, grounded in evidence, with every section developed.
If you are producing the content section of another deliverable (e.g. the blog
copy inside pmm-feature-announcement), apply this skill's budgets and rubric
to that section.
The bar (read this first)
You are writing the whole thing, not describing it. Concretely:
- Finished prose, not scaffolding. No
## Section headers left with a
sentence under them. No "this section would cover…". If you write a
placeholder, replace it with the real content before returning.
- Hit the budget. Every content type below has a word range and a structure
floor. Under-writing is a failure, not concision.
- One idea per section, fully developed. Each H2 advances a single point
through: claim → why it's true → a concrete example or data point →
implication for the reader. A section that's only a claim is not done.
- Specific beats generic, every time. Name the tool, the number, the
scenario, the role. "Teams struggle with onboarding" is filler;
"a PLG team watching 60% of signups never reach the aha moment" is content.
Length & depth budgets
Pick the row that matches the request. These are floors, not targets to dodge.
| Content type |
Words |
H2 sections |
Examples |
Data points |
Other floors |
| Blog post / article |
1,200–1,800 |
4–7 |
≥2 |
≥1 |
intro ≥120w; CTA |
| Pillar / ultimate guide |
2,200–3,500 |
6–10 |
≥4 |
≥3 |
TOC; ≥1 table or list per major section |
| Thought-leadership / POV |
1,100–1,600 |
3–5 |
≥2 |
≥2 |
one sharp thesis; a counter-argument addressed |
| Comparison / "vs" page |
1,000–1,600 |
criteria-led |
≥2 |
n/a |
≥1 comparison table; an honest "when to pick them" |
| Customer story / case study |
800–1,200 |
problem→solution→result |
≥1 quote |
≥2 metrics |
quantified outcome |
| Landing-page body |
600–1,000 |
benefit-led |
≥1 |
≥1 |
one CTA, repeated |
| Email (nurture/launch) |
120–250 |
n/a |
1 specific |
optional |
short by design — but every line earns its place |
| Social post |
platform norm |
n/a |
1 hook |
optional |
one idea, no thread-padding |
No section in a long-form piece may be under ~120 words. If a point can't
carry 120 words, fold it into a neighbor or cut it.
Workflow
- Lock the one idea and the angle. What is the single thing the reader
should believe or do after reading? Write it in one sentence. Everything
serves it. If the request is broad, narrow it — a deep piece on one angle
beats a shallow survey of five.
- Name the reader and their stage. Role, what they're trying to get done
(JTBD), and where they are (problem-aware vs solution-aware vs comparing).
The depth and assumptions change with the stage.
- Gather the evidence before drafting. Pull from product context,
provided data, real examples, and credible sources. If specifics are
missing, ask for them or use concretely plausible ones — never paper over a
gap with vague phrasing. List the 4–8 evidence pieces you'll deploy.
- Outline to the budget. Draft the H2s. Give each a one-line promise
(what the reader gains) and note which evidence piece it carries. Confirm the
count meets the budget's section floor.
- Draft section by section, to the floor. Write each section in full using
the section pattern below. Do not move on from a thin section.
- Write the intro and CTA last. The intro earns the read (problem →
stakes → specific promise). The CTA is one concrete next step, not "learn
more."
- Run the depth rubric. Expand anything that fails. Only then return.
Section pattern (use for every body H2)
- Claim — the point of this section, stated plainly.
- Why — the mechanism or reason it's true.
- Evidence — a concrete example, scenario, number, or quote. Always present.
- Implication — what it means for this reader, now.
Transitions carry a thread: end a section by setting up the next. The "so what?"
test applies to every paragraph — if a paragraph survives without changing what
the reader thinks or does, cut it.
Intro patterns
- Problem → stakes → promise: name the reader's real problem in their words,
show what it costs, then promise the specific payoff of reading on.
- Contrarian: state the common belief, then the sharper truth.
- Lead question: a question the reader is already asking, answered by the piece.
Never open with "In today's fast-paced world", "We're excited", or a dictionary
definition.
Depth rubric (self-check before returning)
Pass all of these. If any fail, expand — don't ship.
Worked example — shallow vs deep
Shallow (what to avoid):
Personalize onboarding
Personalizing onboarding helps users get value faster. Tailor the experience
to each user's role and needs for better activation.
That's 28 words, one unsupported claim, zero specifics. Not done.
Deep (the bar):
Personalize onboarding to the job, not the persona
Generic onboarding optimizes for the average user, who doesn't exist. A
5-step "welcome tour" that's right for an admin is noise for an end user who
just wants to send their first message — and noise is the fastest way to lose
someone in the first session, where most activation is won or lost.
The move is to branch on the job-to-be-done, not the persona label. When a
new user signs up, you usually know one high-signal thing: the action they
took to get here, or the plan they chose. Use it. A user who connected an
integration on signup should land in a flow about automating their first
workflow; a user who invited a teammate should land in one about shared
setup. Same product, two paths, each removing steps the other would have
wasted.
Concretely: define 2–4 entry intents, map each to the single next action that
reaches the aha moment fastest, and measure time-to-first-value per intent
rather than a blended average. Teams that do this routinely see first-session
activation move because they stopped asking everyone to walk the same hallway.
Same heading. ~190 words, a claim, a mechanism, a concrete scenario, a number,
and a clear implication. That's the difference the budget enforces.
Anti-patterns
- Returning an outline and calling it a draft.
- Padding word count with filler instead of evidence.
- Five shallow sections instead of three deep ones.
- Generic claims with no named example, number, or scenario.
- A vague "learn more" CTA.
- Hedging every sentence until the piece says nothing.
Hand off to
PMM OS is a chain, not a menu — don't dead-end at advice. Pass the work on:
Frameworks & deep references
Read and apply the deep frameworks below before you produce output — they carry the methodology, templates, and worked examples behind this skill (from the PMM OS framework library). Read the ones relevant to the request and apply them; don't paste them verbatim.
1---2name: pmm-content-writer3description: When the user wants a complete, deep piece of long-form content — a blog post, article, guide, pillar page, ebook chapter, thought-leadership/POV piece, comparison page, or customer story. Produces a finished, fully-drafted piece that hits an explicit word and depth budget, not an outline, summary, or 250-word stub. Also the depth standard other PMM OS content skills reference.4---56# PMM Content Writer78This skill exists because "write a blog post" too often returns a 250-word9outline with the headings filled in. That is not a blog post. **The job here is10a finished, deep, specific piece a real editor would accept** — drafted to a11budget, grounded in evidence, with every section developed.1213If you are producing the content section of another deliverable (e.g. the blog14copy inside `pmm-feature-announcement`), apply this skill's budgets and rubric15to that section.1617## The bar (read this first)1819You are writing the whole thing, not describing it. Concretely:2021- **Finished prose, not scaffolding.** No `## Section` headers left with a22 sentence under them. No "this section would cover…". If you write a23 placeholder, replace it with the real content before returning.24- **Hit the budget.** Every content type below has a word range and a structure25 floor. Under-writing is a failure, not concision.26- **One idea per section, fully developed.** Each H2 advances a single point27 through: claim → why it's true → a concrete example or data point →28 implication for the reader. A section that's only a claim is not done.29- **Specific beats generic, every time.** Name the tool, the number, the30 scenario, the role. "Teams struggle with onboarding" is filler;31 "a PLG team watching 60% of signups never reach the aha moment" is content.3233## Length & depth budgets3435Pick the row that matches the request. These are floors, not targets to dodge.3637| Content type | Words | H2 sections | Examples | Data points | Other floors |38| --- | --- | --- | --- | --- | --- |39| Blog post / article | 1,200–1,800 | 4–7 | ≥2 | ≥1 | intro ≥120w; CTA |40| Pillar / ultimate guide | 2,200–3,500 | 6–10 | ≥4 | ≥3 | TOC; ≥1 table or list per major section |41| Thought-leadership / POV | 1,100–1,600 | 3–5 | ≥2 | ≥2 | one sharp thesis; a counter-argument addressed |42| Comparison / "vs" page | 1,000–1,600 | criteria-led | ≥2 | n/a | ≥1 comparison table; an honest "when to pick them" |43| Customer story / case study | 800–1,200 | problem→solution→result | ≥1 quote | ≥2 metrics | quantified outcome |44| Landing-page body | 600–1,000 | benefit-led | ≥1 | ≥1 | one CTA, repeated |45| Email (nurture/launch) | 120–250 | n/a | 1 specific | optional | short *by design* — but every line earns its place |46| Social post | platform norm | n/a | 1 hook | optional | one idea, no thread-padding |4748**No section in a long-form piece may be under ~120 words.** If a point can't49carry 120 words, fold it into a neighbor or cut it.5051## Workflow52531. **Lock the one idea and the angle.** What is the single thing the reader54 should believe or do after reading? Write it in one sentence. Everything55 serves it. If the request is broad, narrow it — a deep piece on one angle56 beats a shallow survey of five.572. **Name the reader and their stage.** Role, what they're trying to get done58 (JTBD), and where they are (problem-aware vs solution-aware vs comparing).59 The depth and assumptions change with the stage.603. **Gather the evidence before drafting.** Pull from product context,61 provided data, real examples, and credible sources. **If specifics are62 missing, ask for them or use concretely plausible ones — never paper over a63 gap with vague phrasing.** List the 4–8 evidence pieces you'll deploy.644. **Outline to the budget.** Draft the H2s. Give each a one-line *promise*65 (what the reader gains) and note which evidence piece it carries. Confirm the66 count meets the budget's section floor.675. **Draft section by section, to the floor.** Write each section in full using68 the section pattern below. Do not move on from a thin section.696. **Write the intro and CTA last.** The intro earns the read (problem →70 stakes → specific promise). The CTA is one concrete next step, not "learn71 more."727. **Run the depth rubric.** Expand anything that fails. Only then return.7374## Section pattern (use for every body H2)7576- **Claim** — the point of this section, stated plainly.77- **Why** — the mechanism or reason it's true.78- **Evidence** — a concrete example, scenario, number, or quote. Always present.79- **Implication** — what it means for *this reader*, now.8081Transitions carry a thread: end a section by setting up the next. The "so what?"82test applies to every paragraph — if a paragraph survives without changing what83the reader thinks or does, cut it.8485## Intro patterns8687- **Problem → stakes → promise:** name the reader's real problem in their words,88 show what it costs, then promise the specific payoff of reading on.89- **Contrarian:** state the common belief, then the sharper truth.90- **Lead question:** a question the reader is already asking, answered by the piece.9192Never open with "In today's fast-paced world", "We're excited", or a dictionary93definition.9495## Depth rubric (self-check before returning)9697Pass all of these. If any fail, expand — don't ship.9899- [ ] Total word count is inside the budget range (not under).100- [ ] Section count meets the floor; **no section under ~120 words**.101- [ ] Every H2 develops one idea through claim → why → evidence → implication.102- [ ] Example and data-point floors are met, and they're *specific* (named).103- [ ] Intro earns the read; CTA is one concrete action.104- [ ] No filler phrases, no restated headings, no "this section covers".105- [ ] Voice and reading level are consistent throughout.106- [ ] A skeptical editor couldn't say "this is surface-level."107108## Worked example — shallow vs deep109110**Shallow (what to avoid):**111112> ## Personalize onboarding113> Personalizing onboarding helps users get value faster. Tailor the experience114> to each user's role and needs for better activation.115116That's 28 words, one unsupported claim, zero specifics. Not done.117118**Deep (the bar):**119120> ## Personalize onboarding to the job, not the persona121> Generic onboarding optimizes for the average user, who doesn't exist. A122> 5-step "welcome tour" that's right for an admin is noise for an end user who123> just wants to send their first message — and noise is the fastest way to lose124> someone in the first session, where most activation is won or lost.125>126> The move is to branch on the job-to-be-done, not the persona label. When a127> new user signs up, you usually know one high-signal thing: the action they128> took to get here, or the plan they chose. Use it. A user who connected an129> integration on signup should land in a flow about automating their first130> workflow; a user who invited a teammate should land in one about shared131> setup. Same product, two paths, each removing steps the other would have132> wasted.133>134> Concretely: define 2–4 entry intents, map each to the single next action that135> reaches the aha moment fastest, and measure time-to-first-value per intent136> rather than a blended average. Teams that do this routinely see first-session137> activation move because they stopped asking everyone to walk the same hallway.138139Same heading. ~190 words, a claim, a mechanism, a concrete scenario, a number,140and a clear implication. That's the difference the budget enforces.141142## Anti-patterns143144- Returning an outline and calling it a draft.145- Padding word count with filler instead of evidence.146- Five shallow sections instead of three deep ones.147- Generic claims with no named example, number, or scenario.148- A vague "learn more" CTA.149- Hedging every sentence until the piece says nothing.150151## Hand off to152153PMM OS is a chain, not a menu — don't dead-end at advice. Pass the work on:154155- [`osp-content-optimizer`](../osp-content-optimizer/SKILL.md) — tighten and optimize the draft156- [`pmm-aeo-geo`](../pmm-aeo-geo/SKILL.md) — make it citeable by AI engines157- [`pmm-artifact-factory`](../pmm-artifact-factory/SKILL.md) — publish and package it158- [`pmm-coach`](../pmm-coach/SKILL.md) — review before anything customer- or exec-facing.159160## Frameworks & deep references161162Read and apply the deep frameworks below before you produce output — they carry the methodology, templates, and worked examples behind this skill (from the PMM OS framework library). Read the ones relevant to the request and *apply* them; don't paste them verbatim.163164- [`messaging/storytelling-frameworks.md`](../product-marketing-os/references/library/messaging/references/advanced/storytelling-frameworks.md) — narrative frameworks for long-form165- [`messaging/04-message-architecture.md`](../product-marketing-os/references/library/messaging/references/core/04-message-architecture.md) — anchor the piece to the message house166