-
Confirm the guide does not already exist. Check docs/guides/README.md and the files on disk. If a similar guide exists, update it instead of creating a new one (this skill covers both).
-
Create the file at docs/guides/<slug>.md.
-
Structure the guide with these sections, in this order:
# <Task title in imperative>
<One-paragraph summary: what this guide accomplishes and who it is for.>
## Goal
<Bulleted or prose statement of the outcome. "After this guide, you will have X running / Y configured / Z ported.">
## Prerequisites
<Bulleted list. Software installed, repos cloned, accounts created, hardware available. Link out to prerequisite guides where applicable.>
## Steps
1. **<Short imperative step>.** <Explanation. Fenced code block(s) with command lines.>
2. **<Next step>.** …
<Use `###` sub-sections if the number of steps exceeds ~8 and they group naturally.>
## Verifying it worked
<How the reader knows they succeeded. Specific output to look for; command to run; file to inspect.>
## Troubleshooting
<Common failure modes and fixes. Optional but recommended.>
## References
<ADRs, architecture docs, standards, external links that are relevant.>
-
Write for a reader cold. Assume the reader has general kernel-development literacy but has never done this specific task. Do not assume they have read the rest of the repo. Link out when background is needed.
-
Commands in code blocks. Every command goes in a fenced code block with the sh language tag:
```sh
rustup target add aarch64-unknown-none
```
Do not prefix commands with $. Do not mix command lines with output inside the same block unless the output is minimal and obviously distinct.
-
Outputs in a separate block when showing expected output:
```text
info: installing component 'rust-src'
```
-
File paths and placeholders.
- Absolute paths verbatim.
- Placeholders in
<angle-brackets>: <board-name>, <version>, <your-local-path>.
-
Follow documentation-style.md — English, Mermaid for any diagrams, relative links within the repo.
-
Update the index at docs/guides/README.md — add a row for the new guide with audience and status.
-
Commit per commit-style.md:
- Message:
docs(guides): <slug> — e.g. docs(guides): toolchain-setup.
- Body: what the guide walks through.