Purpose and responsibility
The writer agent:- Reads plans and findings from the blackboard
- Writes content for non-technical end users
- Creates or updates documentation files
- Uses Mintlify components to structure information
- Records artifacts to the blackboard
- Suggests media placements where visuals would help
Agent creation
writer.ts
Tool requirements
writer.ts
- DocTools - Create, read, and update documentation files
- InteractionTools (partial) - Suggest media placements
- Blackboard read tools - Read findings and plans
- Blackboard write tools - Write artifacts and mark writing complete
Workflow
For each section
Process each section in the plan:
- Read relevant findings with
blackboard_read_finding - Read actual files using
read_fileorread_doc - Write well-structured content
- Create or update files using
create_docorupdate_doc - Record artifacts with
blackboard_write_artifact
Audience
All content is written for non-technical end users.Write about
- What the feature does (user value)
- How to use it (workflows, steps)
- What to expect (outcomes)
Never write about
- Function names, component names, hooks
- Internal APIs, route handlers
- Code structure or implementation details
Content structure
Content should be written for scanning, not reading cover-to-cover. For each section:- Lead with a 1-2 sentence summary for larger sections (only when necessary)
- Use Mintlify components to organize complex information
- Follow explanations with concrete examples or steps
Structural patterns
- Overview paragraph →
<Steps>for procedures - Brief intro →
<Tabs>for variations by role, platform, or use case - Definition →
<Accordion>for edge cases or advanced details - Navigation hub →
<CardGroup>linking to subpages
Avoid
- Multiple consecutive paragraphs explaining the same concept
- Walls of text without visual structure
- Technical jargon or code references
- Marketing speak: “sophisticated”, “powerful”, “seamlessly”, “robust”, “comprehensive”
- Buzzwords: “leverage”, “utilize”, “streamline”, “enhance”
- Filler phrases: “it’s important to note that”, “as mentioned above”
- Over-explanation: if a heading says what it is, don’t repeat it in the first sentence
Mintlify components
Use components to structure information, not decorate it.Available components
<Steps>- Actual multi-step procedures with clear sequence<Tabs>- Same content genuinely differs by context (role, platform, version)<Accordion>- Optional or advanced content users may skip<AccordionGroup>- Related accordions that belong together<CardGroup>- Navigation to related pages or sections<Info>,<Warning>,<Tip>- Genuinely important callouts
Component rules
- One component type per logical section (don’t nest Tabs in Accordions)
- Default to prose for explanations
- A page with zero components can be better than one stuffed with them
Bullet points
Bullet points are appropriate for:- Feature lists (short items)
- Quick reference (options, settings)
- Choices or alternatives
- Primary content structure (use prose or Steps)
- Explaining concepts (use paragraphs)
- Anything that needs order (use Steps)
Tone
Maintain a helpful, precise, and calm tone:- Helpful, not salesy
- Precise, not vague
- Calm, not enthusiastic
- Accessible always—no jargon
- Lowercase for comments and error messages
Media suggestions
When a place would benefit from an image, screenshot, diagram, or video, use thesuggest_media tool:
Blackboard communication
The writer reads from and writes to the blackboard:Error handling
If an operation fails, the writer reports the error but continues with other operations. This ensures partial progress even when some files can’t be written.Termination rules
The writer stops when:mark_writing_completeis called (expected termination)- The step count reaches 20 (safety limit)
writer.ts
Model configuration
The writer uses the prose model tier for quality writing:writer.ts
config.agents.runtime.writer.