How-to template
Use this template for a how-to guide: a goal-oriented page that helps a competent reader do one specific thing. This is the How-to quadrant in dev-doc-types. A how-to is not a tutorial. The reader already knows what they want — give them the steps, not a lesson. Do not explain what the feature is; link to a concept page for the “why”. Troubleshooting is a how-to. Per the Diataxis model and the convention used by Stripe and other API docs, there is no standalone troubleshooting page type. A “fix this error” page is a how-to with a diagnostic sequence; the error catalog itself is a reference page. Use the error-handling variant below.When to use
- A single task: “Manage your inbox”, “Rotate an access token”, “Filter messages”
- Resolving a specific error: “Resolve a 401 Unauthorized”, “Handle rate limit errors”
Always apply
Apply all Foundational skills as you write — writing standards, accessibility, formatting, code examples, terminology. See SKILLS-INDEX.Template location
assets/template-how-to.mdx — structure and placeholders only. Includes the error-handling variant.Required sections (in order)
| Section | Purpose |
|---|---|
| Intro (no heading) | One or two sentences stating the goal. No concept explanation — link out for the “why”. |
## Before you begin | Prerequisites as a bullet list with links. |
## [Verb phrase] | The steps. One action per step, each with a runnable example where relevant. |
## Verify the result | A runnable check that confirms success. |
## Next steps or ## Related | 2–4 links. |
Writing the steps
- One action per step. Lead with the verb.
- Each API or SDK action gets a runnable
<CodeGroup>(cURL → TypeScript → Python). - State the goal once at the top; do not re-explain the feature mid-page.
- Move alternatives into an
<AccordionGroup>so the main path stays linear.
Writing the verify step
- Give a concrete, runnable check (“Call
GET /inboxes/$INBOX_IDand confirmstatusisactive.”). - Show the expected response so the reader knows what success looks like.
Naming
- Title is a verb phrase: “Manage your inbox”, “Rotate an access token”.
- For error pages, name the outcome: “Resolve a 401 Unauthorized error” — not “401 errors” (that noun phrase is a reference page).
Error-handling variant
Use this when the goal is to fix or handle a specific error.- Replace
## Verify the resultwith## When to contact support(and what to include in the report). - Structure the body as a diagnostic sequence, not a symptom/cause/fix accordion list (that is a support-center pattern). Check A, then B, then C, in order of likelihood.
- Link to the error reference for the code’s canonical meaning, and link back from the reference to this how-to. This bi-directional link is the Stripe pattern.
- Keep the error code’s factual definition (status, meaning, retry-safe?) in the reference page — do not duplicate the catalog here.
| This page (how-to) | The reference page |
|---|---|
| How to resolve / handle the error | What the error code means (factual catalog) |
| Diagnostic steps in order | Status code, retry-safe flag, one-line meaning |
| Links to the reference | Links back to this how-to |
Frontmatter
Set onlytitle and description (see formatting-guidelines). List prerequisites in the ## Before you begin body section, not in frontmatter.
Before you finish
Register the page indocs.json and update llms.txt (contribute-docs), then run review-before-done.