# Report

> report: a receipt for the work

- Skill: `mehrad-dm/report` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add mehrad-dm/report`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mehrad-dm/report/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: mehrad-dm (https://skillmd.com/u/mehrad-dm)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mehrad-dm/report

---


# 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

1. **Title + verdict**: Done · Done, not fully checked · Not done · Wrong thing, one line why,
   and the `not checked:` line.
2. **What changed**: files touched (path + one-line what), grouped by area.
3. **Key decisions**: the non-obvious calls and the one-line reason (not what the model already knows).
4. **How it was verified**: what was actually run/observed end-to-end, and what it produced.
5. **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.

