Voice Composer
Voice Composer (Build Your Brand → Composer) is a Leadership-tier agent that drafts brand content for you on a weekly schedule — grounded in your captured reading, reflections, and activity rather than generic LLM patterns. [Leadership+]
TL;DR — Toggle it on (or hit Run now) and it generates a batch of voice-matched drafts each week. Review, edit, and publish the ones you like — publishing pushes them onto your Pitches board.
What it produces
Every weekly fire generates a batch of drafts:
| Draft kind | Per weekly fire | Length | |---|---|---| | LinkedIn post | 3 | 120–220 words | | Essay opening | 1 | 250–400 words | | Conference talk outline | 1 | 4–6 sections, 250–350 words total | | Long-form opener | 1 (first weekly fire of each calendar month) | 400–700 words |
Drafts land in your Needs review inbox. Nothing publishes automatically.
How grounding works
The agent reads the following from your account every time it fires:
- Brand voice signature — the topics, stance, tone, and audience you saved in Build Your Brand → Voice.
- Reading items finished or updated in the last 30 days.
- Reading notes captured in the last 30 days.
- Daily activities in the last 30 days that include a content title or notes.
- Latest self-evaluation reflection.
- Last 10 pitches (so it doesn't repeat themes you've already covered).
Each draft includes a Drawn from badge listing the specific items it cited. If you don't recognize them in the draft itself, kill it — the moat is grounding, not volume.
The agent will refuse to run if your grounding is thin
You need at least:
- A completed Voice signature (Build Your Brand → Voice → Generate).
- Two reading items or notes captured in the last 30 days.
If those aren't there, the run is marked FAILED with a message explaining what to capture.
The four lifecycle actions
When you open a draft, you have four options:
- Publish — marks the draft published AND creates a card on your
/brand/pitcheskanban so it slots into your existing tracker. Optionally add the published URL. - Edit — modify the draft in place, then Save edit (shelves your edited version) or Publish (ships the edit). The edit distance from the original is recorded so the agent can learn what it's missing over time.
- Save for later — shelves the original draft without modification.
- Kill — discards. This is a strong negative signal; the (future) closed-loop tuner uses kill rate to down-weight voice topics that aren't landing.
Use the Status filter at the top of the inbox to switch between Needs review / Saved / Published / Edited / Killed / All.
Settings
The card at the top of /brand/composer controls:
- Enable / disable — when disabled, no weekly fires happen.
- Weekly schedule (UTC) — pick a day of week and hour. Default: Monday 14:00 UTC.
- Generate drafts now — manual fire. Rate-limited to 1 per 24 hours, so use it when you've just added a flurry of reading captures and want fresh drafts before the next weekly slot.
Run history
Below the inbox, the Run history section shows the last 25 runs with:
- Timestamp + trigger (Scheduled or Manual)
- Status (Completed / Failed / Running)
- AI model used and token spend
- Error message if the run failed (most commonly: missing API key, or insufficient grounding)
AI provider
The agent uses your AI provider key (Claude / Gemini / OpenAI), whichever you've set as your default in Settings → Profile. It does not spend platform credits. If your chosen provider's key is missing or invalid, the run lands as FAILED with the error message visible in Run history — fix the key under Settings → API Credentials and re-run.
Anti-template guardrails
The system prompt explicitly forbids common AI tells:
- LinkedIn-bait openers ("I learned this the hard way…")
- "It's not just X, it's Y" constructions
- "In today's fast-paced world…"
- Generic closers ("What do you think?")
- Em-dash overuse
- "Game-changer," "deep dive," "unlock," "leverage"
If a draft contains any of these, kill it and report it — the prompt is admin-tunable at /admin/settings → AI Prompts → voice-composer and we can tighten the rules.
Why the LinkedIn algorithm angle matters
LinkedIn's 2026 ranking model actively suppresses templated AI content. The only AI-assisted content that doesn't get throttled is content grounded in something the AI couldn't have invented — i.e., your own reading + reflection. That's the only kind of content this agent will produce. If you find yourself thinking "this could have been written without my reading captures," that's the agent failing its brief — flag it.
Pending follow-ups
- Closed-loop learning — the agent will, in a future release, use your publish-rate + edit-distance to re-rank voice topics and inject your highest-published drafts as few-shot examples. We need about 10 cycles of real data per user before this is worth turning on; until then, the agent uses the same prompt every week.