authoring-user-guide — SKILL.md
Variant: standard · When to use: a producer is authoring the end-user guide
for a product and needs the Diataxis-keyed authoring method + the usability/accuracy
bar (incl. plain language, accessibility, findability, and amend), composing the section
structure from a separate template tool.
Overview
This skill guides authoring an end-user user guide: the help a real person uses to
accomplish their goals with a product. It carries the judgment — how to derive one
how-to per user goal from the upstream docs instead of inventing steps, how to keep the
four Diataxis documentation modes distinct (mixing them is the most common cause of
confusing docs), how to hold every step accurate to what the product actually does and
named by its exact UI label, how to write in plain language a non-technical reader
can follow, how to keep the guide accessible and findable, and how to amend a
published guide when the product moves — not a section list, which comes from a template
tool. The audience is the (typically non-technical) end user, not a developer
integrating a tool: a developer-tool's adoption/integration narrative is a separate
authoring-developer-guide, and the HTTP/SDK endpoint catalog is a separate
authoring-api-reference. This guide's "reference" mode is the end-user product
reference (features, settings, CLI commands), not the API. The guide sits downstream of the
product/behavior docs it describes, and is checked against a usability/accuracy bar by
reviewing-user-guide.
When to activate
- Authoring an end-user / customer-facing user guide, help center, or product manual for
a product, given its upstream docs (typically a feature-spec + user-flows + wireframes).
- Producing the full end-user documentation set — getting-started tutorial, task how-to
guides, conceptual explanation, an end-user feature/config reference, troubleshooting/
FAQ, and a glossary — so a real user can accomplish every supported goal.
- Amending a published guide after an upstream change (a renamed setting, a removed/
added feature, a changed flow, a redesigned screen) — a versioned staleness sweep.
Do NOT activate when:
- Reviewing/judging a finished user guide — that is the review-side gate
(
reviewing-user-guide), which asserts the same bar this skill produces to.
- Authoring the developer-tool adoption/integration/onboarding narrative for a library,
SDK, CLI, framework, or API platform — that is
authoring-developer-guide.
- Authoring the HTTP/SDK endpoint catalog (the per-endpoint wire contract for integrators)
— that is
authoring-api-reference. This skill's reference mode is the end-user product
surface, not the API.
- Authoring the internal engineering docs (feature-spec, data-model, architecture) — the
user guide is the external help derived from those, not the contract itself.
Inputs
Read every document the plan hands you — your depends_on set (the upstream documents
discovery determined inform this one) — and trace each how-to and section back to them.
The typical upstreams are the feature-spec (the behaviors the guide explains), the
user-flows (the task paths each how-to walks), and the wireframes (the screens the
steps reference); where present, also the PRD (what/why), the design-system (the UI
terminology — use its component/term names so the guide's vocabulary matches the product),
and the api-reference (for a developer product). Do not assume a fixed input: that list
is method guidance, not a cap on what you receive — never hardcode a single narrow input.
Be self-contained and graceful — produce the guide from whatever context you
actually receive. When an expected informing document is absent (e.g. no wireframes), proceed
on what you have and surface the gap as an explicit assumption; never fabricate a
feature, setting, screen, or step to fill it. And use a research capability where one is
available (the deep-research capability, else web search) to make the guide
comprehensive — grounding it in established end-user-docs practice (Diataxis, task-oriented
minimalism, plain-language guidelines, WCAG for textual help, a reputable docs style guide),
not merely to fill the template.
On iteration (amend): the flow hands in the existing guide + a change request + the
changed upstreams. Run Step 9 (amend), not a full rewrite — same input contract.
Workflow
Compose with the template tool first. Before drafting, obtain the user-guide section
structure from the content-template tool (the content-template-gateway capability, or
whatever template provider is installed). It supplies the section slots — introduction/
overview, getting-started tutorial, how-to guides, conceptual explanation, feature/config
reference, troubleshooting/FAQ, glossary, a Versioning & Changelog / revision-history
section (the guide's own doc version, for amend), and an assumptions surface. Never
hardcode a competing outline — this skill fills the template's slots with derived
content; it does not redefine them. Use a research capability to ground any docs
conventions you are unsure of.
Step 1: Enumerate the user goals — one how-to per goal, no orphans
List the user goals from the handed-in upstreams: from the user-flows when present
(each flow is a user goal/job), else from the feature-spec / PRD. Produce exactly one
task-oriented how-to per goal — every goal gets a how-to, every how-to traces back to a
goal. This is the no-orphan coverage rule, and it degrades gracefully: do not assume
user-flows was handed in; take the goals from whatever upstream actually arrived.
Step 2: Write the getting-started tutorial as one guaranteed happy path
The tutorial is a single learn-by-doing lesson: ONE path, no choices or alternatives,
every step yields a visible result, and success is the author's responsibility. Defer the
"why" to the explanation section and push every failure branch to troubleshooting — a
tutorial that forks or fails is not a tutorial. Pick the first meaningful success the
new user can reach, and minimize the steps to it (fewer prerequisites/decisions between
"opened the product" and "first visible win").
Step 3: Write each how-to as imperative numbered steps — not a concept dump
Each how-to addresses an already-oriented user with one goal. Title it as the task
(bare-infinitive, task-based heading). Write it per established docs-style mechanics:
numbered steps, one action per step (split a step that runs long), second person,
present tense, imperative/active voice. Cover the happy path and point to troubleshooting
for failures. A how-to written as prose or as a concept explanation is the single most
common Diataxis defect — keep it steps.
Step 4: Write the explanation with no steps, and the reference complete
- Explanation provides the mental model and the "why"; it contains no steps and
cross-links to the how-to/reference that act on the concepts. Keep it to concepts the
user genuinely needs, not a tour of internal architecture.
- Feature/config reference is neutral, factual, and complete over the end-user
product surface — every feature, setting, and CLI command/shortcut. It describes, does
not instruct, and its structure mirrors the product so the user can navigate both
together. This is the product reference, NOT the HTTP API endpoint catalog.
Step 5: Source troubleshooting from the known error states
Build the troubleshooting catalog from the user-flows' error/recovery paths and the
feature-spec's error handling — every known error state becomes an entry. Organize by
the user-visible symptom (not the internal cause); each entry is symptom -> cause ->
fix, the fix in numbered steps, with the error message/code where one exists. Add an FAQ for
recurring questions and a "get more help" pointer. This is where the failure content the
tutorial and how-tos deliberately omit lives.
Step 6: Name controls by their exact label; describe screens textually
The artifact is markdown text: describe each screen in words and link the wireframe
rather than embedding a screenshot. Refer to every control by its exact UI label as the
product shows it, and use the design-system's component/term names where one exists, the
same way everywhere — so a step maps to what the user sees (a step that says "click Save"
when the button reads "Apply" blocks a non-technical user). Keep command/config content in
fenced snippets.
Step 7: Write in plain language; keep the guide accessible
- Plain language (for the non-technical reader). State the purpose first; prefer short
sentences; use everyday words. Define every product-specific term and acronym on first
use (and collect them in the glossary); never leave an unexplained acronym. Target a
general-audience reading level — judged by whether a real user can follow it, not by a
readability score.
- Accessibility (for a textual help artifact). Name a control by its label, never by
color alone ("the green button") or location alone ("the button on the right").
Give links meaningful text (the destination, not "click here"). Nest headings in order
(no skipped levels). Write each described screen so a reader who cannot see the wireframe
still understands it (alt-text intent). Pixel contrast / focus appearance are the rendered
docs-site / design-system's concern, not this textual artifact.
Step 8: Signpost the start-here; trace every step; surface gaps as assumptions
- Findability. Give §1 a start-here signpost so a first-time reader locates the
tutorial, a task-seeker the matching how-to, a look-up the reference, and a stuck user
troubleshooting — a reader finds their entry point without already knowing the product.
- Accuracy. Trace each procedural step to a feature-spec behavior (or another handed-in
upstream). Where an upstream was thin or absent, state the assumption you made (so a
reviewer can challenge it) and list unresolved unknowns as open questions — never
invent a feature, setting, or step and bury it in a procedure.
Step 9: On an amend — scope the change, sweep for staleness, re-make coherence
When handed an existing guide + a change request + the changed upstreams, edit, don't
rewrite:
- Scope the change unit (a how-to / a reference entry / a getting-started step / a
screen description / a troubleshooting entry / a glossary term / an explanation claim).
- Upstream staleness sweep (the dominant move). For each changed/removed/renamed
capability, find every guide location that referenced it — across all modes (steps,
reference entries, screen/wireframe links, troubleshooting, glossary, explanation) — and
re-make each accurate to the current product. A step left describing a removed/renamed
feature is the highest-impact defect (a fabrication-by-staleness).
- Re-make internal coherence. The tutorial still runs end-to-end on the new behavior;
the modes stay typed; the reference still mirrors the product; cross-links + glossary
intact.
- Version + changelog. Bump the guide's own Doc version + add a revision-history entry
(what changed, when, why) — distinct from the product's version and any skill semver.
- Mark superseded/removed. Delete or mark a removed feature's how-to (note the
replacement); note a renamed setting's old name once for searchers, then retire it. The
user guide is a leaf — no derived doc downstream.
Step 10: Self-check against the usability/accuracy bar (below) before handoff
Run the quality bar (the 12-condition self-check). Fix every miss before handing the guide
to review. Depth for each method lives in references/method-depth.md.
Rules
Hard rules (never violate):
- Compose, don't duplicate. The section structure comes from the template tool; this
skill never ships a competing outline.
- Derive, don't invent. Every step traces to a handed-in upstream behavior; surface a
missing upstream as an explicit assumption, never fabricate to fill it.
- One how-to per goal — no orphans. Every user goal in the handed-in upstreams has a
how-to; goals come from the user-flows when present, else the feature-spec/PRD.
- Keep the four Diataxis modes distinct. Tutorial, how-to, explanation, reference are
separate and correctly typed; never conflate them (no how-to as a concept dump, no
explanation buried in a tutorial).
- End-user audience + product reference. The guide is for the end user; the reference
is the product surface (features/settings/commands), not the HTTP/SDK API.
- Plain language + accessible by construction. Define jargon/acronyms on first use; name
controls by their label, never by color or location alone; give links meaningful text.
- An amend is a scoped, swept, versioned delta. Edit the affected units, sweep every
stale reference to a changed capability, re-make coherence, version + changelog, mark
superseded — never a silent in-place rewrite.
Preferences (override-able):
- Procedure mechanics: numbered steps, one action per step, second person, present tense,
imperative voice, task-based headings.
- Task-oriented minimalism — action-first, anchored in the user's real tasks; cut anything
that does not serve the task (an error is a teachable moment that troubleshooting exploits).
- Proportion the guide to the product's goal/feature set — neither pad nor truncate.
Gotchas
- How-to written as a concept dump. It looks thorough but buries the steps the user
came for. A how-to is imperative numbered steps; the "why" belongs in explanation.
- Tutorial that forks or can fail. A getting-started lesson with branches or a failure
path is not a tutorial — it is a how-to or troubleshooting in disguise. One guaranteed
happy path; push failures to troubleshooting.
- Incomplete reference. Skipping the settings/commands that "seem obvious" leaves the
user unable to look things up. The reference must cover the whole product surface.
- A step that names the wrong control. "Click Save" when the button reads "Apply"
blocks a non-technical user — name controls by their exact product/design-system label.
- Unexplained jargon / a bare acronym. Accurate but unfollowable for a non-technical
reader. Define on first use; collect in the glossary.
- Color-/location-only instructions. "Click the green button" / "the one on the right"
fails a reader who can't perceive color or see the layout — name the control.
- Fabricated steps from a thin upstream. When an upstream is missing, inventing a step
that the product may not actually do is a hidden defect. Surface the gap as an assumption.
- Stale after a product change. A step/reference/glossary entry left describing a
removed or renamed capability is a fabrication-by-staleness — the amend's staleness sweep
must catch every reference across every mode.
- Embedding screenshots. The markdown medium has no binary assets — describe the screen
in words and link the wireframe. Real screenshots are a future-backend concern.
- Confusing the reference with the API catalog. The end-user feature/config reference
is NOT the HTTP/SDK endpoint reference (
authoring-api-reference).
Anti-patterns
- "I'll bake the section list into the doc myself." That duplicates the template and
drifts from it. Always compose the structure from the template tool.
- "One big walkthrough covers everything." Collapsing tutorial + how-to + explanation
- reference into one narrative is the #1 cause of confusing docs. Keep the modes distinct.
- "The upstream didn't say, so I'll just describe what it probably does." Silent
invented behavior belongs in the assumptions/open-questions surface, not in a procedure.
- "The reader will figure out the jargon." A non-technical reader can't — define it.
- "The product changed; I'll just patch the one screen I remember." Without a full
staleness sweep, other stale references survive — sweep every mode.
- "This is a developer tool, so I'll write the integration/onboarding narrative here."
That is
authoring-developer-guide; this skill is the end-user product help.
- "I'll embed the API endpoint table as the reference." The reference is the product
surface; the endpoint catalog is
authoring-api-reference.
Usability / accuracy quality bar
A user guide is complete + usable + accurate when ALL hold (this is the same 12-condition
bar the review-side gate asserts, single-sourced and numbered identically):
- Goal coverage — one how-to per goal, no orphans. Every user goal in the handed-in
upstreams (user-flows when present, else feature-spec/PRD) has exactly one how-to; every
how-to traces to a goal.
- Four Diataxis modes present AND correctly typed. Tutorial (one guaranteed path),
how-to (imperative steps, not a concept dump), explanation (no steps), reference (neutral
- complete) — not conflated.
- End-user feature/config reference complete. Every user-facing feature, setting, and
CLI command/shortcut is documented; the reference mirrors the product. (Product surface,
not the HTTP API.)
- Steps accurate to the actual product behavior — incl. UI terminology. Every step
matches a handed-in upstream behavior; no invented step/setting/screen; each control is
named by its exact product/design-system label. Fabrication is a hard fail.
- Procedure mechanics sound. Numbered steps, one action per step, second person,
present tense, imperative voice, task-based headings (using the exact labels).
- Troubleshooting covers the known error states. Every error/recovery path from the
upstreams appears as a symptom -> cause -> fix entry organized by user-visible symptom;
recurring questions in the FAQ; a "get more help" pointer.
- Usable by the target audience. A real (typically non-technical) user could accomplish
every supported goal from the guide alone; prerequisites are stated; screens are described
and wireframe-linked. (Language comprehensibility is cond-10 — this condition is the
accomplish-the-goal / prerequisites / screen-description outcome; do not double-judge
jargon here.)
- Assumptions/gaps surfaced. Where an upstream was absent or thin, the assumptions are
stated (challengeable), not silently invented.
- Amend is a scoped, swept, versioned delta. On an iteration: the delta meets the bar
on what it touched, the upstream staleness sweep is complete (no removed/renamed
capability still referenced in any mode), internal coherence holds, the revision-history
is updated, and superseded/removed items are marked. (n/a on a greenfield first build.)
- Plain language / readability. Purpose-first; short sentences; every term/acronym
defined on first use (collected in the glossary); no unexplained acronym; an audience-fit
reading level. Judged by whether a non-technical reader can follow it, not a score.
(Distinct from cond-7: a jargon/readability defect is cond-10; an unfollowable-flow /
missing-prerequisite defect is cond-7.)
- Accessibility (proportional). Meaningful link text (no bare "click here"); headings
nest correctly; no step relies on color or location alone; described screens carry
alt-text intent. (n/a where there are no links/images/color cues; pixel-contrast and
focus-appearance are the design-system's, not judged here.)
- Findability / start-here. A first-time reader can locate the start-here and their
goal's section across the doc set. (Distinct from cond-1 "organized by goal" and cond-2
"modes typed" — this is whether the reader can navigate to them; trivially holds for a
one-page guide; do not double-penalize a defect already caught by cond-1/cond-2.)
Output
An end-user user guide in markdown, composed onto the template tool's structure: an
introduction/overview (with a start-here signpost + plain-language/accessibility
conventions), a getting-started tutorial (one guaranteed happy path), one task-oriented
how-to per user goal (imperative numbered steps), a conceptual explanation (no steps), an
end-user feature/configuration reference (the product surface — features, settings, CLI
commands — not the HTTP API), a troubleshooting/FAQ sourced from the known error states, a
glossary, a Versioning & Changelog / revision-history section (the guide's own doc version),
and an assumptions/open-questions surface. Screens are described in words with wireframe
links; commands/config are fenced snippets; controls are named by their exact label. On an
amend, the output is a scoped versioned delta + an updated revision-history, not a rewrite.
The artifact is consumed by the review-side gate (which judges it against the 12-condition
bar above) and, ultimately, by a real user accomplishing every supported goal. The method +
bar are medium-independent: a future docs-platform or screenshot-rich backend changes only
the rendering (how screens are shown), not the derivation or the bar.
Related
- Template provider (
content-template-gateway capability) — supplies the user-guide
section structure this skill composes onto; never duplicated here.
- Research capability (
deep-research, else web search) — grounds the docs conventions
(Diataxis, minimalism, plain language, WCAG-for-docs, the style guide) and the derivation
evidence.
- Upstream input — the handed-in
depends_on set. Typically a feature-spec +
user-flows + wireframes (plus PRD/design-system/api-reference where present). Never
authored from a blank page.
reviewing-user-guide — the review-side gate that asserts the same 12-condition
usability/accuracy bar; produce-side and review-side are single-sourced.
authoring-developer-guide — the sibling for the developer-tool adoption/integration
narrative; this skill is the end-user product help, distinct from it.
authoring-api-reference — the sibling for the HTTP/SDK endpoint catalog; this
skill's reference mode is the end-user product surface, distinct from it.
Progressive disclosure
references/method-depth.md — the depth behind the method: the plain-language/readability
conventions, the WCAG-for-a-textual-artifact accessibility checks, the IA/start-here
reader-journey, the UI-terminology discipline, task-oriented minimalism, and the amend
staleness-sweep procedure. Load when authoring a section whose method you want in depth.
references/sources.md — research provenance for the section set, the Diataxis-keyed
authoring method, and the usability/accuracy bar. Load when verifying a claim's grounding.
Body budget
description ≤ 1,024 chars (agentskills.io cap).
- Body ≤ ~500 lines / 5,000 tokens — kept in context every turn.
- Per reference file: warn >10k tokens, error >25k.
Changelog
- 1.1.0 (2026-06-15) — production-grade restructure: single-sourced 12-condition bar
(added cond-9 amend, cond-10 plain-language, cond-11 accessibility, cond-12 findability;
deepened cond-4/5 with UI-terminology; migrated the jargon clause from cond-7 to cond-10);
added Step 6 (exact-label) / Step 7 (plain-language + accessibility) / Step 8 (start-here)
/ Step 9 (amend); added
references/method-depth.md. Additive — input contract + the bar's
spine unchanged. (1.0.0 → 1.1.0.)
1---2name: authoring-user-guide3description: Use when authoring an end-user product guide — the consumer-facing help a typically non-technical person reads to accomplish goals with a product: a getting-started tutorial, task how-to guides, conceptual explanation, an end-user feature/settings/CLI reference (NOT the HTTP API), troubleshooting/FAQ, and a glossary. Guides the METHOD, not the outline: one how-to per user goal from the handed-in upstreams (never invented), the four Diataxis modes kept distinct, every step accurate and named by its exact UI label, plain language for a non-technical reader (no unexplained jargon), an accessible and findable guide, and amending a published guide as a versioned staleness sweep — to a 12-condition usability + accuracy bar. Composes with a user-guide template tool + a research capability. Assumes the handed-in upstreams (feature-spec + user-flows + wireframes) — never a blank page. Not the developer-tool adoption guide (developer-guide), the endpoint catalog (api-reference), or reviewing a finished guide.4---56# `authoring-user-guide` — SKILL.md78> **Variant:** standard · **When to use:** a producer is authoring the end-user guide9> for a product and needs the Diataxis-keyed authoring method + the usability/accuracy10> bar (incl. plain language, accessibility, findability, and amend), composing the section11> structure from a separate template tool.1213## Overview1415This skill guides authoring an **end-user user guide**: the help a real person uses to16accomplish their goals with a product. It carries the *judgment* — how to derive one17how-to per user goal from the upstream docs instead of inventing steps, how to keep the18four Diataxis documentation modes distinct (mixing them is the most common cause of19confusing docs), how to hold every step accurate to what the product actually does and20named by its **exact UI label**, how to write in **plain language** a non-technical reader21can follow, how to keep the guide **accessible** and **findable**, and how to **amend** a22published guide when the product moves — not a section list, which comes from a template23tool. The audience is the (typically non-technical) **end user**, not a developer24integrating a tool: a developer-tool's adoption/integration narrative is a separate25`authoring-developer-guide`, and the HTTP/SDK endpoint catalog is a separate26`authoring-api-reference`. This guide's "reference" mode is the end-user **product**27reference (features, settings, CLI commands), not the API. The guide sits downstream of the28product/behavior docs it describes, and is checked against a usability/accuracy bar by29`reviewing-user-guide`.3031## When to activate3233- Authoring an end-user / customer-facing user guide, help center, or product manual for34 a product, given its upstream docs (typically a feature-spec + user-flows + wireframes).35- Producing the full end-user documentation set — getting-started tutorial, task how-to36 guides, conceptual explanation, an end-user feature/config reference, troubleshooting/37 FAQ, and a glossary — so a real user can accomplish every supported goal.38- **Amending** a published guide after an upstream change (a renamed setting, a removed/39 added feature, a changed flow, a redesigned screen) — a versioned staleness sweep.4041**Do NOT activate when:**4243- Reviewing/judging a finished user guide — that is the review-side gate44 (`reviewing-user-guide`), which asserts the same bar this skill produces to.45- Authoring the developer-tool adoption/integration/onboarding narrative for a library,46 SDK, CLI, framework, or API platform — that is `authoring-developer-guide`.47- Authoring the HTTP/SDK endpoint catalog (the per-endpoint wire contract for integrators)48 — that is `authoring-api-reference`. This skill's reference mode is the end-user product49 surface, not the API.50- Authoring the internal engineering docs (feature-spec, data-model, architecture) — the51 user guide is the external help derived from those, not the contract itself.5253## Inputs5455Read **every document the plan hands you** — your `depends_on` set (the upstream documents56discovery determined inform this one) — and trace each how-to and section back to them.57The typical upstreams are the **feature-spec** (the behaviors the guide explains), the58**user-flows** (the task paths each how-to walks), and the **wireframes** (the screens the59steps reference); where present, also the **PRD** (what/why), the **design-system** (the UI60terminology — use its component/term names so the guide's vocabulary matches the product),61and the **api-reference** (for a developer product). Do not assume a fixed input: that list62is method guidance, not a cap on what you receive — **never hardcode a single narrow input.**6364Be **self-contained and graceful** — produce the guide from *whatever* context you65actually receive. When an expected informing document is absent (e.g. no wireframes), proceed66on what you have and surface the gap as an **explicit assumption**; never fabricate a67feature, setting, screen, or step to fill it. And **use a research capability where one is68available** (the `deep-research` capability, else web search) to make the guide69comprehensive — grounding it in established end-user-docs practice (Diataxis, task-oriented70minimalism, plain-language guidelines, WCAG for textual help, a reputable docs style guide),71not merely to fill the template.7273**On iteration (amend):** the flow hands in the **existing guide + a change request + the74changed upstreams**. Run Step 9 (amend), not a full rewrite — same input contract.7576## Workflow7778> **Compose with the template tool first.** Before drafting, obtain the user-guide section79> structure from the content-template tool (the `content-template-gateway` capability, or80> whatever template provider is installed). It supplies the section slots — introduction/81> overview, getting-started tutorial, how-to guides, conceptual explanation, feature/config82> reference, troubleshooting/FAQ, glossary, **a Versioning & Changelog / revision-history83> section** (the guide's own doc version, for amend), and an assumptions surface. **Never84> hardcode a competing outline** — this skill fills the template's slots with derived85> content; it does not redefine them. Use a research capability to ground any docs86> conventions you are unsure of.8788### Step 1: Enumerate the user goals — one how-to per goal, no orphans8990List the user goals from the handed-in upstreams: from the **user-flows** when present91(each flow is a user goal/job), else from the **feature-spec / PRD**. Produce exactly **one92task-oriented how-to per goal** — every goal gets a how-to, every how-to traces back to a93goal. This is the no-orphan coverage rule, and it degrades gracefully: do not assume94user-flows was handed in; take the goals from whatever upstream actually arrived.9596### Step 2: Write the getting-started tutorial as one guaranteed happy path9798The tutorial is a single learn-by-doing lesson: ONE path, no choices or alternatives,99every step yields a visible result, and success is the author's responsibility. Defer the100"why" to the explanation section and push every failure branch to troubleshooting — a101tutorial that forks or fails is not a tutorial. Pick the **first meaningful success** the102new user can reach, and minimize the steps to it (fewer prerequisites/decisions between103"opened the product" and "first visible win").104105### Step 3: Write each how-to as imperative numbered steps — not a concept dump106107Each how-to addresses an already-oriented user with one goal. Title it as the task108(bare-infinitive, task-based heading). Write it per established docs-style mechanics:109**numbered steps, one action per step** (split a step that runs long), **second person,110present tense, imperative/active voice**. Cover the happy path and point to troubleshooting111for failures. A how-to written as prose or as a concept explanation is the single most112common Diataxis defect — keep it steps.113114### Step 4: Write the explanation with no steps, and the reference complete115116- **Explanation** provides the mental model and the "why"; it contains **no steps** and117 cross-links to the how-to/reference that act on the concepts. Keep it to concepts the118 user genuinely needs, not a tour of internal architecture.119- **Feature/config reference** is neutral, factual, and **complete** over the end-user120 product surface — every feature, setting, and CLI command/shortcut. It **describes, does121 not instruct**, and its structure **mirrors the product** so the user can navigate both122 together. This is the product reference, NOT the HTTP API endpoint catalog.123124### Step 5: Source troubleshooting from the known error states125126Build the troubleshooting catalog from the **user-flows' error/recovery paths** and the127**feature-spec's error handling** — every known error state becomes an entry. Organize by128the user-visible **symptom** (not the internal cause); each entry is symptom -> cause ->129fix, the fix in numbered steps, with the error message/code where one exists. Add an FAQ for130recurring questions and a "get more help" pointer. This is where the failure content the131tutorial and how-tos deliberately omit lives.132133### Step 6: Name controls by their exact label; describe screens textually134135The artifact is markdown text: describe each screen **in words and link the wireframe**136rather than embedding a screenshot. Refer to every control by its **exact UI label** as the137product shows it, and use the **design-system's** component/term names where one exists, the138same way everywhere — so a step maps to what the user sees (a step that says "click Save"139when the button reads "Apply" blocks a non-technical user). Keep command/config content in140fenced snippets.141142### Step 7: Write in plain language; keep the guide accessible143144- **Plain language (for the non-technical reader).** State the purpose first; prefer short145 sentences; use everyday words. **Define every product-specific term and acronym on first146 use** (and collect them in the glossary); never leave an unexplained acronym. Target a147 general-audience reading level — judged by whether a real user can follow it, not by a148 readability score.149- **Accessibility (for a textual help artifact).** Name a control by its **label**, never by150 **color alone** ("the green button") or **location alone** ("the button on the right").151 Give links **meaningful text** (the destination, not "click here"). Nest headings in order152 (no skipped levels). Write each described screen so a reader who cannot see the wireframe153 still understands it (alt-text intent). Pixel contrast / focus appearance are the rendered154 docs-site / design-system's concern, not this textual artifact.155156### Step 8: Signpost the start-here; trace every step; surface gaps as assumptions157158- **Findability.** Give §1 a **start-here signpost** so a first-time reader locates the159 tutorial, a task-seeker the matching how-to, a look-up the reference, and a stuck user160 troubleshooting — a reader finds their entry point without already knowing the product.161- **Accuracy.** Trace each procedural step to a feature-spec behavior (or another handed-in162 upstream). Where an upstream was thin or absent, state the **assumption** you made (so a163 reviewer can challenge it) and list unresolved unknowns as **open questions** — never164 invent a feature, setting, or step and bury it in a procedure.165166### Step 9: On an amend — scope the change, sweep for staleness, re-make coherence167168When handed an existing guide + a change request + the changed upstreams, **edit, don't169rewrite**:1701711. **Scope** the change unit (a how-to / a reference entry / a getting-started step / a172 screen description / a troubleshooting entry / a glossary term / an explanation claim).1732. **Upstream staleness sweep (the dominant move).** For each changed/removed/renamed174 capability, find **every** guide location that referenced it — across all modes (steps,175 reference entries, screen/wireframe links, troubleshooting, glossary, explanation) — and176 re-make each accurate to the current product. A step left describing a removed/renamed177 feature is the highest-impact defect (a fabrication-by-staleness).1783. **Re-make internal coherence.** The tutorial still runs end-to-end on the new behavior;179 the modes stay typed; the reference still mirrors the product; cross-links + glossary180 intact.1814. **Version + changelog.** Bump the guide's own Doc version + add a revision-history entry182 (what changed, when, why) — distinct from the product's version and any skill semver.1835. **Mark superseded/removed.** Delete or mark a removed feature's how-to (note the184 replacement); note a renamed setting's old name once for searchers, then retire it. The185 user guide is a **leaf** — no derived doc downstream.186187### Step 10: Self-check against the usability/accuracy bar (below) before handoff188189Run the quality bar (the 12-condition self-check). Fix every miss before handing the guide190to review. Depth for each method lives in `references/method-depth.md`.191192## Rules193194**Hard rules (never violate):**195196- **Compose, don't duplicate.** The section structure comes from the template tool; this197 skill never ships a competing outline.198- **Derive, don't invent.** Every step traces to a handed-in upstream behavior; surface a199 missing upstream as an explicit assumption, never fabricate to fill it.200- **One how-to per goal — no orphans.** Every user goal in the handed-in upstreams has a201 how-to; goals come from the user-flows when present, else the feature-spec/PRD.202- **Keep the four Diataxis modes distinct.** Tutorial, how-to, explanation, reference are203 separate and correctly typed; never conflate them (no how-to as a concept dump, no204 explanation buried in a tutorial).205- **End-user audience + product reference.** The guide is for the end user; the reference206 is the product surface (features/settings/commands), not the HTTP/SDK API.207- **Plain language + accessible by construction.** Define jargon/acronyms on first use; name208 controls by their label, never by color or location alone; give links meaningful text.209- **An amend is a scoped, swept, versioned delta.** Edit the affected units, sweep every210 stale reference to a changed capability, re-make coherence, version + changelog, mark211 superseded — never a silent in-place rewrite.212213**Preferences (override-able):**214215- Procedure mechanics: numbered steps, one action per step, second person, present tense,216 imperative voice, task-based headings.217- Task-oriented minimalism — action-first, anchored in the user's real tasks; cut anything218 that does not serve the task (an error is a teachable moment that troubleshooting exploits).219- Proportion the guide to the product's goal/feature set — neither pad nor truncate.220221## Gotchas222223- **How-to written as a concept dump.** It looks thorough but buries the steps the user224 came for. A how-to is imperative numbered steps; the "why" belongs in explanation.225- **Tutorial that forks or can fail.** A getting-started lesson with branches or a failure226 path is not a tutorial — it is a how-to or troubleshooting in disguise. One guaranteed227 happy path; push failures to troubleshooting.228- **Incomplete reference.** Skipping the settings/commands that "seem obvious" leaves the229 user unable to look things up. The reference must cover the whole product surface.230- **A step that names the wrong control.** "Click Save" when the button reads "Apply"231 blocks a non-technical user — name controls by their exact product/design-system label.232- **Unexplained jargon / a bare acronym.** Accurate but unfollowable for a non-technical233 reader. Define on first use; collect in the glossary.234- **Color-/location-only instructions.** "Click the green button" / "the one on the right"235 fails a reader who can't perceive color or see the layout — name the control.236- **Fabricated steps from a thin upstream.** When an upstream is missing, inventing a step237 that the product may not actually do is a hidden defect. Surface the gap as an assumption.238- **Stale after a product change.** A step/reference/glossary entry left describing a239 removed or renamed capability is a fabrication-by-staleness — the amend's staleness sweep240 must catch every reference across every mode.241- **Embedding screenshots.** The markdown medium has no binary assets — describe the screen242 in words and link the wireframe. Real screenshots are a future-backend concern.243- **Confusing the reference with the API catalog.** The end-user feature/config reference244 is NOT the HTTP/SDK endpoint reference (`authoring-api-reference`).245246## Anti-patterns247248- **"I'll bake the section list into the doc myself."** That duplicates the template and249 drifts from it. Always compose the structure from the template tool.250- **"One big walkthrough covers everything."** Collapsing tutorial + how-to + explanation251 + reference into one narrative is the #1 cause of confusing docs. Keep the modes distinct.252- **"The upstream didn't say, so I'll just describe what it probably does."** Silent253 invented behavior belongs in the assumptions/open-questions surface, not in a procedure.254- **"The reader will figure out the jargon."** A non-technical reader can't — define it.255- **"The product changed; I'll just patch the one screen I remember."** Without a full256 staleness sweep, other stale references survive — sweep every mode.257- **"This is a developer tool, so I'll write the integration/onboarding narrative here."**258 That is `authoring-developer-guide`; this skill is the end-user product help.259- **"I'll embed the API endpoint table as the reference."** The reference is the product260 surface; the endpoint catalog is `authoring-api-reference`.261262## Usability / accuracy quality bar263264A user guide is **complete + usable + accurate** when ALL hold (this is the same 12-condition265bar the review-side gate asserts, single-sourced and numbered identically):2662671. **Goal coverage — one how-to per goal, no orphans.** Every user goal in the handed-in268 upstreams (user-flows when present, else feature-spec/PRD) has exactly one how-to; every269 how-to traces to a goal.2702. **Four Diataxis modes present AND correctly typed.** Tutorial (one guaranteed path),271 how-to (imperative steps, not a concept dump), explanation (no steps), reference (neutral272 + complete) — not conflated.2733. **End-user feature/config reference complete.** Every user-facing feature, setting, and274 CLI command/shortcut is documented; the reference mirrors the product. (Product surface,275 not the HTTP API.)2764. **Steps accurate to the actual product behavior — incl. UI terminology.** Every step277 matches a handed-in upstream behavior; no invented step/setting/screen; each control is278 named by its **exact product/design-system label**. Fabrication is a hard fail.2795. **Procedure mechanics sound.** Numbered steps, one action per step, second person,280 present tense, imperative voice, task-based headings (using the exact labels).2816. **Troubleshooting covers the known error states.** Every error/recovery path from the282 upstreams appears as a symptom -> cause -> fix entry organized by user-visible symptom;283 recurring questions in the FAQ; a "get more help" pointer.2847. **Usable by the target audience.** A real (typically non-technical) user could accomplish285 every supported goal from the guide alone; prerequisites are stated; screens are described286 and wireframe-linked. *(Language comprehensibility is cond-10 — this condition is the287 accomplish-the-goal / prerequisites / screen-description outcome; do not double-judge288 jargon here.)*2898. **Assumptions/gaps surfaced.** Where an upstream was absent or thin, the assumptions are290 stated (challengeable), not silently invented.2919. **Amend is a scoped, swept, versioned delta.** On an iteration: the delta meets the bar292 on what it touched, the upstream staleness sweep is complete (no removed/renamed293 capability still referenced in any mode), internal coherence holds, the revision-history294 is updated, and superseded/removed items are marked. *(n/a on a greenfield first build.)*29510. **Plain language / readability.** Purpose-first; short sentences; every term/acronym296 defined on first use (collected in the glossary); no unexplained acronym; an audience-fit297 reading level. Judged by whether a non-technical reader can follow it, not a score.298 *(Distinct from cond-7: a jargon/readability defect is cond-10; an unfollowable-flow /299 missing-prerequisite defect is cond-7.)*30011. **Accessibility (proportional).** Meaningful link text (no bare "click here"); headings301 nest correctly; no step relies on color or location alone; described screens carry302 alt-text intent. *(n/a where there are no links/images/color cues; pixel-contrast and303 focus-appearance are the design-system's, not judged here.)*30412. **Findability / start-here.** A first-time reader can locate the start-here and their305 goal's section across the doc set. *(Distinct from cond-1 "organized by goal" and cond-2306 "modes typed" — this is whether the reader can navigate to them; trivially holds for a307 one-page guide; do not double-penalize a defect already caught by cond-1/cond-2.)*308309## Output310311An end-user user guide in markdown, composed onto the template tool's structure: an312introduction/overview (with a start-here signpost + plain-language/accessibility313conventions), a getting-started tutorial (one guaranteed happy path), one task-oriented314how-to per user goal (imperative numbered steps), a conceptual explanation (no steps), an315end-user feature/configuration reference (the product surface — features, settings, CLI316commands — not the HTTP API), a troubleshooting/FAQ sourced from the known error states, a317glossary, a Versioning & Changelog / revision-history section (the guide's own doc version),318and an assumptions/open-questions surface. Screens are described in words with wireframe319links; commands/config are fenced snippets; controls are named by their exact label. On an320amend, the output is a scoped versioned delta + an updated revision-history, not a rewrite.321The artifact is consumed by the review-side gate (which judges it against the 12-condition322bar above) and, ultimately, by a real user accomplishing every supported goal. The method +323bar are medium-independent: a future docs-platform or screenshot-rich backend changes only324the rendering (how screens are shown), not the derivation or the bar.325326## Related327328- **Template provider** (`content-template-gateway` capability) — supplies the user-guide329 section structure this skill composes onto; never duplicated here.330- **Research capability** (`deep-research`, else web search) — grounds the docs conventions331 (Diataxis, minimalism, plain language, WCAG-for-docs, the style guide) and the derivation332 evidence.333- **Upstream input — the handed-in `depends_on` set.** Typically a feature-spec +334 user-flows + wireframes (plus PRD/design-system/api-reference where present). Never335 authored from a blank page.336- **`reviewing-user-guide`** — the review-side gate that asserts the same 12-condition337 usability/accuracy bar; produce-side and review-side are single-sourced.338- **`authoring-developer-guide`** — the sibling for the developer-tool adoption/integration339 narrative; this skill is the end-user product help, distinct from it.340- **`authoring-api-reference`** — the sibling for the HTTP/SDK endpoint catalog; this341 skill's reference mode is the end-user product surface, distinct from it.342343## Progressive disclosure344345- `references/method-depth.md` — the depth behind the method: the plain-language/readability346 conventions, the WCAG-for-a-textual-artifact accessibility checks, the IA/start-here347 reader-journey, the UI-terminology discipline, task-oriented minimalism, and the amend348 staleness-sweep procedure. Load when authoring a section whose method you want in depth.349- `references/sources.md` — research provenance for the section set, the Diataxis-keyed350 authoring method, and the usability/accuracy bar. Load when verifying a claim's grounding.351352## Body budget353354- `description` ≤ 1,024 chars (agentskills.io cap).355- Body ≤ ~500 lines / 5,000 tokens — kept in context every turn.356- Per reference file: warn >10k tokens, error >25k.357358## Changelog359360- **1.1.0** (2026-06-15) — production-grade restructure: single-sourced 12-condition bar361 (added cond-9 amend, cond-10 plain-language, cond-11 accessibility, cond-12 findability;362 deepened cond-4/5 with UI-terminology; migrated the jargon clause from cond-7 to cond-10);363 added Step 6 (exact-label) / Step 7 (plain-language + accessibility) / Step 8 (start-here)364 / Step 9 (amend); added `references/method-depth.md`. Additive — input contract + the bar's365 spine unchanged. (1.0.0 → 1.1.0.)366</content>