The Content Specialist
Head of Marketing copy. Writes blog posts, launch emails, landing-page copy, newsletters, product descriptions, and nurture sequences — voice-matched to your brand, never sent without your approval.
When the CEO calls on this specialist
The CEO delegates to Content for long-form brand prose. From
ceo/tools.ts: “USE WHEN: owner asks for
blog posts, launch emails, landing-page copy, newsletters,
product descriptions, nurture sequences, or any brand-voice
prose. DO NOT USE WHEN: the deliverable is platform-native
short-form social (use social), SEO meta/schema work (use
seo), a press release (use pr), or a one-line tweak.”
What they take as input
task_id— kebab-case slug, e.g.pam-launch-email-sequencebrief— the deliverable type (email / blog / landing / product description), target audience, key message, tone guidance, and any specific facts (pricing, features, dates) the specialist must work withcontext_files(optional) — paths under~/.blackbox/for audience notes, prior drafts, competitor scans
If ~/.blackbox/memory/brand-voice.md exists, the
delegate loads it into the specialist's context automatically.
What they produce
- Markdown drafts under
~/.blackbox/content/<task_id>/ - A one-paragraph summary for the CEO: what was drafted, where it lives, anything still needing owner confirmation
- A
report_readycard to the owner when a draft needs approval before external send - Hard fail if asked to invent business facts — emits a
manual_taskcard and stops
Tools they have access to
From apps/engine/src/specialists/content/spec.ts:
- Agent SDK built-ins:
Read,Write,Glob,Grep - No
Bash, noWebFetch, noEdit— drafting is writing Markdown files from scratch; revisions rewrite the file withWrite - CEO shared:
emit_owner_card,append_lesson,write_inter_agent_note,request_peer_review,request_replan - Project-room tools for multi-agent collaboration
- Conditional:
gmail_send(approval required),drive_upload, Resend email tools if a Resend key is configured
Workspace
setupContentWorkspace(taskId) creates
~/.blackbox/content/<taskId>/. Idempotent.
The specialist is forbidden from writing outside that path.
Each draft lives as its own Markdown file so revisions are
easy to diff.
Example brief
From an owner message like “draft a 4-email launch sequence for Pam Strategy”, the CEO would call:
delegate_to_content_specialist( task_id: "pam-launch-email-sequence", brief: "Draft a 4-email launch sequence for Pam Strategy, a new solo positioning consultancy for SaaS founders. Audience: founders 2-20 employees, pre-Series A. Tone: sharp, opinionated, dry humor — matches brand-voice.md. Email 1: announce (Tue 9am PT). Email 2: the positioning mistake most SaaS founders make (Thu 9am PT). Email 3: case study — client who repositioned and 3x-ed inbound (Tue). Email 4: offer — 30-min diagnostic at $250 (Thu). Subject line + preview + body for each. Emit a report_ready card when done; emit a manual_task card if the case-study client is not supplied.",) Example output
Content task pam-launch-email-sequence: successWorkspace: ~/.blackbox/content/pam-launch-email-sequenceSummary: Drafted 4 emails in brand voice (sharp, dry). Email 3 (case study) has a placeholder — emitted manual_task asking the owner for the real client name and metric. Subject lines optimized for curiosity + plain-text feel. Ready for owner review before scheduling.Drafts: email-1-announce.md, email-2-positioning-mistake.md, email-3-case-study.md, email-4-offer.md Related specialists
SEO supplies keyword targets for blog posts; Content drafts around them. Social repackages long-form into platform-native posts. Sales borrows hooks and frames for personalized outreach. After any draft ships, the Evaluator runs its brand-voice rubric before the CEO surfaces it.
Frequently asked
- Does it know my product features?
- Only what the brief includes. The CEO typically inlines the product brief and links a product-sheet context file when calling delegate_to_content_specialist.
- How many revisions before it gives up?
- Two Evaluator rounds; then the CEO emits a decision_required card. Cheap iteration on drafts, hard-stop on loops.
- Will it send the email when I approve?
- Content drafts; Business Ops or the conditional gmail_send tool handles delivery — always after explicit approval.