Discord Community Content Generator
Generate announcement post, discussion thread prompt, and rich embed message from content atoms.
Inputs
Received from the parent agent (repurpose-community):
| Input |
Description |
atoms |
Full list of content atoms with types and impact ratings |
main_argument |
One-sentence thesis of the source content |
target_audience |
Who benefits from this content |
primary_topic |
Category or niche |
voice_profile |
Detected or overridden brand voice |
brief_mode |
If true, produce announcement post only |
References
Load before generating:
references/platform-specs.md -- Discord specs, message limits, embed constraints
references/hook-formulas.md -- question hooks, contrarian openers, reaction prompts
references/voice-adaptation.md -- Discord tone rules (casual, peer, emoji-friendly)
Platform Rules
| Spec |
Value |
| Message limit |
2,000 characters per message |
| Embed title |
256 characters max |
| Embed description |
4,096 characters max |
| Embed fields |
Up to 25 fields |
| Embed color |
Hex code (mood-based) |
| Markdown |
Full support (bold, italic, code blocks, lists, headers via ##) |
| Threads |
Auto-create from any message, unlimited replies |
| Reactions |
Lightweight polls and engagement signals |
| Images |
Up to 10 per message, any aspect ratio |
| Best posting |
Weekdays 3-8 PM EST (after school/work hours) |
Core Principle
Discord is about CONVERSATION, not broadcasting. Every post should invite a specific response. Silent posts get buried by the scroll. Design every output for reply-generation -- ask questions, prompt reactions, spark debate. A post with zero replies is a failed post.
Output 1: Announcement Post
Write to discord/announcement.md.
Formatted message for a #general or #announcements channel. Must stay under 2,000 characters.
Announcement Structure
Bold headline (1 line)
- Lead with the strongest insight or most surprising atom
- Use
**bold** markdown for the opening line
- Keep it punchy: 8-15 words max
Body (2-3 short paragraphs)
- Expand on the headline with context from 2-3 atoms
- Short paragraphs (2-3 sentences each)
- Use line breaks between paragraphs for readability
- Contractions and casual language throughout
Bullet point takeaways (3-5 items)
- Pull the most actionable or surprising atoms
- Each bullet is one clear thought
- Use emoji bullets where natural (not forced)
Reaction prompt (final line)
- Drive engagement through reactions: "React with :fire: if you've experienced this"
- Or a direct question: "Drop your take below -- what's YOUR experience with this?"
- Never end without a clear engagement hook
Announcement Rules
- Total length under 2,000 characters (hard Discord limit)
- No walls of text -- Discord users skim aggressively
- At least one reaction prompt OR direct question
- Bold the most important phrase in each paragraph
Output 2: Discussion Thread Prompt
Write to discord/thread-prompt.md.
Message designed to start a thread. Opens conversation, not delivers a lecture.
Thread Prompt Structure
Opening hook (1-2 sentences)
- Use a contrarian take, surprising stat, or provocative question from the atoms
- Frame as your own observation or question, not a teaching moment
- "Okay so ngl, I just learned something that kinda broke my brain..."
Context (2-3 sentences)
- Provide just enough background for people to form an opinion
- Don't explain everything -- leave gaps that invite people to fill in
Specific invitation (1-2 sentences)
- NOT "What do you think?" (too generic, gets ignored)
- Instead: "Drop your take below -- have y'all run into this?"
- Or: "Genuinely curious -- does this match your experience or am I way off?"
- Frame it so members share personal experience, not just agreement
Thread Prompt Rules
- Under 1,000 characters (shorter = more replies)
- Must contain at least one direct question
- Designed for ongoing conversation, not one-and-done reactions
- Leave room for disagreement -- don't present a settled conclusion
Output 3: Embed Message
Write to discord/embed.md.
Rich embed format for bot-posted or webhook content.
Embed Structure
Title (256 chars max)
- Bold insight or key finding from the strongest atom
- Concise and curiosity-driving
Description (under 4,096 chars)
- Expanded context around the title insight
- 2-3 short paragraphs with Discord markdown formatting
- Include the "so what" -- why this matters to the community
Color (hex code)
- Match the content mood:
#FF6B6B -- urgent, warning, contrarian
#4ECDC4 -- tips, how-to, educational
#FFE66D -- insight, discovery, new finding
#95E1D3 -- community, discussion, collaborative
#A8E6CF -- success, case study, positive result
Fields (3-5 key takeaways)
- Each field has a
name (bold label) and value (brief explanation)
- One atom per field
- Keep field values under 100 characters for clean formatting
- Use
inline: true for side-by-side fields where appropriate
Footer
- Source attribution: "Source: [original content title or URL]"
- Timestamp if relevant
Embed Format Template
**Embed Title:** [insight or finding]
**Color:** #[hex]
**Description:**
[2-3 paragraphs of context]
**Fields:**
- **[Takeaway 1 Label]:** [brief value]
- **[Takeaway 2 Label]:** [brief value]
- **[Takeaway 3 Label]:** [brief value]
**Footer:** Source: [attribution]
Tone Rules
| Do |
Do NOT |
| Use "y'all", "ngl", "tbh", contractions |
Use formal language or corporate speak |
| Include emoji naturally (not excessively) |
Force emoji into every sentence |
| Write like a peer sharing something cool |
Write like a brand broadcasting content |
| Ask specific questions that invite replies |
Use generic "Thoughts?" or "Agree?" |
| Use Discord markdown (bold, code blocks) |
Write plain unformatted text walls |
| Reference community inside jokes if known |
Assume knowledge of the community culture |
| Keep paragraphs short (2-3 sentences max) |
Write essay-length paragraphs |
| Use reaction prompts for quick engagement |
Ignore engagement hooks entirely |
Output Format
# Discord Announcement: [Topic]
[Full message text]
---
**Channel suggestion:** #[recommended channel type]
**Best posting time:** Weekdays 3-8 PM EST
**Engagement strategy:** [reaction prompt, thread follow-up plan]
**Character count:** [count]/2000
Brief Mode
If --brief is active, produce only:
- 1 announcement post (most versatile format)
- Skip thread prompt and embed
Error Handling
| Condition |
Action |
| Fewer than 3 atoms |
Write shorter announcement (under 1,000 chars); skip thread and embed |
No contrarian or question atoms |
Use insight + howto atoms; frame announcement as a tip share |
brief_mode is true |
Generate announcement only; skip thread prompt and embed |
| Content too formal for Discord tone |
Rewrite with casual language, contractions, and peer framing |
| Promotional content detected |
Reframe as community value -- "found this useful, thought y'all might too" |
1---2name: repurpose-discord3description: Generates Discord community content from content atoms: announcement posts for channels, discussion thread prompts designed for reply-generation, and rich embed messages with structured fields. Enforces casual peer tone, reaction prompts, and conversation-first design. Sub-skill of the Content Repurposing Engine. Use when user says "discord", "discord post", "discord announcement", "discord thread", or "repurpose for discord".4license: MIT5---67# Discord Community Content Generator89Generate announcement post, discussion thread prompt, and rich embed message from content atoms.1011## Inputs1213Received from the parent agent (`repurpose-community`):1415| Input | Description |16|-------|-------------|17| `atoms` | Full list of content atoms with types and impact ratings |18| `main_argument` | One-sentence thesis of the source content |19| `target_audience` | Who benefits from this content |20| `primary_topic` | Category or niche |21| `voice_profile` | Detected or overridden brand voice |22| `brief_mode` | If true, produce announcement post only |2324## References2526Load before generating:2728- `references/platform-specs.md` -- Discord specs, message limits, embed constraints29- `references/hook-formulas.md` -- question hooks, contrarian openers, reaction prompts30- `references/voice-adaptation.md` -- Discord tone rules (casual, peer, emoji-friendly)3132## Platform Rules3334| Spec | Value |35|------|-------|36| Message limit | 2,000 characters per message |37| Embed title | 256 characters max |38| Embed description | 4,096 characters max |39| Embed fields | Up to 25 fields |40| Embed color | Hex code (mood-based) |41| Markdown | Full support (bold, italic, code blocks, lists, headers via ##) |42| Threads | Auto-create from any message, unlimited replies |43| Reactions | Lightweight polls and engagement signals |44| Images | Up to 10 per message, any aspect ratio |45| Best posting | Weekdays 3-8 PM EST (after school/work hours) |4647## Core Principle4849Discord is about **CONVERSATION**, not broadcasting. Every post should invite a specific response. Silent posts get buried by the scroll. Design every output for reply-generation -- ask questions, prompt reactions, spark debate. A post with zero replies is a failed post.5051## Output 1: Announcement Post5253Write to `discord/announcement.md`.5455Formatted message for a #general or #announcements channel. Must stay under 2,000 characters.5657### Announcement Structure58591. **Bold headline** (1 line)60 - Lead with the strongest insight or most surprising atom61 - Use `**bold**` markdown for the opening line62 - Keep it punchy: 8-15 words max63642. **Body** (2-3 short paragraphs)65 - Expand on the headline with context from 2-3 atoms66 - Short paragraphs (2-3 sentences each)67 - Use line breaks between paragraphs for readability68 - Contractions and casual language throughout69703. **Bullet point takeaways** (3-5 items)71 - Pull the most actionable or surprising atoms72 - Each bullet is one clear thought73 - Use emoji bullets where natural (not forced)74754. **Reaction prompt** (final line)76 - Drive engagement through reactions: "React with :fire: if you've experienced this"77 - Or a direct question: "Drop your take below -- what's YOUR experience with this?"78 - Never end without a clear engagement hook7980### Announcement Rules81- Total length under 2,000 characters (hard Discord limit)82- No walls of text -- Discord users skim aggressively83- At least one reaction prompt OR direct question84- Bold the most important phrase in each paragraph8586## Output 2: Discussion Thread Prompt8788Write to `discord/thread-prompt.md`.8990Message designed to start a thread. Opens conversation, not delivers a lecture.9192### Thread Prompt Structure93941. **Opening hook** (1-2 sentences)95 - Use a contrarian take, surprising stat, or provocative question from the atoms96 - Frame as your own observation or question, not a teaching moment97 - "Okay so ngl, I just learned something that kinda broke my brain..."98992. **Context** (2-3 sentences)100 - Provide just enough background for people to form an opinion101 - Don't explain everything -- leave gaps that invite people to fill in1021033. **Specific invitation** (1-2 sentences)104 - NOT "What do you think?" (too generic, gets ignored)105 - Instead: "Drop your take below -- have y'all run into this?"106 - Or: "Genuinely curious -- does this match your experience or am I way off?"107 - Frame it so members share personal experience, not just agreement108109### Thread Prompt Rules110- Under 1,000 characters (shorter = more replies)111- Must contain at least one direct question112- Designed for ongoing conversation, not one-and-done reactions113- Leave room for disagreement -- don't present a settled conclusion114115## Output 3: Embed Message116117Write to `discord/embed.md`.118119Rich embed format for bot-posted or webhook content.120121### Embed Structure1221231. **Title** (256 chars max)124 - Bold insight or key finding from the strongest atom125 - Concise and curiosity-driving1261272. **Description** (under 4,096 chars)128 - Expanded context around the title insight129 - 2-3 short paragraphs with Discord markdown formatting130 - Include the "so what" -- why this matters to the community1311323. **Color** (hex code)133 - Match the content mood:134 - `#FF6B6B` -- urgent, warning, contrarian135 - `#4ECDC4` -- tips, how-to, educational136 - `#FFE66D` -- insight, discovery, new finding137 - `#95E1D3` -- community, discussion, collaborative138 - `#A8E6CF` -- success, case study, positive result1391404. **Fields** (3-5 key takeaways)141 - Each field has a `name` (bold label) and `value` (brief explanation)142 - One atom per field143 - Keep field values under 100 characters for clean formatting144 - Use `inline: true` for side-by-side fields where appropriate1451465. **Footer**147 - Source attribution: "Source: [original content title or URL]"148 - Timestamp if relevant149150### Embed Format Template151152```markdown153**Embed Title:** [insight or finding]154**Color:** #[hex]155156**Description:**157[2-3 paragraphs of context]158159**Fields:**160- **[Takeaway 1 Label]:** [brief value]161- **[Takeaway 2 Label]:** [brief value]162- **[Takeaway 3 Label]:** [brief value]163164**Footer:** Source: [attribution]165```166167## Tone Rules168169| Do | Do NOT |170|----|--------|171| Use "y'all", "ngl", "tbh", contractions | Use formal language or corporate speak |172| Include emoji naturally (not excessively) | Force emoji into every sentence |173| Write like a peer sharing something cool | Write like a brand broadcasting content |174| Ask specific questions that invite replies | Use generic "Thoughts?" or "Agree?" |175| Use Discord markdown (bold, code blocks) | Write plain unformatted text walls |176| Reference community inside jokes if known | Assume knowledge of the community culture |177| Keep paragraphs short (2-3 sentences max) | Write essay-length paragraphs |178| Use reaction prompts for quick engagement | Ignore engagement hooks entirely |179180## Output Format181182```markdown183# Discord Announcement: [Topic]184185[Full message text]186187---188**Channel suggestion:** #[recommended channel type]189**Best posting time:** Weekdays 3-8 PM EST190**Engagement strategy:** [reaction prompt, thread follow-up plan]191**Character count:** [count]/2000192```193194## Brief Mode195196If `--brief` is active, produce only:197- 1 announcement post (most versatile format)198- Skip thread prompt and embed199200## Error Handling201202| Condition | Action |203|-----------|--------|204| Fewer than 3 atoms | Write shorter announcement (under 1,000 chars); skip thread and embed |205| No `contrarian` or `question` atoms | Use `insight` + `howto` atoms; frame announcement as a tip share |206| `brief_mode` is true | Generate announcement only; skip thread prompt and embed |207| Content too formal for Discord tone | Rewrite with casual language, contractions, and peer framing |208| Promotional content detected | Reframe as community value -- "found this useful, thought y'all might too" |