Documentation Writing Skill
Metabase Writing Style Guide
Core Principles
Write like you're talking to a colleague. Be conversational, not formal. Get people what they need quickly. Know your audience and match the complexity.
Tone and Voice
Do:
- Use contractions ("can't" not "cannot")
- Say "people" or "companies" instead of "users"
- Be friendly but not peppy
- Acknowledge limitations honestly ("that's on us, not them")
- Jokes and Easter eggs are okay (permit them, don't suggest them)
Don't:
- Use exclamation points excessively
- Rely on tired tropes about nerdiness
- Use corporate jargon ("utilize", "offerings", "actionable insights")
- Tell people something is cool (show them instead)
Structure and Clarity
Lead with the important stuff:
- Most important information first
- Lead with the ask, then provide context
- Cut text that adds little value (when in doubt, cut it)
- Each paragraph should have one clear purpose
Make headings do the work:
- Convey your actual point, not just the topic
- "Use headings to highlight key points" not "How to write a good heading"
- Use sentence case, no punctuation except question marks
- No links in headings unless entire heading is a link
Instructions and Examples
Tell people what to do:
- Give the action before explaining why
- Put commands in execution order
- Provide context, steps, and reasoning
- Don't describe tasks as "easy" or "simple"
Answer unasked questions:
- Include answers to "dumb" questions you had when learning
- Don't literally include the question, just give the answer
Formatting
Code vs. UI elements:
- Backticks for code, variable names, parameters only
- Bold for UI elements and labels (e.g., "Click the Save button")
- Don't use backticks or quotes for UI elements
Writing Mechanics
- Limit pronouns when introducing new terms (repeat the term to reinforce it)
- Ampersands only in proper nouns, never as substitute for "and"
Terminology Preferences
Use familiar terms from tools people already know:
- "Summarize" (like Excel) instead of "aggregate"
- "Take a look at" instead of "reference"
- "Filter" instead of technical database terms when appropriate
Red Flags
Avoid these patterns:
- Multiple exclamation points
- Linking "here"
- Bullet lists to explain (use prose)
- Numbers that will change (guard against change)
- Describing things as "easy" or "simple"
- Stock photography-worthy content
When writing documentation
Start here
- Who is this for? Match complexity to audience. Don't oversimplify hard things or overcomplicate simple ones.
- What do they need? Get them to the answer fast. Nobody wants to be in docs longer than necessary.
- What did you struggle with? Those common questions you had when learning? Answer them (without literally including the question).
Writing process
Draft:
- Write out the steps/explanation as you'd tell a colleague
- Lead with what to do, then explain why
- Use headings that state your point: "Set SAML before adding users" not "SAML configuration timing"
Edit:
- Read aloud. Does it sound like you talking? If it's too formal, simplify.
- Cut anything that doesn't directly help the reader
- Check each paragraph has one clear purpose
- Verify examples actually work (don't give examples that error)
Polish:
- Make links descriptive (never "here")
- Backticks only for code/variables, bold for UI elements
- American spelling, serial commas
- Keep images minimal and scoped tight
Format:
- Run prettier on the file after making edits:
yarn prettier --write <file-path>
- This ensures consistent formatting across all documentation
Common patterns
Instructions:
Run:
\`\`\`
command-to-run
\`\`\`
Then:
\`\`\`
next-command
\`\`\`
This ensures you're getting the latest changes.
Not: "(remember to run X before Y...)" buried in a paragraph.
Headings:
- "Use environment variables for configuration" ✅
- "Environment variables" ❌ (too vague)
- "How to use environment variables for configuration" ❌ (too wordy)
Links:
- "Check out the SAML documentation" ✅
- "Read the docs here" ❌
Watch out for
- Describing tasks as "easy" (you don't know the reader's context)
- Using "we" when talking about Metabase features (use "Metabase" or "it")
- Formal language: "utilize", "reference", "offerings"
- Too peppy: multiple exclamation points
- Burying the action in explanation
- Code examples that don't work
- Numbers that will become outdated
Quick reference
| Write This |
Not This |
| people, companies |
users |
| summarize |
aggregate |
| take a look at |
reference |
| can't, don't |
cannot, do not |
| Filter button |
`Filter` button |
| Check out the docs |
Click here |
1---2name: docs-write3description: Write documentation following Metabase's conversational, clear, and user-focused style. Use when creating or editing documentation files (markdown, MDX, etc.).4allowed-tools: Read, Write, Grep, Bash, Glob5---67# Documentation Writing Skill8# Metabase Writing Style Guide910## Core Principles1112Write like you're talking to a colleague. Be conversational, not formal. Get people what they need quickly. Know your audience and match the complexity.1314## Tone and Voice1516**Do:**1718- Use contractions ("can't" not "cannot")19- Say "people" or "companies" instead of "users"20- Be friendly but not peppy21- Acknowledge limitations honestly ("that's on us, not them")22- Jokes and Easter eggs are okay (permit them, don't suggest them)2324**Don't:**2526- Use exclamation points excessively27- Rely on tired tropes about nerdiness28- Use corporate jargon ("utilize", "offerings", "actionable insights")29- Tell people something is cool (show them instead)3031## Structure and Clarity3233**Lead with the important stuff:**3435- Most important information first36- Lead with the ask, then provide context37- Cut text that adds little value (when in doubt, cut it)38- Each paragraph should have one clear purpose3940**Make headings do the work:**4142- Convey your actual point, not just the topic43- "Use headings to highlight key points" not "How to write a good heading"44- Use sentence case, no punctuation except question marks45- No links in headings unless entire heading is a link4647## Instructions and Examples4849**Tell people what to do:**5051- Give the action before explaining why52- Put commands in execution order53- Provide context, steps, and reasoning54- Don't describe tasks as "easy" or "simple"5556**Answer unasked questions:**5758- Include answers to "dumb" questions you had when learning59- Don't literally include the question, just give the answer6061## Formatting6263**Code vs. UI elements:**6465- Backticks for code, variable names, parameters only66- **Bold** for UI elements and labels (e.g., "Click the **Save** button")67- Don't use backticks or quotes for UI elements6869## Writing Mechanics7071- Limit pronouns when introducing new terms (repeat the term to reinforce it)72- Ampersands only in proper nouns, never as substitute for "and"7374## Terminology Preferences7576Use familiar terms from tools people already know:7778- "Summarize" (like Excel) instead of "aggregate"79- "Take a look at" instead of "reference"80- "Filter" instead of technical database terms when appropriate8182## Red Flags8384Avoid these patterns:8586- Multiple exclamation points87- Linking "here"88- Bullet lists to explain (use prose)89- Numbers that will change (guard against change)90- Describing things as "easy" or "simple"91- Stock photography-worthy content9293## When writing documentation9495### Start here96971. **Who is this for?** Match complexity to audience. Don't oversimplify hard things or overcomplicate simple ones.982. **What do they need?** Get them to the answer fast. Nobody wants to be in docs longer than necessary.993. **What did you struggle with?** Those common questions you had when learning? Answer them (without literally including the question).100101### Writing process102103**Draft:**104105- Write out the steps/explanation as you'd tell a colleague106- Lead with what to do, then explain why107- Use headings that state your point: "Set SAML before adding users" not "SAML configuration timing"108109**Edit:**110111- Read aloud. Does it sound like you talking? If it's too formal, simplify.112- Cut anything that doesn't directly help the reader113- Check each paragraph has one clear purpose114- Verify examples actually work (don't give examples that error)115116**Polish:**117118- Make links descriptive (never "here")119- Backticks only for code/variables, **bold** for UI elements120- American spelling, serial commas121- Keep images minimal and scoped tight122123**Format:**124125- Run prettier on the file after making edits: `yarn prettier --write <file-path>`126- This ensures consistent formatting across all documentation127128### Common patterns129130**Instructions:**131132```markdown133Run:134\`\`\`135command-to-run136\`\`\`137138Then:139\`\`\`140next-command141\`\`\`142143This ensures you're getting the latest changes.144```145146Not: "(remember to run X before Y...)" buried in a paragraph.147148**Headings:**149150- "Use environment variables for configuration" ✅151- "Environment variables" ❌ (too vague)152- "How to use environment variables for configuration" ❌ (too wordy)153154**Links:**155156- "Check out the [SAML documentation](link)" ✅157- "Read the docs [here](link)" ❌158159### Watch out for160161- Describing tasks as "easy" (you don't know the reader's context)162- Using "we" when talking about Metabase features (use "Metabase" or "it")163- Formal language: "utilize", "reference", "offerings"164- Too peppy: multiple exclamation points165- Burying the action in explanation166- Code examples that don't work167- Numbers that will become outdated168169### Quick reference170171| Write This | Not This |172| -------------------------- | ------------------ |173| people, companies | users |174| summarize | aggregate |175| take a look at | reference |176| can't, don't | cannot, do not |177| **Filter** button | \`Filter\` button |178| Check out [the docs](link) | Click [here](link) |