campaign-review
Skill7 starsChanged 3 months agoMITView on GitHub
Retrospective of a finished or paused campaign from its artifacts and transcripts: failure signatures, root-caused to a kit locus; keepers feed improve-kit.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- celeryhq/simplified-aitheir own version, first seen Jul 13, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- celeryhq/simplified-ai★ 4same name
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 repository25 other files it gives its agents.
- assess-ideaSkill
- assumption-auditSkill
- attribute-mechanismSkill
- campaign-statusSkill
- cite-checkSkill
- claim-auditSkill
- correctness-suiteSkill
- debugSkill
- deriveSkill
- dimensional-analysisSkill
- discovery-loopSkill
- experiment-designSkill
- fork-campaignSkill
- frame-problemSkill
- handoffSkill
- improve-kitSkill
- literature-reviewSkill
- model-selectionSkill
- new-campaignSkill
- new-projectSkill
- record-decisionSkill
- reportSkill
- run-campaignSkill
- simulation-designSkill
- verifySkill
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
- Distinctive: line 27
Use: when a loop has stopped (done, paused, or abandoned) and you want to mine it for kit improvements.
- Very specific: line 28
campaign-status: instead — for a health check / checkpoint of a *running* loop (plateau, hygiene, next directions). - Very specific: line 30
report: instead — for the write-up of what the campaign found.
≈ “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
campaign-review — retrospective on a loop, to improve the scaffolding
A finished or paused campaign is the richest evidence the kit has about itself: it shows exactly where the
scaffolding steered well and where it let the agent jump to a wrong conclusion, defer a cheap decisive check,
anchor on the wrong source, or burn compute. This skill turns one run into a bucketed list of concrete kit
improvements, each backed by evidence from the run. Its output is the input to improve-kit, which applies
the approved ones to your copy of the kit.
Stance. Assume the scaffolding is at fault before the model. When the agent erred, ask first "what prompt/gate/doc would have prevented this?" — that is the improvable surface. But stay honest: distinguish a genuine scaffolding gap (fixable in the kit) from a one-off model slip (not). User corrections are a good place to look, not an automatic defect: ask whether the run should have caught it. A clarification of wording that was the user's own, or a detail the user simply added, is not a gap; a mistake the scaffolding should have caught is, and it gets a fix where it will fire next time. Evidence every finding — cite the transcript record or artifact; recompute every number from the ledger; never infer a failure you can't point to. Freeze the honesty/verification core — a "lesson" is never a reason to propose weaker integrity, looser verification, or a gameable metric (the constitution in
docs/CORE.md).
When to use / not use
- Use when a loop has stopped (done, paused, or abandoned) and you want to mine it for kit improvements.
campaign-statusinstead — for a health check / checkpoint of a running loop (plateau, hygiene, next directions). That steers the campaign; this improves the kit.reportinstead — for the write-up of what the campaign found. This skill is about the scaffolding, not the science.improve-kitis the next step — it applies the keepers. This skill only finds and proposes.
Inputs (gather first)
- The campaign directory — read everything in the layout the campaign actually carries. For a
current campaign that means
CLAUDE.md(always-on rules and routing),campaign.md(the signed-off contract, verification plan, landmines, and decision record),roles/(the per-spawn procedures),README.md,configs/, andresults/— especiallyJOURNAL.md,logbook.md,scoreboard.tsv,result_*.json,checks_*.json,verdicts/,snapshots/,diagnostics/, andguard_denials.loganddriver_state.json(direct evidence of what the scaffolding caught). Project-wide physics, conventions, instrument context, standing constraints, durable decisions, and lineage are in../../PROJECT.md. Follow the campaign's ownCLAUDE.mdrouting table rather than assuming paths. - The raw session transcripts — the archived
*.jsonl(campaign-statussnapshots them to the campaign'stranscripts/; otherwise the harness's own session store, e.g. Claude Code's~/.claude/projects/<slug>/). The transcripts are where conclusion-jumping, premature certainty, and deferred checks are visible; the artifacts only show the settled story. Treat them as sensitive. - The kit version used — campaigns stamp it in the
campaign.mdheader and atopresults/logbook.md. Compare it with the kit you would edit, so a proposed change targets current text rather than wording that has since moved. - Any running notes, or the user's own sense of what went wrong — seed material, not a substitute for reading.
Method (read-heavy — delegate to sub-agents)
The ingest is large; per the kit's delegation doctrine, spawn sub-agents to read slices and return only their findings, keeping the main context lean. A good split: one agent reconstructs the decision chain from the artifacts; one parses the transcripts for the failure signatures below; one recomputes the headline numbers from the ledger. Synthesize their returns.
- Reconstruct the timeline & decision chain. Order the experiments, the decisions and their reversals,
the disputes, the user interventions, and the compute spent. For each decision, note in hindsight its
provenance/confidence at the time (PINNED/REPORTED/INFERRED/RECALLED/REASONED,
verify§5b) — reversals usually trace to a load-bearing fact acted on at INFERRED/RECALLED. - Scan for failure signatures (catalog below) AND for what worked — every place the scaffolding caught an error, forced a useful check, or enabled clean recovery. A balanced review keeps the keepers.
- Root-cause each finding. Symptom → mechanism → the specific kit locus that should change (name the
file: a
SKILL.md, a*.tmpl, aroles/*.md, aCORE.mdsection or reference doc, a gate/hook). A finding with no kit locus is an observation, not an improvement — mark it so. - Bucket each proposed change by risk (the buckets
improve-kitconsumes): auto (cosmetic/clarifying, no behavior change) · sign-off (any change to a skill's instructions, a template, a gate, a default, a principle) · more-context (can't decide without the user). Anything touching the honesty/verification core is always sign-off, never auto. - Write the report from
assets/review_template.mdtokit_review.mdin the campaign directory, beside the evidence it cites (kit_review_<date>.mdif one exists). Its §4 keeper table, every rowpending, is whatimprove-kitconsumes and marksappliedorrejected. The campaign validator scans every.mdin the tree for leftover template markers, so when a finding quotes one, break it up ({ {NAME} },[ [OPTIONAL) rather than reproducing it. Keepers that live only in prose get lost: the same scaffolding gap then recurs in the next campaign. If the project'sCLAUDE.mdnames a different home for reviews or keepers, use that. Then hand the keepers toimprove-kit.
Failure signatures to scan for (not exhaustive — add as you find new ones)
- Conclusion-jumping — a claim asserted with confidence, then reversed, sometimes more than once. Look for "decided X" followed later by "actually not-X."
- Deferred cheap decisive check — an expensive run spent to answer a question a seconds-long static check (parse an artifact, probe the data) would have settled; or a check punted to "the loop's job."
- Wrong-authority anchoring — a load-bearing fact taken from a low-authority source (leftover/modified code, recollection) when a higher-authority artifact (trained weights, released data) was available.
- Gate-induced bug reproduction — a "match the published number" gate driving the agent to reverse-engineer the original's quirk or bug instead of diagnosing the discrepancy.
- Scope / spec drift — the agent silently redefining the baseline, the metric inputs, or the lever set away from the signed-off spec.
- Wasted / mis-spent compute — long runs launched before the spec was pinned; re-runs forced by an avoidable error; no early health check on a multi-hour run.
- Unverified promotion — a current best or finding promoted without the label of the check that actually ran, or past the verification its preset requires.
- Lost context on resume — a handoff that didn't carry the in-flight reasoning, forcing rediscovery.
- Silent infrastructure — a lever that was dropped by one build path and not honored end-to-end.
- Positives (keep!) — append-only records that enabled clean recovery, an empirical pin that prevented a bug, a refused metric-gaming win, an a-priori bound that caught a surprise.
Output
kit_review.md in the campaign directory (from the asset template): the reconstructed timeline, a
what-worked list, a findings table — each row: observation → evidence (cite transcript record /
artifact) → root cause → proposed kit change → target file → risk bucket — and the bucketed keeper table
for improve-kit.
Composition
- Feeds
improve-kitthrough the report's keeper table, so each keeper is tracked to applied/rejected and can't silently evaporate;docs/reference/kit-development.mdis how a keeper's change is then made. - Uses the
verify§5b provenance vocabulary (PINNED/REPORTED/INFERRED/RECALLED/REASONED) to grade past decisions, andrecord-decisionfor any non-obvious judgment the review itself makes. - Pairs with
handoff/campaign-status(state & health) — this is the post-hoc improvement lens, distinct from both.
Checklist
- Read the transcripts, not only the artifacts — the failures live in the conversation.
- Every finding cites a transcript record or artifact; every number recomputed from the ledger.
- Each finding root-caused to a named kit locus, or explicitly marked "observation, no kit change."
- What-worked captured, not only failures.
- Each proposed change risk-bucketed; anything touching the integrity/verification core → sign-off.
- Keeper table written with every row
pending, soimprove-kitcan close each one. - No proposed change weakens the honesty/verification core.
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.

