run-report
Skill2 starsChanged 9 days agoMITView on GitHub
The structure of the Run report, the message an implementing skill ends its run with. Use when a skill says to write the Run report.
In this repository30 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- code-commentsSkill
- dev-stackSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- prose-styleSkill
- prototypeSkill
- prSkill
- review-changesSkill
- setup-pre-commitSkill
- tddSkill
- ui-designSkill
- worktreesSkill
- check-sdlcSkill
- deslopSkill
- grill-with-docsSkill
- handoffSkill
- implementSkill
- implement-specSkill
- improve-codebase-architectureSkill
- refresh-specSkill
- retroSkill
- setup-sdlcSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- update-designSkill
- codebase-designSkill
- grillingSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Every section appears in every report, in this order, and an empty one reads - None.
- Very specific: line 43
Clean, no PR: every check passed, but the pr skill opened no PR (no supported code host, or the push was refused).
- Distinctive: line 55
Leave out what needs nothing from the user: lock releases, the review rounds told as a story, steps that went as the skill says.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
The Run report is the run's last message to the user. The user scans it to see whether anything needs them and where to click, so every report has the same shape, and the PR body carries the detail. Load the prose-style skill and write it in that style.
**<status>**: <one clause saying why>
### Links
- Stack, merge order:
1. <full PR URL> (<Ticket>)
2. <full PR URL> (<Ticket>)
- Branch: <branch>
- Worktree: <absolute path>
### Done
- <one line per change>
### Checks
- <check>: <pass, fail, or skipped because …>
### Open
- <item>
### Before merging
- <item>
### After merging
- <item>Every section appears in every report, in this order, and an empty one reads - None. That line is a claim: write it only when you checked and found nothing. Use bullets, never tables, and keep the whole report to about 30 lines, blank lines aside.
Status
Exactly one of:
- Ready to merge: the run finished clean and every pull request of the Stack is open for review.
- Stack stopped at Group
<n>: a Group could not finish clean, so the later Groups were not started. The pull requests already open stay, and the reason names the failing Ticket and the check that failed. - Clean, no PR: every check passed, but the
prskill opened no PR (no supported code host, or the push was refused). Open says why. - Blocked, nothing pushed: the run didn't finish clean, and Open says why.
Sections
- Links: one
Label: valuebullet each, except the Stack, which lists one pull request per line in merge order (first to merge first), with URLs and absolute paths written out in full, so the terminal makes them clickable. AddIssues: <issues>for the Spec and Tickets the work came from, named as theprskill names them, and thedev-stackskill'sDev URL:line when a Dev stack is left running. A run with no PR has no Stack lines. - Done: what changed in the system's behaviour, at most five one-line bullets. Name a function or file only when it is the subject of the change. Tag anything outside what the source asked for
(beyond the ask), and a bug the review caught and you fixed(fixed in review). - Checks: one bullet for each of typechecking, the full test suite, the last
review-changesverdict, the dev stack or e2e check, and the tests added. A skipped check says why in a clause. When thedev-stackskill ran, itsChecked there:line is the dev stack bullet. - Open: what is wrong or unfinished. Blockers come first, then review findings left unfixed, bugs found outside the work's scope, and any worktree left behind that blocks something, each with where it lives.
- Before merging: starts with "Merge the pull requests first to last; the agent merged none." Then what the user should do or check before merging: a manual check the run couldn't make, a judgement-call finding to read, a migration or config to apply. Each one says what to do, and what happens if they skip it. The real-provider items the
dev-stackskill's Report step hands over go here, in the shape it gives, for example: "Sign in with real Google before release: the check ran against the Google Emulator, so a callback that only real Google rejects would first fail in production." - After merging: what follows the merge: the
worktreesskill's Sweep,update-designwhen the UI set or changed the Design direction, follow-up work the run surfaced, and any worktree left behind that blocks nothing.
Leave out what needs nothing from the user: lock releases, the review rounds told as a story, steps that went as the skill says.
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.

