/content-gen
Generate a promotion content pack from a project's PRD or README. Produces 3 ready-to-use content pieces: LinkedIn post, Reddit answer draft, and Twitter/X thread. For video scripts, use /video-promo.
MCP Tools (use if available)
kb_search(query) — find related methodology and principles
project_info(name) — get project details, stack, description
project_code_search(query, project) — find key features in codebase
If MCP tools are not available, fall back to Glob + Grep + Read.
Steps
Parse project from $ARGUMENTS.
- If project name: find PRD at
docs/prd.md, or README.md, or CLAUDE.md.
- If path: read directly.
- If empty: ask via AskUserQuestion — "Which project to generate content for?"
Extract core messaging from PRD/README (parallel reads):
- Problem: What pain does this solve? (1 sentence)
- Solution: What does the product do? (1 sentence)
- ICP: Who is the target user? (persona)
- Key features: Top 3-5 differentiating features
- Unique angle: What nobody else does (gap from research.md if exists)
- Social proof: Any metrics, users, downloads (if available)
Forced reasoning — messaging framework:
Before generating content, write out:
- Hook: What stops the scroll? (pain point or surprising stat)
- Proof: Why should they believe you? (demo, numbers, authority)
- CTA: What's the one action? (try, sign up, download)
- Tone: Based on ICP — casual/professional/technical/friendly
Generate content pieces:
4a. LinkedIn Post
Format: Hook line → Story (before/after) → Insight → CTA
- 1300-1500 chars max
- First line is the hook (visible before "see more")
- Use line breaks for readability
- End with question to drive engagement
4b. Reddit Answer Draft
Format: Helpful answer that naturally mentions the product
- NOT promotional — value-first, product mention is secondary
- Suggest 3-5 subreddits where this would be relevant
- Write as if answering someone's genuine question
- Include "disclaimer: I built this" transparency
4c. Twitter/X Thread (5-7 tweets)
Format: Hook tweet → Problem → Solution → Demo → Social proof → CTA
- Each tweet: 240-280 chars max
- Tweet 1: standalone hook (works without thread)
- Last tweet: CTA with link
- Include emoji sparingly (1-2 per tweet max)
Write content pack to docs/content-pack.md:
# Content Pack: {Project Name}
**Generated:** {YYYY-MM-DD}
**ICP:** {target persona}
**Core message:** {one-line value prop}
## Messaging Framework
- **Hook:** {hook}
- **Proof:** {proof}
- **CTA:** {cta}
---
## 1. LinkedIn Post
{ready to copy-paste}
## 2. Reddit Draft
**Target subreddits:** r/..., r/..., r/...
{answer draft}
## 3. Twitter/X Thread
{numbered tweets}
> For video script, run `/video-promo {project}`.
---
*Generated by /content-gen. Edit before publishing.*
Output summary — print core message + list of generated content pieces.
Notes
- All content is draft — always review before publishing
- Reddit draft should feel genuinely helpful, not promotional
- For video scripts, use
/video-promo (owns video generation entirely)
- Rerun after major product updates to refresh messaging
- Works best with detailed PRD — falls back to README if no PRD
Common Issues
No PRD found
Cause: Project doesn't have docs/prd.md or README.
Fix: Provide a project path with PRD, or run /validate first to generate one.
Content too generic
Cause: PRD lacks specific differentiators or ICP details.
Fix: Ensure PRD has detailed problem statement, ICP persona, and unique angle. Add research.md for competitive context.
Wrong tone for audience
Cause: ICP not clearly defined in PRD.
Fix: Specify the target audience in PRD. LinkedIn = professional, Reddit = casual/technical, Twitter = punchy/conversational.
1---2name: solo-content-gen3description: Generate social media content pack from PRD — LinkedIn post, Reddit answer draft, and Twitter/X thread. Use when user says "create content", "write LinkedIn post", "social media pack", "marketing copy", or "promotion content". Do NOT use for community thread responses (use /community-outreach) or video scripts (use /video-promo).4license: MIT5---6
7# /content-gen
8
9Generate a promotion content pack from a project's PRD or README. Produces 3 ready-to-use content pieces: LinkedIn post, Reddit answer draft, and Twitter/X thread. For video scripts, use `/video-promo`.
10
11## MCP Tools (use if available)
12
13- `kb_search(query)` — find related methodology and principles
14- `project_info(name)` — get project details, stack, description
15- `project_code_search(query, project)` — find key features in codebase
16
17If MCP tools are not available, fall back to Glob + Grep + Read.
18
19## Steps
20
211. **Parse project** from `$ARGUMENTS`.
22 - If project name: find PRD at `docs/prd.md`, or README.md, or CLAUDE.md.
23 - If path: read directly.
24 - If empty: ask via AskUserQuestion — "Which project to generate content for?"
25
262. **Extract core messaging** from PRD/README (parallel reads):
27 - **Problem:** What pain does this solve? (1 sentence)
28 - **Solution:** What does the product do? (1 sentence)
29 - **ICP:** Who is the target user? (persona)
30 - **Key features:** Top 3-5 differentiating features
31 - **Unique angle:** What nobody else does (gap from research.md if exists)
32 - **Social proof:** Any metrics, users, downloads (if available)
33
343. **Forced reasoning — messaging framework:**
35 Before generating content, write out:
36 - **Hook:** What stops the scroll? (pain point or surprising stat)
37 - **Proof:** Why should they believe you? (demo, numbers, authority)
38 - **CTA:** What's the one action? (try, sign up, download)
39 - **Tone:** Based on ICP — casual/professional/technical/friendly
40
414. **Generate content pieces:**
42
43 ### 4a. LinkedIn Post
44 Format: Hook line → Story (before/after) → Insight → CTA
45 - 1300-1500 chars max
46 - First line is the hook (visible before "see more")
47 - Use line breaks for readability
48 - End with question to drive engagement
49
50 ### 4b. Reddit Answer Draft
51 Format: Helpful answer that naturally mentions the product
52 - NOT promotional — value-first, product mention is secondary
53 - Suggest 3-5 subreddits where this would be relevant
54 - Write as if answering someone's genuine question
55 - Include "disclaimer: I built this" transparency
56
57 ### 4c. Twitter/X Thread (5-7 tweets)
58 Format: Hook tweet → Problem → Solution → Demo → Social proof → CTA
59 - Each tweet: 240-280 chars max
60 - Tweet 1: standalone hook (works without thread)
61 - Last tweet: CTA with link
62 - Include emoji sparingly (1-2 per tweet max)
63
645. **Write content pack** to `docs/content-pack.md`:
65
66 ```markdown
67 # Content Pack: {Project Name}
68
69 **Generated:** {YYYY-MM-DD}
70 **ICP:** {target persona}
71 **Core message:** {one-line value prop}
72
73 ## Messaging Framework
74 - **Hook:** {hook}
75 - **Proof:** {proof}
76 - **CTA:** {cta}
77
78 ---
79
80 ## 1. LinkedIn Post
81 {ready to copy-paste}
82
83 ## 2. Reddit Draft
84 **Target subreddits:** r/..., r/..., r/...
85 {answer draft}
86
87 ## 3. Twitter/X Thread
88 {numbered tweets}
89
90 > For video script, run `/video-promo {project}`.
91
92 ---
93 *Generated by /content-gen. Edit before publishing.*
94 ```
95
966. **Output summary** — print core message + list of generated content pieces.
97
98## Notes
99
100- All content is draft — always review before publishing
101- Reddit draft should feel genuinely helpful, not promotional
102- For video scripts, use `/video-promo` (owns video generation entirely)
103- Rerun after major product updates to refresh messaging
104- Works best with detailed PRD — falls back to README if no PRD
105
106## Common Issues
107
108### No PRD found
109**Cause:** Project doesn't have `docs/prd.md` or README.
110**Fix:** Provide a project path with PRD, or run `/validate` first to generate one.
111
112### Content too generic
113**Cause:** PRD lacks specific differentiators or ICP details.
114**Fix:** Ensure PRD has detailed problem statement, ICP persona, and unique angle. Add `research.md` for competitive context.
115
116### Wrong tone for audience
117**Cause:** ICP not clearly defined in PRD.
118**Fix:** Specify the target audience in PRD. LinkedIn = professional, Reddit = casual/technical, Twitter = punchy/conversational.