Tech Writer
Write technical documentation in a professional tone with a fixed document
structure and Microsoft Writing Style Guide markdown conventions. Output is
always a single markdown document.
Workflow
- Identify the audience and goal. If the user hasn't said who the doc
is for or what the reader should be able to do afterwards, ask — the
overview and prerequisites depend on it. Do not ask about anything else;
use the defaults below.
- Gather the facts. Read the code, config, or notes the doc covers.
Never invent commands, flags, file paths, or behavior you haven't
verified in the source. Collect at least one concrete example for every
feature, parameter, or config option you will document.
- Draft using the fixed structure below. Skip a section only when it
is genuinely empty (e.g. no prerequisites) — never invent content to
fill one. Each task section and every non-obvious parameter must include
at least one verified example.
- Apply the conventions. Read
references/markdown-conventions.md
before writing and again as a checklist after drafting. It defines
headings, lists, code blocks, links, tables, and tone rules.
- Validate the draft against the checklist at the bottom of this file,
fix any violations, then present the result.
Fixed document structure
Every document follows this order:
# <Title: concise, sentence case, states the task or topic>
<Overview: 1–3 short paragraphs. What is this, who is it for, what will
the reader achieve. No heading — this text directly follows the title.>
## Prerequisites
<Bullet list of required tools, access, knowledge, or prior steps. Omit
the whole section if nothing is required.>
## <Task sections — one H2 per major step or topic>
<Numbered steps for procedures; prose for concepts. Each step: one action,
imperative mood, starts with a verb.>
1. First action.
1. Second action. (Use `1.` for every item — let the renderer number them.)
### <Optional H3 subsections within a task>
## Troubleshooting
<Problem → cause → solution, one H3 per issue or a table. Omit if nothing
is known to go wrong.>
## Next steps
<Bullet list of links to related docs or follow-up tasks.>
Rules:
- Exactly one H1 (the title). All sections are H2 or below — never skip a
heading level.
- Section titles use sentence case ("Next steps", not "Next Steps").
- Task section H2s are named after the goal, not the tool: "Configure the
plugin", not "Plugin configuration".
- Task-based organization: structure the doc by what the reader wants to
accomplish, not by the product's internal feature layout. Bad: "Settings
panel" — good: "Change the default region".
- Troubleshooting entries are keyed by the observable symptom (the exact
error message or behavior the user sees), followed by cause, then fix.
Users search by symptom, not by root cause.
Tone
Professional means: second person ("you"), present tense, imperative for
instructions, no humor, no exclamation marks, no marketing language
("easily", "simply", "just", "seamless"). State what to do; explain why
only where a wrong choice has consequences.
Gotchas
- Don't pad the overview. If the topic is covered in one paragraph,
write one paragraph. Filler sentences ("In today's fast-paced world…")
are the most common failure mode.
- Don't document aspirational behavior. Only document what the code
does now, verified against the source. If a feature is planned, leave it
out.
- Don't use bold as a heading substitute. If text needs a label, it
needs a heading level.
- Don't wrap the output in a code fence when writing into a
.md file
— the file content IS markdown.
- Code examples must be runnable. Use realistic placeholder values
(
my-project, not xxx), tag every fenced block with its language, and
prefer complete commands over fragments.
Validation checklist
Before presenting the document, verify:
1---2name: tech-writer3description: Write and edit technical documentation in a professional tone, following a fixed document structure (title, overview, prerequisites, steps, troubleshooting, next steps) and Microsoft Writing Style Guide markdown conventions. Use when writing, drafting, reviewing, or reformatting documentation, READMEs, guides, how-tos, tutorials, or API docs — even when the input is just rough notes with a request to "document this". Do NOT use for commit messages (use the commit skill), code comments, or non-markdown formats like Word or Confluence pages.4---56# Tech Writer78Write technical documentation in a professional tone with a fixed document9structure and Microsoft Writing Style Guide markdown conventions. Output is10always a single markdown document.1112## Workflow13141. **Identify the audience and goal.** If the user hasn't said who the doc15 is for or what the reader should be able to do afterwards, ask — the16 overview and prerequisites depend on it. Do not ask about anything else;17 use the defaults below.182. **Gather the facts.** Read the code, config, or notes the doc covers.19 Never invent commands, flags, file paths, or behavior you haven't20 verified in the source. Collect at least one concrete example for every21 feature, parameter, or config option you will document.223. **Draft using the fixed structure** below. Skip a section only when it23 is genuinely empty (e.g. no prerequisites) — never invent content to24 fill one. Each task section and every non-obvious parameter must include25 at least one verified example.264. **Apply the conventions.** Read `references/markdown-conventions.md`27 before writing and again as a checklist after drafting. It defines28 headings, lists, code blocks, links, tables, and tone rules.295. **Validate the draft** against the checklist at the bottom of this file,30 fix any violations, then present the result.3132## Fixed document structure3334Every document follows this order:3536```markdown37# <Title: concise, sentence case, states the task or topic>3839<Overview: 1–3 short paragraphs. What is this, who is it for, what will40the reader achieve. No heading — this text directly follows the title.>4142## Prerequisites4344<Bullet list of required tools, access, knowledge, or prior steps. Omit45the whole section if nothing is required.>4647## <Task sections — one H2 per major step or topic>4849<Numbered steps for procedures; prose for concepts. Each step: one action,50imperative mood, starts with a verb.>51521. First action.531. Second action. (Use `1.` for every item — let the renderer number them.)5455### <Optional H3 subsections within a task>5657## Troubleshooting5859<Problem → cause → solution, one H3 per issue or a table. Omit if nothing60is known to go wrong.>6162## Next steps6364<Bullet list of links to related docs or follow-up tasks.>65```6667Rules:6869- Exactly one H1 (the title). All sections are H2 or below — never skip a70 heading level.71- Section titles use sentence case ("Next steps", not "Next Steps").72- Task section H2s are named after the goal, not the tool: "Configure the73 plugin", not "Plugin configuration".74- Task-based organization: structure the doc by what the reader wants to75 accomplish, not by the product's internal feature layout. Bad: "Settings76 panel" — good: "Change the default region".77- Troubleshooting entries are keyed by the observable symptom (the exact78 error message or behavior the user sees), followed by cause, then fix.79 Users search by symptom, not by root cause.8081## Tone8283Professional means: second person ("you"), present tense, imperative for84instructions, no humor, no exclamation marks, no marketing language85("easily", "simply", "just", "seamless"). State what to do; explain *why*86only where a wrong choice has consequences.8788## Gotchas8990- **Don't pad the overview.** If the topic is covered in one paragraph,91 write one paragraph. Filler sentences ("In today's fast-paced world…")92 are the most common failure mode.93- **Don't document aspirational behavior.** Only document what the code94 does now, verified against the source. If a feature is planned, leave it95 out.96- **Don't use bold as a heading substitute.** If text needs a label, it97 needs a heading level.98- **Don't wrap the output in a code fence** when writing into a `.md` file99 — the file content IS markdown.100- **Code examples must be runnable.** Use realistic placeholder values101 (`my-project`, not `xxx`), tag every fenced block with its language, and102 prefer complete commands over fragments.103104## Validation checklist105106Before presenting the document, verify:107108- [ ] Exactly one H1; no skipped heading levels; sentence-case headings109- [ ] Sections appear in the fixed order; empty sections omitted entirely110- [ ] Every fenced code block has a language tag111- [ ] Numbered steps use `1.` throughout and imperative mood112- [ ] Every task section and non-obvious parameter has a verified example113- [ ] No "simply/just/easily", no exclamation marks, no future tense114 ("will") for current behavior115- [ ] All conventions in `references/markdown-conventions.md` applied