Report
Skill emaballarin/ccplugins/plugins/autoresearch/skills/report
Personal plugins for Claude Code (& friends)... maybe worth sharing!
npx -y skills add emaballarin/ccplugins --skill reportAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Write the final summary of an autoresearch run to `./.ar/final_report.md` — trajectory, best commit and its diff, what worked, what failed, and what to try next. Use for `/ar:report`, "write up the autoresearch results", or "summarise the experiment loop". Reads `./.ar/ar.jsonl` from disk, so it works in a fresh session. Writes only the report; never iterates, commits, or reverts, and leaves the loop able to continue.
SKILL.md
3.1 KB, as published. Nobody here has run it
/ar:report — write the run up
Turn the record into something a person can read. Do not iterate.
Steps
-
Read state (
cat ./.ar/ar.jsonl | tail -50, plusworklog.mdandresults.tsvif present). Noar.jsonlmeans nothing to report — say so and stop. -
Reconstruct the run per
${CLAUDE_PLUGIN_ROOT}/references/resume-loop.md§1, across all segments, not just the last: a segment boundary marks a harness or baseline change, so metrics either side of it are not comparable and the report must say where the boundaries fell rather than plotting through them. -
Pull the winner chain from git — it is an independent record of the same run:
git log --format='%h %s' --grep='"status":"keep"' <config.branch> git diff <config.snapshotCommit>..<bestCommit> --stat -
Write
./.ar/final_report.md:- Goal and setup — objective, metric, direction, harness, budget.
- Result — baseline → best, absolute and relative, with the confidence tier. State plainly whether the total gain clears the noise floor; a run that ended inside its own scatter did not find anything, and the report says so rather than dressing it up.
- Trajectory — the keep chain, each with commit, metric, delta and the one-line description of the change.
- What worked — the winning changes and, where the record supports it, why they worked. Distinguish an explanation from a guess.
- What failed — discarded families of hypotheses. This is the part with the most reuse value; a future run should not re-derive these.
- Caveats — crashes,
checks_failediterations, seeds that disagreed, segment boundaries. - Next — the strongest untried ideas, from
ideas.mdand the plateau history.
-
Report the path.
.gitignorecarries!.ar/final_report.md, so the report is trackable if it should be committed — offer, do not commit unasked.
Hard rules
- Write
final_report.mdand nothing else. No iterating, no commits, no branch switches, no reverts. - Every number comes from
ar.jsonlor git. Never recompute or estimate one. - Report failures and null results as prominently as wins. A loop that banked noise is a finding; concealing it wastes the next run.
Completion status
End with a terminal status token as the last line of your reply — DONE,
DONE_WITH_CONCERNS, BLOCKED, or NEEDS_CONTEXT — per
references/completion-status.md. For /ar:report, DONE once
final_report.md is written and its path reported; NEEDS_CONTEXT if ar.jsonl
is absent or empty (nothing to summarise).