












As a solo technical writer at Mintlify, I'm always looking for ways to improve my workflows and empower other people on my team to contribute to the docs. I also want to take a vacation without blocking docs ships for a week and a half.
This blog post is adapted from my tips for the team while I'm out of office.
I've been using Claude Code as my writing assistant since it launched. Claude Code can read your codebase, analyze Git branches, search existing documentation, and maintain context about your project's specific style and requirements. I've come to prefer Claude Code over other AI tools for a few reasons.
I'll warn you now though, it's not quite as easy as typing "write this" and receiving perfectly polished docs. For someone who might not consider themselves a writer, but is an expert on the code they just shipped, Claude can help plan and draft documentation, making them feel confident about their writing. For technical writers, Claude Code can help you get information about recent ships or in progress work when SMEs are unavailable to discuss details.
You are smarter than Claude. If you remember only one thing from this post, remember this: don't publish something just because Claude suggested it. Always verify any docs changes with your own expertise or by getting someone who is an expert to review.
Set up Claude Code by running the following commands in your terminal:
npm install -g @anthropic-ai/claude-code
cd path/to/docs
claude
Make sure Claude Code is properly installed by asking it a question, having it tell you a joke, or whatever you want. If it responds, we're good to go.
To train Claude as your technical writing partner, create a CLAUDE.md file. This configuration file gives context, sets quality standards, and defines how Claude interacts with you.
Think of it like onboarding a new team member. You want to explain the most important things up front, and you don't want them searching through a 100-page manual before starting every task.
That last point matters more than it might seem. Claude and other LLMs have improved since I first wrote about this and our understanding of organizing context has evolved too. Less is more for Claude. A long CLAUDE.md gets ignored or garbled, which could give you worse results than no CLAUDE.md at all.
The current consensus is that your CLAUDE.md should be focused. Anything that can be enforced programmatically shouldn't rely on Claude following an instruction.
What to include in your CLAUDE.md:
What belongs elsewhere:
Here's what a lean CLAUDE.md might look like:
# Mintlify documentation
## Working relationship
- Push back on ideas with reasoning—this leads to better docs
- Always ask for clarification rather than making assumptions
- Never lie, guess, or make up information
## Project context
- Format: MDX files with YAML frontmatter
- Config: docs.json for navigation, theme, settings
- Components: Mintlify components (see existing pages for patterns)
## Content strategy
- Document just enough for user success—not too much, not too little
- Search for existing content before adding anything new
- Make the smallest reasonable changes
## Hard constraints
- Never use --no-verify when committing
- Test all links before publishing
- No untested code examples
## See also
- Style rules: enforced by Vale (.vale.ini)
- Git workflow: enforced by hooks (.claude/settings.json)
- Workflow commands: see .claude/skills/
Once you've got a CLAUDE.md, move the mechanical rules somewhere that enforces them reliably without relying on Claude to remember them. Then layer in tools that give Claude persistent context and reusable workflows.
Hooks are shell commands that run automatically at specific points in Claude's workflow—before or after a tool call, or at the end of a session. They're configured in .claude/settings.json and give you deterministic enforcement instead of hoping Claude follows an instruction.
For documentation teams, two hooks are often useful:
PreToolUse hook can intercept any bash command and block it if it matches a pattern—like --no-verify.Here's a .claude/settings.json example that does both:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "vale \"$(jq -r '.tool_input.file_path // empty')\""
}
]
}
],
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "if jq -r '.tool_input.command' | grep -q -- '--no-verify'; then echo 'Blocked: --no-verify is not permitted'; exit 2; fi"
}
]
}
]
}
}
Claude Code has a built-in memory system to persist context across sessions. It's on by default. As you work, Claude automatically saves things worth remembering to a memory directory specific to your project.
The memory directory lives outside the repo at ~/.claude/projects/<project>/memory/ and contains a MEMORY.md index loaded at the start of every session.
Claude decides what's worth saving on its own, but you can also ask it directly to write a memory. "Remember that I don't want emoji in docs" or "save this decision to memory." Use /memory in any session to browse, edit, or delete memories.
Claude Code supports custom slash commands, which are project-specific workflows you invoke with a /skill-name shorthand. If you find yourself giving Claude the same set of instructions repeatedly, that's a good candidate for a skill.
For example, I have a lot of workflows running in our docs repo to test the feature and find edge cases. This results in dozens of pull requests created by bots every day. I have a skill that audits all open pull requests authored by a bot; identifies duplicates or invalid PRs and closes them; and tags me to review the remaining ones. What used to be a manual, time consuming review process is now a single command.
To create a skill, add a directory to .claude/skills/ containing a SKILL.md file with instructions describing what the skill does. Any time you type /skill-name, Claude uses the skill's instructions to perform the task.
.claude/skills/
└── my-skill/
└── SKILL.md
Anthropic also hosts official plugins to add skills at https://claude.com/plugins/. Install the Mintlify plugin to give Claude Code best practices for updating your docs with Mintlify components.
If you're working across multiple related repositories (like docs/, backend/, and frontend/), organize them under a common parent directory. This allows Claude Code to efficiently search between projects and better assess the relationships between code and documentation.
parent-dir/
├── docs/
├── backend/
└── frontend/
Sharing these with my team is how I'm planning to take time off without worrying about our docs.
Instead of starting from a blank page, give Claude context about what changed and have it help identify how to document a new feature.
Here's my process:
Sample prompt:
I need to document a new feature. Please:
1. Analyze the code changes in this branch: feature/cool-new-thing
2. Search through docs/ to see if any existing pages need updates
3. Identify what pages need to be updated and if new documentation is needed
4. Suggest the best location for new content (prefer updating existing pages)
5. Show me your plan for making these content updates
This workflow is great for maintenance. Claude Code is good at finding related content scattered across multiple pages.
I'll ask Claude to:
For a first review, Claude can do a nice job catching grammar, spelling, formatting, and style errors. It's not as good as humans at seeing the strategy behind content and confirming that docs will meet users' needs, but with some specific prompting it can help you evaluate your content.
Sample prompt:
Please review the changes I'm about to commit and check:
1. Do they follow our writing standards?
2. Do they follow general technical writing best practices?
3. Are code examples accurate?
4. Is the frontmatter complete and correct?
5. Are there any links that need testing?
6. Do the docs make sense? Would a user be successful following them?
What to avoid:
What to do:
I'm not trying to replace human expertise with AI. I have no doubt that I will be gladly welcomed back from vacation, not replaced by Claude while I'm away. Claude Code can help expedite some mechanical aspects of writing like searching; it can help plan content updates; and it can generate content. But all of this requires human oversight.
The teams I've talked to who are successfully using these tools aren't just trying to write faster, they're trying to be more thoughtful and identify how their content addresses user needs rather than just trying to keep up with the pace of releases.
For non writers who are creating documentation, tools like Claude Code can give you confidence and get over that initial hurdle of "but I'm not a writer." Even before LLMs took off, I've always believed anyone can write. It's hard and can be intimidating, but it's achievable. Claude Code and similar tools are one way to get there.
At least until your writer is back.
-
What's your experience with AI tools for technical writing? What workflows have you found most effective? I'm always curious to hear how other teams are approaching novel technology - feel free to drop me a note any time!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。