Usage Guide Builder (grade-1 reading level)
Build a guide that shows a reader how to use the project, written so simply that a young child
could follow it. The reader wants to do a task, not understand the theory. Read
references/house-style.md first, then apply the stricter simple-English rules here.
Diátaxis mode: how-to (task-oriented). Each section helps the reader do one thing. Keep it
distinct from a learning track (which teaches concepts) and an FAQ (which answers questions).
Before you start (inputs, when to run, where it sits)
Inputs it needs. A project that a user can already do something with, plus enough to name the
real tasks: a README, the commands or the screens a user actually touches, and the project profile
(assets/project-profile.md, copied to docs/project-profile.md — it sets grade_target_usage_guide
and scope_usage_guide). The guide describes only tasks you can ground in the real interface; it does
not invent steps. If a task cannot be grounded, say so rather than guess.
When to run it in a Claude-Code build. Not on an empty repo, and not per commit. A usage guide
needs a usable surface to point at, so run it once a user-facing path actually works (a working command
or a screen a user can complete a task on) — in practice once the quickstart runs end to end — and
refresh it per release/milestone whenever the steps a user follows change. Treat it like
docs-as-code: it carries a last-reviewed date and is re-checked when those steps change (the verifier
WARNs once that date goes stale).
How it sequences with the other seven skills (producers before consumers; one task at a time is the
line this skill holds):
- learning-track (public concepts course) — teaches why/how it works; this guide only shows
how to do a task. Send theory and background there, not here.
- architecture-and-decisions (design rationale) — the why it is built this way; never in a usage
guide.
- project-faq (broad Q&A reference) — answers many questions across breadth; a step-by-step for a
single task belongs here instead.
- operations-runbook (operator recovery) — for an operator restoring a broken system; this guide is
for an end user doing a normal task.
- onboarding-companion (contributor onboarding) — for someone joining to contribute; this guide is
for someone using the project.
- doc-critic (the independent critic gate) — reviews the finished guide for steps the code does not
support, undefined terms, and broken cross-references, and gates publishing on unresolved blockers; this
skill writes the guide, doc-critic judges it. Run it before Workflow step 8.
- publish-mirror (downstream publish step) — when the owner wants the page on a wiki or portal, hand
off to it (Workflow step 8); never author in the target.
The grade-1 clarity gate (the whole point)
This is the simplest document in the suite. The reading-grade target is grade_target_usage_guide
from the profile (default ~2). Hold to these rules:
- Very short sentences. Aim for about 8 words. One idea per sentence.
- Common words only. If a word is hard, use an easier one or explain it in tiny words right there.
- Say the steps. Number every step. Tell the reader exactly what to click, type, or tap.
- Say what they will see. After a step, say what should happen, so they know it worked.
- Pictures help. Add a simple diagram or screenshot-style image for each main task (original
images only; alt text required).
- No jargon. If a technical word cannot be avoided, give it a one-line "this means…" in kid words.
- Be kind and calm. Short, friendly, encouraging. Never make the reader feel slow.
Safety: never tell the reader to type a password, card number, or secret into a place this guide
controls. For anything like signing in or paying, tell the reader to do that step themselves, the
normal way.
Structure (use this order)
- What this is. One short line: what the thing does, in plain words.
- What you need first. A tiny checklist (an account, a device, the app installed).
- Do this first (quickstart). The fastest path to a first success, ideally one command or a few
clicks. Number the steps. End with "Now you have done it once."
- The main things you can do. One short section per task. Each task is: a one-line goal → numbered
steps → "what you will see" → a picture. Keep tasks small.
- If something goes wrong. The few common problems, each as: "If you see X → do Y." Calm and
clear.
- Words we used. A tiny glossary of any hard word, each defined in kid words.
- Where to get help. Who to ask or where to look, and the feedback line.
- About & credits. Who made it, the licence, and how to credit it on reshare — kept plain, as the
generator's first-class
credits block, per references/licensing-and-credits.md.
Carry the profile's licence footer (the © line) on the page, and a Last reviewed: YYYY-MM-DD stamp
near the top — the HTML generator below renders both for you. If scope_usage_guide is public, follow
the public-output rules (no internal tool names, no author motivation).
Workflow
Read house-style.md; find or create the project profile. Note grade_target_usage_guide and
scope_usage_guide. Read references/simple-english-rules.md and
references/usage-guide-structure.md.
List the real tasks a user does with the project (from the README, the commands, the interface).
Keep only what a user actually needs; cut everything else.
Write each section to the structure above, at the grade target. Write a step, then read it aloud in
your head — if a child could not follow it, cut words and split the sentence.
Add a simple picture for each main task (themed Mermaid or a clean original diagram; alt text and a
static fallback per house-style.md Section 7).
Build the page (repo-first). A styled, illustrated HTML page is the default for non-technical
readers — build it with assets/usage_guide_generator.py: author the guide as a Python data
structure (sections of steps, see, picture, trouble, glossary, and credits blocks) and
render it. The generator bakes in the three required pieces so you cannot silently drop them:
- the
© licence footer — set footer to the licence line from
references/licensing-and-credits.md (the public variant, built from the profile's
{{licence_footer}} / {{year}} / {{owner_name}}); the decorative watermark does not replace
it;
- the About & credits block — the first-class
credits block, kept plain and short (the full
attribution line and the LICENSE disclaimer live off the page);
- a machine-readable last-reviewed stamp — set
last_reviewed to the date you last checked the
steps (YYYY-MM-DD); it emits a <meta name="last-reviewed"> plus a visible line.
Markdown is fine if asked — then carry the same three by hand: the © footer line, a
Last reviewed: YYYY-MM-DD stamp, and the About & credits page + LICENSE per
references/licensing-and-credits.md. Either way, write the page to the repository first
(docs/usage-guide/index.html; outputs/{{project_name}}-usage-guide.html in this tool) — that is
the source of truth; you never author in the target.
Check the reading level — this matters most here:
python3 scripts/verify.py docs/usage-guide.md --format md --skill usage-guide --profile docs/project-profile.md
# or for an HTML build:
python3 scripts/verify.py outputs/usage-guide.html --format html --skill usage-guide --profile docs/project-profile.md
If the grade is too high, simplify until it passes. Do not game the number — actually make it
simpler. (The verifier also fails a public page with no © footer, and WARNs once the last-reviewed
stamp goes stale.)
Present the file (a single illustrated HTML page is best for non-technical readers; Markdown is
fine if asked).
Publish (optional, repo-first — a separate step). Write the source to the repository first;
that is always the source of truth, and you never author in the target. Publishing is optional and
separate: when the owner wants it, hand the page to the publish-mirror skill, which renders it
to each destination in docs/publish-targets.yaml following references/render-contract.md. An
HTML page goes by the HTML-source path (faithful on a portal that hosts HTML; degraded to native
structure on a wiki, where the interactivity is lost — state that on the page); a Markdown page
goes by the primitive path.
Quality bar (self-check before presenting)
- A young child could read most sentences out loud and understand them.
- Every step says exactly what to do, and what they will see next.
- No jargon without a tiny "this means…" right beside it.
- Each main task has a picture with alt text.
- The reading-grade check passes the target.
- No step asks the reader to type a secret into a place this guide controls.
- The page carries the
© licence footer (HTML: footer was set; the watermark alone is not enough)
and an About & credits block; the verifier fails a public page with no ©.
- A
last_reviewed date (YYYY-MM-DD) is set, so the page carries the freshness stamp and the
staleness check has something to read.
- No real secrets or personal data on the page (the verifier fails near-certain credential shapes and
warns on softer ones); redact before publishing.
Licensing and credits (required). When you build the HTML page (Workflow step 5), the generator
carries all of this for you: set its footer to the licence line (the ©, public variant for a usage
guide) so every page carries the footer, and include the About & credits block with the generator's
first-class credits block (the short licence line, never the full disclaimer). The document set also
ships a LICENSE carrying the warranty disclaimer and an About & credits page. All of this is defined
once in references/licensing-and-credits.md (referenced, never restated); the disclaimer text lives
only in the profile ({{licence_disclaimer}}), and the footer/title are built from {{project_name}} /
{{owner_name}} / {{year}}, never a hard-coded name. The verifier fails a public page with no footer
and, in CI with --license LICENSE, a LICENSE that drops the disclaimer or does not name the content
licence. It also runs a low-false-positive secret/PII scan (every scope) and a staleness check on the
last_reviewed stamp.
Skill version: v1.1.0 — see CHANGELOG.md in this folder. Earlier passes are recorded there.
References and assets
references/licensing-and-credits.md — the licensing + credits standard; applies to every document this skill produces.
references/house-style.md — the shared writing standard (read first).
references/simple-english-rules.md — the strict grade-1 word and sentence rules.
references/usage-guide-structure.md — the section-by-section template with examples.
references/render-contract.md — how the finished page maps to each publish target (step 8); the conversion lives here, not in this skill.
assets/usage_guide_generator.py — the reusable illustrated-page generator (carries the footer, About & credits block, and ISO last-reviewed stamp by construction).
assets/project-profile.md — copy into the repo and fill once per project.
assets/publish-targets.yaml — the publish destinations manifest used by publish-mirror (step 8).
scripts/verify.py — run the reading-level (and licensing/staleness) checks before presenting.
1---2name: usage-guide3description: Create a usage guide or how-to-use guide for a software project written so simply that even a young child at a grade-1 reading level can follow it. Short sentences, common words, one idea at a time, lots of concrete numbered steps, and pictures. Produces a clean illustrated single-file HTML page (or Markdown). Use this whenever the user wants a usage guide, how-to, user manual, getting-started guide, quickstart, step-by-step instructions, or the simplest-possible explanation of how to use their project. Use it even if the user only says "explain how to use this like I'm five", "write the simplest instructions", or "a guide my non-technical users can follow". Not a concepts course (learning-track), not a Q&A or knowledge base (project-faq), not the design-rationale doc (architecture-and-decisions), not contributor onboarding (onboarding-companion). Enforce the reading level with the bundled readability check.4---56# Usage Guide Builder (grade-1 reading level)78Build a guide that shows a reader **how to use the project**, written so simply that a young child9could follow it. The reader wants to *do* a task, not understand the theory. Read10`references/house-style.md` first, then apply the stricter simple-English rules here.1112**Diátaxis mode:** *how-to* (task-oriented). Each section helps the reader do one thing. Keep it13distinct from a learning track (which teaches concepts) and an FAQ (which answers questions).1415---1617## Before you start (inputs, when to run, where it sits)1819**Inputs it needs.** A project that a user can already *do something* with, plus enough to name the20real tasks: a README, the commands or the screens a user actually touches, and the project profile21(`assets/project-profile.md`, copied to `docs/project-profile.md` — it sets `grade_target_usage_guide`22and `scope_usage_guide`). The guide describes only tasks you can ground in the real interface; it does23not invent steps. If a task cannot be grounded, say so rather than guess.2425**When to run it in a Claude-Code build.** *Not* on an empty repo, and *not* per commit. A usage guide26needs a usable surface to point at, so run it once a user-facing path actually works (a working command27or a screen a user can complete a task on) — in practice once the quickstart runs end to end — and28**refresh it per release/milestone** whenever the steps a user follows change. Treat it like29docs-as-code: it carries a last-reviewed date and is re-checked when those steps change (the verifier30WARNs once that date goes stale).3132**How it sequences with the other seven skills** (producers before consumers; one task at a time is the33line this skill holds):3435- **learning-track** (public concepts course) — teaches *why/how it works*; this guide only shows36 *how to do a task*. Send theory and background there, not here.37- **architecture-and-decisions** (design rationale) — the *why it is built this way*; never in a usage38 guide.39- **project-faq** (broad Q&A reference) — answers many questions across breadth; a step-by-step for a40 single task belongs here instead.41- **operations-runbook** (operator recovery) — for an operator restoring a broken system; this guide is42 for an end user doing a normal task.43- **onboarding-companion** (contributor onboarding) — for someone joining to *contribute*; this guide is44 for someone *using* the project.45- **doc-critic** (the independent critic gate) — reviews the finished guide for steps the code does not46 support, undefined terms, and broken cross-references, and gates publishing on unresolved blockers; this47 skill writes the guide, doc-critic judges it. Run it before Workflow step 8.48- **publish-mirror** (downstream publish step) — when the owner wants the page on a wiki or portal, hand49 off to it (Workflow step 8); never author in the target.5051---5253## The grade-1 clarity gate (the whole point)5455This is the simplest document in the suite. The reading-grade target is **`grade_target_usage_guide`56from the profile (default ~2)**. Hold to these rules:5758- **Very short sentences.** Aim for about 8 words. One idea per sentence.59- **Common words only.** If a word is hard, use an easier one or explain it in tiny words right there.60- **Say the steps.** Number every step. Tell the reader exactly what to click, type, or tap.61- **Say what they will see.** After a step, say what should happen, so they know it worked.62- **Pictures help.** Add a simple diagram or screenshot-style image for each main task (original63 images only; alt text required).64- **No jargon.** If a technical word cannot be avoided, give it a one-line "this means…" in kid words.65- **Be kind and calm.** Short, friendly, encouraging. Never make the reader feel slow.6667**Safety:** never tell the reader to type a password, card number, or secret into a place this guide68controls. For anything like signing in or paying, tell the reader to do that step themselves, the69normal way.7071---7273## Structure (use this order)74751. **What this is.** One short line: what the thing does, in plain words.762. **What you need first.** A tiny checklist (an account, a device, the app installed).773. **Do this first (quickstart).** The fastest path to a first success, ideally one command or a few78 clicks. Number the steps. End with "Now you have done it once."794. **The main things you can do.** One short section per task. Each task is: a one-line goal → numbered80 steps → "what you will see" → a picture. Keep tasks small.815. **If something goes wrong.** The few common problems, each as: "If you see X → do Y." Calm and82 clear.836. **Words we used.** A tiny glossary of any hard word, each defined in kid words.847. **Where to get help.** Who to ask or where to look, and the feedback line.858. **About & credits.** Who made it, the licence, and how to credit it on reshare — kept plain, as the86 generator's first-class `credits` block, per `references/licensing-and-credits.md`.8788Carry the profile's licence footer (the `©` line) on the page, and a `Last reviewed: YYYY-MM-DD` stamp89near the top — the HTML generator below renders both for you. If `scope_usage_guide` is `public`, follow90the public-output rules (no internal tool names, no author motivation).9192---9394## Workflow95961. Read `house-style.md`; find or create the project profile. Note `grade_target_usage_guide` and97 `scope_usage_guide`. Read `references/simple-english-rules.md` and98 `references/usage-guide-structure.md`.992. List the real tasks a user does with the project (from the README, the commands, the interface).100 Keep only what a user actually needs; cut everything else.1013. Write each section to the structure above, at the grade target. Write a step, then read it aloud in102 your head — if a child could not follow it, cut words and split the sentence.1034. Add a simple picture for each main task (themed Mermaid or a clean original diagram; alt text and a104 static fallback per `house-style.md` Section 7).1055. **Build the page (repo-first).** A styled, illustrated HTML page is the default for non-technical106 readers — build it with `assets/usage_guide_generator.py`: author the guide as a Python data107 structure (sections of `steps`, `see`, `picture`, `trouble`, `glossary`, and `credits` blocks) and108 render it. The generator bakes in the three required pieces so you cannot silently drop them:109 - the `©` licence **footer** — set `footer` to the licence line from110 `references/licensing-and-credits.md` (the public variant, built from the profile's111 `{{licence_footer}}` / `{{year}}` / `{{owner_name}}`); the decorative `watermark` does not replace112 it;113 - the **About & credits** block — the first-class `credits` block, kept plain and short (the full114 attribution line and the `LICENSE` disclaimer live off the page);115 - a machine-readable **last-reviewed** stamp — set `last_reviewed` to the date you last checked the116 steps (`YYYY-MM-DD`); it emits a `<meta name="last-reviewed">` plus a visible line.117118 **Markdown is fine if asked** — then carry the same three by hand: the `©` footer line, a119 `Last reviewed: YYYY-MM-DD` stamp, and the About & credits page + `LICENSE` per120 `references/licensing-and-credits.md`. Either way, **write the page to the repository first**121 (`docs/usage-guide/index.html`; `outputs/{{project_name}}-usage-guide.html` in this tool) — that is122 the source of truth; you never author in the target.1236. **Check the reading level** — this matters most here:124 ```bash125 python3 scripts/verify.py docs/usage-guide.md --format md --skill usage-guide --profile docs/project-profile.md126 # or for an HTML build:127 python3 scripts/verify.py outputs/usage-guide.html --format html --skill usage-guide --profile docs/project-profile.md128 ```129 If the grade is too high, simplify until it passes. Do not game the number — actually make it130 simpler. (The verifier also fails a public page with no `©` footer, and WARNs once the last-reviewed131 stamp goes stale.)1327. Present the file (a single illustrated HTML page is best for non-technical readers; Markdown is133 fine if asked).1348. **Publish (optional, repo-first — a separate step).** Write the source to the repository first;135 that is always the source of truth, and you never author in the target. Publishing is optional and136 separate: when the owner wants it, hand the page to the **publish-mirror** skill, which renders it137 to each destination in `docs/publish-targets.yaml` following `references/render-contract.md`. An138 HTML page goes by the HTML-source path (faithful on a portal that hosts HTML; degraded to native139 structure on a wiki, where the interactivity is lost — state that on the page); a Markdown page140 goes by the primitive path.141142---143144## Quality bar (self-check before presenting)145- A young child could read most sentences out loud and understand them.146- Every step says exactly what to do, and what they will see next.147- No jargon without a tiny "this means…" right beside it.148- Each main task has a picture with alt text.149- The reading-grade check passes the target.150- No step asks the reader to type a secret into a place this guide controls.151- The page carries the `©` licence footer (HTML: `footer` was set; the watermark alone is not enough)152 and an **About & credits** block; the verifier fails a public page with no `©`.153- A `last_reviewed` date (`YYYY-MM-DD`) is set, so the page carries the freshness stamp and the154 staleness check has something to read.155- No real secrets or personal data on the page (the verifier fails near-certain credential shapes and156 warns on softer ones); redact before publishing.157158159**Licensing and credits (required).** When you build the HTML page (Workflow step 5), the generator160carries all of this for you: set its `footer` to the licence line (the `©`, public variant for a usage161guide) so every page carries the footer, and include the **About & credits** block with the generator's162first-class `credits` block (the short licence line, never the full disclaimer). The document set also163ships a `LICENSE` carrying the warranty disclaimer and an About & credits page. All of this is defined164once in `references/licensing-and-credits.md` (referenced, never restated); the disclaimer text lives165only in the profile (`{{licence_disclaimer}}`), and the footer/title are built from `{{project_name}}` /166`{{owner_name}}` / `{{year}}`, never a hard-coded name. The verifier fails a public page with no footer167and, in CI with `--license LICENSE`, a LICENSE that drops the disclaimer or does not name the content168licence. It also runs a low-false-positive secret/PII scan (every scope) and a staleness check on the169`last_reviewed` stamp.170171---172173*Skill version: v1.1.0 — see `CHANGELOG.md` in this folder. Earlier passes are recorded there.*174175## References and assets176- `references/licensing-and-credits.md` — the licensing + credits standard; applies to every document this skill produces.177- `references/house-style.md` — the shared writing standard (read first).178- `references/simple-english-rules.md` — the strict grade-1 word and sentence rules.179- `references/usage-guide-structure.md` — the section-by-section template with examples.180- `references/render-contract.md` — how the finished page maps to each publish target (step 8); the conversion lives here, not in this skill.181- `assets/usage_guide_generator.py` — the reusable illustrated-page generator (carries the footer, About & credits block, and ISO last-reviewed stamp by construction).182- `assets/project-profile.md` — copy into the repo and fill once per project.183- `assets/publish-targets.yaml` — the publish destinations manifest used by `publish-mirror` (step 8).184- `scripts/verify.py` — run the reading-level (and licensing/staleness) checks before presenting.