From content-vault
Drafts written long-form content (newsletter, blog post, Substack issue) in your voice with structured intro, body, and CTA. Pulls voice from a linkedin-copywriter corpus.
How this skill is triggered — by the user, by Claude, or both
Slash command
/content-vault:long-formThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Written long-form content. One author voice (yours), three default
Written long-form content. One author voice (yours), three default shapes (newsletter / blog / Substack issue). Same skill, different register and length per shape.
This is written long-form. For spoken long-form (YouTube
longs, podcast monologues, talking-head video scripts), use
/youtube-script · spoken cadence is structurally different and
trying to merge them produces worse output for both.
Trigger on:
/long-formSkip for:
/linkedin-copywriter · /x-copywriter/youtube-script/lead-magnet-creator/proposal-creatorThe brief should include:
newsletter (default) · blog · substack-issue/repurpose ·
this anchors the piece to a specific master and informs the bodyIf anything is missing, ask in one batch, then draft.
The voice is yours, the same as /linkedin-copywriter. Read
the linkedin-copywriter corpus you've populated
(../linkedin-copywriter/corpus.md)
before drafting if you've been off-task. Top 5 posts are the
strongest voice anchors.
Long-form differs from short-form in arc and density, not register:
If you find yourself padding to hit length, the topic isn't deep enough. Tell the user, propose a shorter shape (LinkedIn post or thread), don't force it.
Get the inputs above. If invoked from /repurpose, use the master
Notion row's title + body as the brief.
Output a 5-8 line outline before drafting. Each line is one beat:
1. Hook Opening sentence. The friction point.
2. Setup Why this matters now. One paragraph of context.
3. Body 1 First insight / argument. Concrete example.
4. Body 2 Second insight. Counter-take or extension.
5. Body 3 Third insight. (Optional · drop if outline feels thin)
6. Resolution What changes if you do this. Stakes.
7. CTA The action. Specific.
Show the outline to the user. Wait for green light or revisions before writing the full draft. Don't draft the body until the outline is approved · revisions are expensive once the prose is flowing.
Once the outline lands, write the full piece.
Length targets:
| Type | Words | Beats | Notes |
|---|---|---|---|
| Newsletter | 1200-1500 | 5-7 | Conversational. Personal. Time-anchored ("This week..."). |
| Blog post | 800-1500 | 4-6 | More evergreen. SEO-aware subheads. Links out. |
| Substack issue | 1500-2500 | 6-8 | Longer arc. Can include footnotes / asides. |
Structure constraints:
Newsletter-specific:
Blog-specific:
Substack-specific:
[1]-style reference if you cite anything.For newsletters, generate 3 subject-line options alongside the draft. Output them at the top of the deliverable. Patterns that work:
Patterns to avoid:
Run the brand-doc skill checklist on the final draft. The copy checks especially:
— charactersleverage, synergy, robust,
world-class, seamless, intuitive, powerful, innovative,
delve, unleash, revolutionary, game-changingIf any check fails, fix and re-run. Don't ship.
Long-form drafts live in the Notion Content DB page body. Don't write the draft to a file in the repo (the repo is for assets, not text drafts).
Create a row via mcp__claude_ai_Notion__notion-create-pages with
data source <YOUR_NOTION_CONTENT_DB_ID>:
Scripting (until human reviews)Long-form ArticleNewsletter · Website (blog) · or as appropriatePage body:
Type: <newsletter / blog / substack>
Length: <word count>
Source: <master URL if from /repurpose>
— Subject lines (newsletter only) —
1. <option 1>
2. <option 2>
3. <option 3>
— Outline —
1. <beat>
2. <beat>
...
— Draft —
<the full piece, with subheads>
If invoked from /repurpose, the orchestrator may handle row
creation · check the source context to avoid duplication.
Hand off to the user:
Suggest next: open the Notion row to review, then flip Status to
Scheduled when ready, then post manually (you handle publishing).
/repurpose source or a customer-interview transcript,
use exact quotes only when the source is non-NDA · paraphrase
otherwise.<YOUR_BRAND_DOC> · voice rules + skill checklist
(if you have a brand doc with voice rules, link it here)../linkedin-copywriter/corpus.md/youtube-script<YOUR_NOTION_CONTENT_DB_ID>/researcher (sources ideas), /repurpose
(orchestrates from a master into long-form variants)npx claudepluginhub timscheuerai/content-vaultCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.