reporting
Skill0 starsChanged 23 days agoMITView on GitHub
The session-output contract for the pipeline — terse one-line-per-stage status and a fixed final block. All detail lives in the files, not the chat. Bound by the orchestrator and every pipeline agent.
11 other projects use a version of this.
Adopted by
Most recently taken up by
- frnkgns/Overgeared-Skillstheir own version, first seen Nov 8, 2026
- skrrt-sh/skillstheir own version, first seen Nov 1, 2026
- BrendenKennedy/claude-for-ai-platformstheir own version, first seen Oct 13, 2026
- pantalytics/odoo-mcp-protheir own version, first seen Oct 12, 2026
- TaiMaBenJi/taima-skillstheir own version, first seen Oct 11, 2026
- zyphr-labs/bounty-harnesstheir own version, first seen Aug 26, 2026
Used with
Projects with it also use RECON.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
jord0-cmdSkillRECON
Deep technical research that persists. Use when: exploring new technologies, investigating frameworks, comparative analysis of tools, understanding complex systems, or any research task that should be saved for future reference. Invokes Claude's built-in research agent and auto-saves results to a knowledge base for retrieval across sessions.
Also in 3 projects that use this
Other versions11 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 11
- github/gh-aw★ 5.6ksame name
- pantalytics/odoo-mcp-pro★ 91same name
- frnkgns/Overgeared-Skills★ 7same name
- kekurttel/pentest-skills★ 4same name
- khoks/ClaudeTrading★ 4same name
- Roshu18/bearstrike-ai★ 4same name
- skrrt-sh/skills★ 3same name
- adraalabs/skills★ 2same name
- BrendenKennedy/claude-for-ai-platforms★ 1same name
- TaiMaBenJi/taima-skills★ 1same name
1 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository9 other files it gives its agents.
- engageSkill
- gate-runnerSkill
- preflightSkill
- pr-formatSkill
- provision-repoSkill
- review-rubricSkill
- state-protocolSkill
- tdd-procedureSkill
- ticket-updatesSkill
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 32
After each stage, print exactly one plain line — not wrapped in its own ``` fence (fences are only for the preflight checklist and the …
- Very specific: line 67
If there are none, write manual none.
- Very specific: line 74
Don't free-form it. Print the same final block with status ⚠ escalated, no PR line, and an unresolved field listing the surviving findings …
- Distinctive: line 91
When the pipeline terminates prematurely due to an unrecoverable failure (e.g.
- Very specific: line 98
All partial marks and gate logs remain persisted in $STATE/ for debugging.
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Reporting (keep the session minimal & consistent)
Everything detailed is written to the ticket's state dir — $STATE, whatever ${CLAUDE_PLUGIN_ROOT}/bin/state-dir.sh <TICKET> returns (spec, plan, findings, gate logs, log.md). So the session window stays short and identical across runs. Do NOT echo file contents, specs, diffs, findings, or long narration into the chat.
For subagents (every stage)
Return one line to the orchestrator, this exact shape — no preamble, no restating the plan, no pasting file contents:
<phase> · <repo>: <result> · gates <tests …/build …> · wrote <files>e.g. implement · auth-service: tests 57/57, build ok · wrote TokenValidator.cs, TokenValidatorTests.cs. If a stage has no gates or no files, drop that part. Full detail goes in your log.md section, not the return.
For the orchestrator
Output discipline — strict
The session shows ONLY: one status line per stage, the preflight checklist, the final block, a ⏸ approval prompt, a genuine blocker that needs the user, and a direct answer when the user asks a question. Nothing else. You run autonomously — the user reads the files, not a live play-by-play. Think silently (in your reasoning), write outcomes and reasoning to log.md, surface almost nothing.
Never print any of these — they go to log.md, or nowhere:
- About-to narration: "Now Stage X…", "Now let me…", "Let me read/check/verify…", "Delegating to…", "Proceeding.", "Now provisioning…". Just do it; the status line reports the result.
- A prose sentence restating a result you're also emitting as a status line — the status line replaces the prose; never both.
- Live diagnosis or weighing of options (build/credential blockers, loop decisions, verdict routing) — that is a
Decision:/Did:entry inlog.md, not window text. - File contents, diffs, specs, findings, plans.
One line per stage
After each stage, print exactly one plain line — not wrapped in its own ``` fence (fences are only for the preflight checklist and the final block). Get real elapsed from the helper:
E="$(${CLAUDE_PLUGIN_ROOT}/bin/mark-phase.sh <TICKET> <phase>)" # prints stage elapsed, logs the markLine shape: <TICKET> · <phase>[ · <repo>] · <one-line result> · <E>
Example: PROJ-123 · implement · auth-service · tests 57/57 · build ok · 2m14s
Final block — exactly this shape
<TICKET> <✓ done | ⚠ escalated | ✗ failed> · total <TOTAL>
repos <name> (<branch>) +A −D · N files # one line per repo; A/D/N from `git -C <repo> diff --shortstat <base>...HEAD`
gates tests: <pass|fail|skipped|blocked> (<n/n>) · build: <pass|fail|skipped|blocked> # per repo if multi-repo
review <clean|non-blocking|escalated> · <k> iteration(s)
telemetry plan: <P> · tdd: <T> · review: <R> # from telemetry.json duration_seconds.phases
tokens <IN> in (<HIT>% cache hit) · <OUT> out · <TOTAL> tok # from telemetry.json tokens & cache_hit_rate_percent
manual <none | bullets>
PR <url> # one per repo
jira <status set, e.g. In Review | skipped (Atlassian MCP not connected)>
slack <posted → <channel> | skipped (Slack MCP not connected)>
details <STATE>Rules for the block:
<STATE>:${CLAUDE_PLUGIN_ROOT}/bin/state-dir.sh <TICKET>. Never print the default path literally —state_rootandAUTOPILOT_STATE_DIRmove it, and a wrong path here sends the reader somewhere the files aren't.<TOTAL>:${CLAUDE_PLUGIN_ROOT}/bin/mark-phase.sh <TICKET> --total.- gates: state each gate's result explicitly —
pass/fail/skipped/blocked. Never imply pass for a skip or a block; each is shown as itself. Read the real values fromgates/<label>/*.json. - telemetry: pull macro phase elapsed times from
$STATE/telemetry.json(duration_seconds.phases.plan_and_setup,tdd_and_gates,review_and_delivery). Format in seconds or m/s (e.g.plan: 20s · tdd: 52s · review: 1m02s). - tokens: pull durable token counters from
$STATE/telemetry.json(tokens.input,tokens.output,cache_hit_rate_percent, total =input + output). E.g.124.5k in (81.9% cache hit) · 14.2k out · 138.7k tok. - manual: pull the rows tagged
manualfromtest-plan.mdand list them as short bullets:
If there are none, writemanual - <manual check 1> - <manual check 2>manual none. - One
repos/PRline per repo in a multi-repo run.
Escalation (review loop hit the iteration cap)
Pull telemetry and tokens from $STATE/telemetry.json (compiled by the orchestrator at escalation exit in engage).
Don't free-form it. Print the same final block with status ⚠ escalated, no PR line, and an unresolved field listing the surviving findings as bullets:
<TICKET> ⚠ escalated · total <elapsed>
repos <name> (<branch>) +A −D · N files
gates tests: <…> · build: <…>
review escalated · <k> iteration(s)
telemetry plan: <P> · tdd: <T> · review: <R>
tokens <IN> in (<HIT>% cache hit) · <OUT> out · <TOTAL> tok
unresolved
- <finding — one line>
- <finding — one line>
details <STATE>The ticket is left in its current status (not moved to In Review) and no Slack post goes out — say so if asked.
Aborted / Failed Runs
When the pipeline terminates prematurely due to an unrecoverable failure (e.g. fatal gate failure, missing branch/credentials, unresolvable preflight blocker), emit a lean failure block omitting telemetry and token lines from chat to keep error diagnosis front and center:
<TICKET> ✗ failed · total <elapsed>
stage <phase where failure occurred>
error <brief failure diagnosis or blocking reason>
details <STATE>All partial marks and gate logs remain persisted in $STATE/ for debugging.
AI Telemetry & Token Economics table in log.md
At run conclusion, in addition to the persisted ## Summary block, append the structured telemetry audit table to $STATE/<TICKET>/log.md:
## AI Telemetry & Token Economics
| Metric | Value | Breakdown / Details |
| :--- | :--- | :--- |
| **Total Duration** | `<total>s` | Plan: `<P>s` · TDD: `<T>s` · Review: `<R>s` |
| **Models Deployed** | `sonnet` / `opus` | Analyst: `sonnet` · Coder: `sonnet` · Reviewer: `opus` |
| **Input Tokens** | `<IN>` | Cache Read: `<CR>` (`<HIT>%`) · Cache Creation: `<CC>` |
| **Output Tokens** | `<OUT>` | Completion tokens generated across stages |
| **Total Tokens** | `<TOTAL>` | Combined context window footprint |
| **Cache Efficiency** | `<HIT>%` | Prompt cache read hit rate across sequential subagents |
### Phase Timing Breakdown
| Macro Phase | Duration | Constituent Stages |
| :--- | :--- | :--- |
| **Plan & Setup** | `<P>s` | `preflight`, `jira_start`, `provision`, `requirements`, `test_plan`, `branch` |
| **TDD & Gates** | `<T>s` | `write_tests`, `implement` |
| **Review & Delivery** | `<R>s` | `review`, `analyze`, `fix`, `commit`, `ticket_updates`, `cleanup` |That is the entire session output for a run — stage lines, then the final block. Everything else is in the files.
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.

