Skip to content

Latest commit

 

History

History
107 lines (84 loc) · 5.73 KB

File metadata and controls

107 lines (84 loc) · 5.73 KB
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.

content-draft

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.

When to trigger

  • 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 matrix

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

Inputs

  • 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

Workflow

  1. Scope check. Confirm channel + audience + goal in one short reply if any are unclear. One question — don't interrogate.
  2. Read style guide. Always. style-guide.md.
  3. Read channel best practices (above matrix is the abridged version; full per-channel rules at the bottom of this SKILL.md).
  4. Draft v1. Apply the channel template. Lead with outcome. Use canonical vocabulary. Hit length window.
  5. 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.
  6. Run brand-voice lint (invoke the brand-voice skill on the output). Apply its corrections.
  7. 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
---
  1. Append to active tasks. Add a line to tasks/active.md.
  2. Surface to user. Show the draft inline + mention where it landed.

When to escalate

  • 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.

Per-channel detail

Blog

  • 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

LinkedIn

  • 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

X / Bluesky

  • 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

Email

  • 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

Landing

  • 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.

Announcement

  • 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

  • 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.