report: a receipt for the work
Turn a completed cycle into a concise, skimmable record someone can read without re-reading the diff.
It's the same content as the in-chat verdict, made durable and shareable.
When it runs
- On request: "give me a report", "write up what you did", "summarize this cycle".
- Automatically at the end of
build / qa only if the project preference says so (below).
Default is off: otherwise the in-chat verdict is the whole deliverable.
Preference (per project): off by default
Read .mastermind/prefs.md in the project root for a cycle-report: line: one of:
off (default, and the assumption if the file/key is missing): report only on explicit request.
ask: at the end of a report-worthy cycle, offer once: "want a report? markdown / html / no".
markdown: always write a Markdown report.
html: always write a self-contained HTML report.
The init skill sets this once, at the first task. The user can change it anytime ("reports off",
"always give me html reports"): update the line in .mastermind/prefs.md to match.
What goes in it: signal, not a log
- Title + verdict: Done · Done, not fully checked · Not done · Wrong thing, one line why,
and the
not checked: line.
- What changed: files touched (path + one-line what), grouped by area.
- Key decisions: the non-obvious calls and the one-line reason (not what the model already knows).
- How it was verified: what was actually run/observed end-to-end, and what it produced.
- Follow-ups / risks: anything left, edge cases, TODOs.
Keep it tight: a bloated report gets ignored (same rule as the brain: signal density beats volume).
Format
- Markdown (default): write
.mastermind/reports/<slug>-<YYYY-MM-DD>.md (use today's date), or a
path the user names. Cheap, diffable, opens anywhere.
- HTML (on request /
cycle-report: html): one self-contained file (inline CSS, no external
assets or scripts), lightly MasterMind-styled, so it opens in any browser. Costs more tokens.
Tool-agnostic: always a plain file on disk, so it survives whatever tool wrote it.
Cost & restraint
An HTML report adds meaningful output tokens (1.5–4k) vs Markdown (0.4–1k); the in-chat verdict is
~free. Match effort to stakes: for a one-line change, skip the report entirely: offer nothing. Reserve
it for cycles someone would actually want to read or share.
1---2name: report3description: report: a receipt for the work4---56# report: a receipt for the work78Turn a completed cycle into a concise, skimmable record someone can read **without re-reading the diff**.9It's the same content as the in-chat verdict, made durable and shareable.1011## When it runs1213- **On request**: "give me a report", "write up what you did", "summarize this cycle".14- **Automatically** at the end of `build` / `qa` **only if** the project preference says so (below).15 Default is **off**: otherwise the in-chat verdict is the whole deliverable.1617## Preference (per project): off by default1819Read **`.mastermind/prefs.md`** in the project root for a `cycle-report:` line: one of:2021- `off` (default, and the assumption if the file/key is missing): report only on explicit request.22- `ask`: at the end of a report-worthy cycle, offer once: *"want a report? markdown / html / no"*.23- `markdown`: always write a Markdown report.24- `html`: always write a self-contained HTML report.2526The `init` skill sets this once, at the first task. The user can change it anytime ("reports off",27"always give me html reports"): update the line in `.mastermind/prefs.md` to match.2829## What goes in it: signal, not a log30311. **Title + verdict**: Done · Done, not fully checked · Not done · Wrong thing, one line why,32 and the `not checked:` line.332. **What changed**: files touched (path + one-line what), grouped by area.343. **Key decisions**: the non-obvious calls and the one-line reason (not what the model already knows).354. **How it was verified**: what was actually run/observed end-to-end, and what it produced.365. **Follow-ups / risks**: anything left, edge cases, TODOs.3738Keep it tight: a bloated report gets ignored (same rule as the brain: signal density beats volume).3940## Format4142- **Markdown (default)**: write `.mastermind/reports/<slug>-<YYYY-MM-DD>.md` (use today's date), or a43 path the user names. Cheap, diffable, opens anywhere.44- **HTML (on request / `cycle-report: html`)**: one **self-contained** file (inline CSS, no external45 assets or scripts), lightly MasterMind-styled, so it opens in any browser. Costs more tokens.4647Tool-agnostic: always a plain file on disk, so it survives whatever tool wrote it.4849## Cost & restraint5051An HTML report adds meaningful output tokens (~1.5–4k) vs Markdown (~0.4–1k); the in-chat verdict is52~free. Match effort to stakes: **for a one-line change, skip the report entirely**: offer nothing. Reserve53it for cycles someone would actually want to read or share.