qemu-rst-documentation
Skill60 starsChanged 13 days agoMITView on GitHub
Use for writing or updating QEMU reStructuredText documentation, including board and machine docs, system docs, device docs, developer docs, boot command examples, feature status tables, Sphinx index/toctree updates, and docs build validation.
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 12 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈12
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 37
Write or update local, fork, or downstream QEMU documentation.
- Distinctive: line 44
Before writing, inspect the checked-out tree:
- Distinctive: line 52
Document only implemented, verified, or explicitly marked behavior.
- Distinctive: line 57
Start from the board page template and follow the page requirements.
- Distinctive: line 63
Document only behavior implemented in the checked-out tree and verified by qtest, trace, logs, or an explicit limitation note.
- Distinctive: line 65
Do not link external repositories, image recipes, private build systems, or local machine-image internals.
- Very specific: line 67
Remove undecided internals instead of explaining them.
- Distinctive: line 68
Place the page in the architecture toctree by title sort, matching nearby entries.
- Distinctive: line 73
Keep command lines copy-pasteable and wrap them consistently.
- Very specific: line 76
Use placeholders such as /path/to/Image.
- Very specific: line 82
Use double backticks for inline literals and :: for command blocks unless nearby docs prefer ..
- Distinctive: line 84
Do not use Markdown fences or Markdown-only syntax.
- Distinctive: line 85
Keep toctree entries sorted or grouped as the local index does.
- Distinctive: line 86
Add the page to the relevant toctree.
- Distinctive: line 87
Verify that labels, references, and substitutions resolve in the local build.
- Very specific: line 91
Run the local gates on the page and record the command, tool version, and result under logs/:
- Distinctive: line 103
When the target is absent, use the docutils or direct Sphinx fallback in docs-validation.md.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
QEMU RST Documentation
Audit workflow
For a non-trivial task that writes to the workspace, use only the needed entries under
.oh-my-qemu/<task-slug>/: audit.md (baseline, plan, decisions, evidence, verification, and
gaps), commands.md (redacted commands, working directories, and results), logs/ (decisive
build, test, and runtime output), scripts/ (probes, parsers, and harnesses), and output/
(generated deliverables, third-party dependencies, and non-QEMU binaries). Keep QEMU's own build
tree at source-root builds/build-<target>/, never an unqualified build/. In a Git worktree,
add .agents/, .oh-my-qemu/, and builds/ to the file from
git rev-parse --git-path info/exclude before writing artifacts or configuring QEMU; preserve
existing entries and avoid duplicates. Never stage or commit these paths; stage source only when
the user explicitly requests that separate action. At handoff, reconcile git status --short
with the baseline and report the task directory, build directory, source changes, pre-existing
changes, and unresolved gaps.
QEMU upstream boundary
QEMU's official GitLab and mailing lists are upstream channels. A patch becomes an upstream
contribution when it is sent to the maintainers selected through MAINTAINERS. Do not prepare or
send agent-generated code, documentation, commit messages, or patches for upstream submission; see
the checked-out tree's docs/devel/code-provenance.rst. Research, debugging, analysis, local
experiments, verification, and workflow guidance remain allowed. Local branches, commits, patch
files, pushes, and pull requests are not by themselves upstream contributions; perform those Git
actions only when requested.
Scope and allowed use
Write or update local, fork, or downstream QEMU documentation. This skill does not prepare
documentation for upstream submission; follow the boundary above and the checked-out tree's
docs/devel/code-provenance.rst. For a simple typo or one-line fix, do not create audit
artifacts: edit, validate the page, and report the change.
Source-first rule
Before writing, inspect the checked-out tree:
- the nearest sibling page in the same directory, such as
docs/system/<arch>/,docs/devel/, ordocs/tools/; - the relevant
index.rstor toctree file; MAINTAINERSwhen adding a documented area;- the implementation, tests, logs, or traces that prove the documented behavior.
Document only implemented, verified, or explicitly marked behavior. Do not infer support status from names or from a boot smoke alone.
Board and machine pages
Start from the board page template and follow the page requirements. A short board page (roughly 80-120 lines) contains overview, supported devices, boot options, machine properties, memory map (optional), interrupts (optional), known limitations, running tests, and references (optional). Omit empty sections and keep the nearest sibling page's section order and length.
- Document only behavior implemented in the checked-out tree and verified by qtest, trace, logs, or an explicit limitation note.
- Do not link external repositories, image recipes, private build systems, or local machine-image internals; use checked-out-tree paths only.
- Remove undecided internals instead of explaining them; record cuts in
audit.md. - Place the page in the architecture toctree by title sort, matching nearby entries.
Content rules
- Name machine types exactly as the QEMU command line does.
- Keep command lines copy-pasteable and wrap them consistently.
- State serial console routing when boot output depends on it.
- Separate supported devices from stubs, unimplemented regions, and workarounds.
- Use placeholders such as
/path/to/Image; never project-local paths. - Tie behavior claims to qtest, trace, workload evidence, or a limitation note.
RST rules
- Match the heading hierarchy and adornment style used by nearby pages.
- Use double backticks for inline literals and
::for command blocks unless nearby docs prefer.. code-block::. - Do not use Markdown fences or Markdown-only syntax.
- Keep toctree entries sorted or grouped as the local index does.
- Add the page to the relevant toctree; a standalone file is not enough.
- Verify that labels, references, and substitutions resolve in the local build.
Validation
Run the local gates on the page and record the command, tool version, and result under logs/:
SKILL_DIR=<path-to-this-skill>
"$SKILL_DIR/scripts/rst-gates.sh" --repo-root <qemu-root> <page>.rst
ninja -C builds/build-<target> sphinxdocsThe script checks heading underlines, toctree presence, out-of-tree repository links, local
absolute paths, line length, literal blocks, and docutils parsing when available; record any SKIP
as a validation limitation. The sphinxdocs target exists only when Sphinx was found and docs
are enabled; configure a named build directory with -Ddocs=enabled when Sphinx is available.
When the target is absent, use the docutils or direct Sphinx fallback in
docs-validation.md.
At minimum run git diff --check and inspect heading hierarchy, toctree inclusion,
literal-block indentation, and command-line wrapping.
Report
Report the docs files changed, toctree updates, source evidence for behavior claims, the validation command and result, known validation limitations, and any intentionally undocumented behavior.
Upstream references
docs/devel/docs.rstdocs/devel/code-provenance.rstdocs/devel/style.rstdocs/devel/submitting-a-patch.rst
Paths can differ between QEMU versions; locate them in the checked-out tree.
In this repository19 other files it gives its agents.
- AGENTS.mdAGENTS.md
- qemu-agent-feedbackSkill
- qemu-board-modelingSkill
- qemu-boot-runSkill
- qemu-buildSkill
- qemu-debugSkill
- qemu-imageSkill
- qemu-kernel-buildSkill
- qemu-linux-bootSkill
- qemu-modelerSkill
- qemu-model-reviewSkill
- qemu-model-verificationSkill
- qemu-peripheral-modelingSkill
- qemu-qtestSkill
- qemu-register-extractionSkill
- qemu-tcg-backendSkill
- qemu-tcg-frontendSkill
- qemu-uboot-buildSkill
- qemu-workflowSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

