| name |
content-draft |
| description |
Channel-aware content drafting. Drafts blog posts, LinkedIn posts, X/Bluesky posts, marketing emails, landing-page copy, and announcement posts with channel-specific best practices applied automatically. Use when the user asks to "draft a blog post about X", "write a LinkedIn post on Y", "draft an email for the launch of Z", or any "write me a {channel} {format} about {topic}" request. |
Inspired by anthropics/marketing/content-creation. Channel-aware drafting that bakes in best practices per surface, so the output reads native to where it's going.
- Direct request: "draft a {format} about {topic}"
- Implicit: user mentions launching/announcing/posting and asks for copy
- Routed from
/marketer umbrella when the request is content production
| Channel |
Format defaults |
Length |
Voice register |
| Blog |
Long-form, H2 sections, lead with outcome, 1 quote/data point per section |
800–1500 words |
Direct, expansive, named workflows |
| LinkedIn |
Hook in line 1, line breaks, 1 idea per post, optional CTA |
200–400 words |
Confident, named stakes, narrative arc |
| X / Bluesky |
Single tweet ≤ 250 chars OR threaded (3–7 tweets); each tweet stands alone |
per-tweet ≤ 250 |
Punchy, specific, no padding |
| Email |
Subject ≤ 50 chars, preheader ≤ 90 chars, body 150–300 words, single CTA |
150–300 body |
Direct, second-person, one ask |
| Landing |
Hero (headline + subhead + CTA), 3 proof sections, social proof, FAQ |
n/a (structured) |
Outcome-led, scannable |
| Announcement |
Lead with what changed, why-now in 2 sentences, what to do |
100–200 words |
Direct, no fluff |
- Topic — what to write about (always required)
- Channel — blog / linkedin / x / bluesky / email / landing / announcement (infer from request if user didn't say)
- Audience — executive / technical / end-user (defaults to executive)
- Goal — awareness / consideration / activation / retention / advocacy
- Constraints — length, deadline, tied to a specific launch, must-include claims, must-avoid topics
- Reference material — links to product docs, customer quotes, prior posts, raw notes
- Scope check. Confirm channel + audience + goal in one short reply if any are unclear. One question — don't interrogate.
- Read style guide. Always.
style-guide.md.
- Read channel best practices (above matrix is the abridged version; full per-channel rules at the bottom of this SKILL.md).
- Draft v1. Apply the channel template. Lead with outcome. Use canonical vocabulary. Hit length window.
- Self-edit pass. Cut filler. Replace abstractions with concrete examples. Tighten the lead. Make sure every claim has a measurable proof point or a Fidelity Score caveat.
- Run brand-voice lint (invoke the
brand-voice skill on the output). Apply its corrections.
- Write to drafts.
assets/drafts/{YYYY-MM-DD}-{channel}-{slug}.md with frontmatter:
---
channel: linkedin | blog | x | email | landing | announcement
audience: executive | technical | end-user
goal: awareness | consideration | activation | retention | advocacy
status: draft
created: {ISO}
created_by: content-draft
brand-voice-lint: passed | passed-with-fixes
---
- Append to active tasks. Add a line to
tasks/active.md.
- Surface to user. Show the draft inline + mention where it landed.
- Major positioning claim that's not in the style guide → flag, propose 2–3 variants, don't ship without
#marketer-approve.
- Customer-named-in-copy (case study, testimonial, partner mention) → push to
#marketer-approve regardless of length.
- H2 sections every 200-300 words; H3 sparingly
- 1 specific data point or quote per H2 section minimum
- Closing section: what to do next (specific, not generic)
- Internal links to product docs (
modules/amaro-docs/) where claims are technical
- Image suggestions in
[image: ...] brackets — actual image production is separate
- Line 1 is the hook. Test: would you keep scrolling? If yes, rewrite.
- Hard line breaks every 1–2 sentences for scannability
- Avoid hashtag spam; 0–3 specific tags max
- Optional CTA at end: comment, share, or click — pick one, not all
- Single tweet preferred when possible
- Threads: tweet 1 is the hook + the payoff (don't tease without paying off in tweet 2)
- Each tweet should stand alone enough to be quoted in isolation
- No thread emoji unless thread is 5+ tweets
- Subject lines: specific over clever. "Three integrations shipped this month" beats "Big news from Amaro"
- Body: lead, body, single CTA. No "P.S." gimmicks.
- Pre-header is a real sentence, not a tagline
- Output as a structured brief, not raw HTML. Sections: Hero / Outcome / 3 proof points / Social proof / FAQ / CTA.
- Headline variants: produce 3, mark recommended.
- This skill's output is the brief; actual page implementation goes through
landing-page-brief (Tier 2) which spins a github-ops ticket.
- 100–200 words. No exceptions.
- Sentence 1: what changed.
- Sentence 2: why-now (one clause).
- Sentence 3-N: what to do (link, action, when it lands).
- Don't fabricate data points or customer quotes. If a claim needs a number, ask the user for the source or mark it
[citation needed].
- Don't write the same draft for two channels and call it repurposing. That's
content-repurpose's job.
- Don't push to outbox automatically. Drafts land in
assets/drafts/; promotion to outbox is a deliberate step.