Skip to content
Development
Skill

/corrections-audit

Use to analyze correction trends, surface recurring patterns, and graduate repeat corrections to guardrails or anti-patterns.

From plugin
mycelium
5263 skills

Claude Code

$ npx -y skills add haabe/mycelium --skill corrections-audit --agent claude-code

SKILL.md

corrections-audit.SKILL.md
name: corrections-audit
description: "Use to analyze correction trends, surface recurring patterns, and graduate repeat corrections to guardrails or anti-patterns."
metadata:
  instruction_budget: "40"
  framework_dependency: "mycelium"
  framework_dependency_note: "This skill is designed to run within the Mycelium framework (https://github.com/haabe/mycelium). Standalone use will skip the canvas state, theory gates, and harness behavior the skill assumes. Install: /plugin install mycelium@haabe-mycelium."

Corrections Audit Skill

Analyze corrections.md for trends, recurring patterns, and actionable insights.

Attribution: run the script, do not count by hand

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/check_correction_attribution.py" --root . --snapshot

**Added 2026-08-03.** This audit's headline number — *who caught the mistake* — was computed by hand and had been produced exactly twice, six weeks apart, each time because a human remembered to look. It is the only number that answers the question the correction loop exists to answer: **more harness, or more context.**

The script reports the escape rate **and its denominator, every time**. At the time of writing 14 of 72 entries carry a catcher, so the rate covers 19% of the corpus — quoting it without that is a claim about the whole wearing borrowed clothes, which is the failure this repo spent 2026-08-02/03 removing from its own checks. If it prints `NO RATE AVAILABLE`, that is not 0%: it means nothing in the corpus says who caught anything.

`--snapshot` appends the reading to `.claude/evals/metrics/corrections/<date>.json`, the same layout the other metric adapters use. **The level is not the signal.** Trend `caught_by_hook_or_check` rising in absolute terms; the ratio can also be improved by logging fewer user-caught mistakes, which is why this script never gates on it.

**Attribution is a HARD RULE at write time**, not a suggestion — see `engine/agent-operating-contract.md`. It was advisory until 2026-08-03 and 72 of 100 entries carry no catcher as a result. Do not backfill those in bulk: who caught a mistake six weeks ago is not recoverable by inference, and a guessed catcher corrupts the only number this loop produces.

**For entries written before the rule, add one phrase per new entry** — `caught by user`, `caught by hook`, `caught by review`, `self-caught`. The parser reads the prose forms already present rather than requiring a new field, so nothing existing needs rewriting.

When to Use

  • Loop 2 (Incremental) cadence: after every 3+ corrections are logged
  • When the same correction category appears 3+ times
  • During `/mycelium:diamond-assess` if corrections gate has findings
  • Before starting a new diamond at the same scale as a previously corrected one

Workflow

1. **Load corrections AND warnings AND clusters**: Read `.claude/memory/corrections.md`, `.claude/memory/warnings-log.md`, AND `.claude/memory/cluster-instances.md` (the cluster log graduated 2026-05-08 — canonical record of recurring-pattern instances and their graduation status; without it, "the cluster has graduated N times" has no auditable backing).

  • If corrections + warnings both empty AND no clusters logged: report "No corrections, warnings, or clusters to audit" and stop
  • Treat all three as inputs to the same pattern analysis. Corrections capture agent-introduced failures; warnings capture framework-state debt; cluster-instances capture cross-cluster pattern accumulation with explicit graduation criteria. Same recurring-pattern shape, different vantage points.

2. **Categorize by frequency**:

  • Group corrections by `Category` (bias, security, engineering, process, communication)
  • Group by `Scope` (discovery, delivery, orchestration, quality)
  • Count occurrences per group

3. **Detect recurring patterns**:

  • [ ] Same category appears 3+ times -> candidate for guardrail graduation
  • [ ] Same scope appears 3+ times -> candidate for domain-level CLAUDE.md update
  • [ ] Same mistake repeats after prevention was documented -> prevention strategy failed, needs escalation

4. **Check origin distribution** (APEX alignment):

  • Count corrections by `Origin` (ai-generated, human-written, ai-assisted)
  • If ai-generated corrections dominate (>60%): flag for prompt/context improvement, BUT see `detection_origin` cross-check below before acting on this interpretation
  • If human-written corrections dominate (>60%): flag for process/training improvement
  • If ai-assisted is high: check if the AI contribution or the human contribution caused the issue

4b. **Cross-check with detection_origin** (when field is present — see .claude/memory/README.md):

  • Count corrections by `Detection_origin` if present (user / agent_self / hook / evaluator / eval_runner / external_review)
  • **Critical disambiguation**: if Origin is heavily ai-generated AND detection_origin is heavily `user`, the apparent AI-quality signal is actually a HARNESS-DETECTION GAP. The AI is generating failures and the user is the only entity catching them. The right intervention is more harness checks (hooks, evaluators), NOT more AI context.
  • If detection_origin is dominantly `user` (>70%): flag for harness-detection gap. Suggest where new hooks or evaluators could catch the failure modes earlier.
  • If detection_origin is well-distributed across mechanisms: harness coverage is healthy; trust the Origin signal at face value.
  • Surfaced 2026-05-03 (mycelium-roadmap dogfood): without this cross-check, the audit's "100% ai-generated → improve prompt context" framing would have driven the wrong intervention. Real signal was "AI generates, user catches" — fixed by shipping the framework-guard hook (harness-detection layer), not by improving prompts.

5. **Root-cause recurring corrections** (5 Whys): For each correction that appears 3+ times, apply 5 Whys to find the systemic root:

  • Why did this happen? -> Why did that happen? -> .
Read more
@haabe
Ships withmycelium

Mycelium won't make your idea good. It keeps you and your agent honest about whether it is, from first idea to market. Built on Claude Code, where the gates are structural. The files and skills port to opencode, Codex and Cursor. Outcome over output.

Stars on GitHub

Momentum

stars in total
52
Star history of haabe/mycelium on GitHub, a chart by star-history.com

Other skills on mycelium.

a11y-check

a11y-check

Accessibility audit, scoped to the surfaces a product actually has. Detects web / rendered_markdown / terminal / native_app /…

@haabe@haabeInstall Skill
adopt

adopt

Bring Mycelium into a project that already has code. Detects that the repo predates the framework, asks before touching anything,…

@haabe@haabeInstall Skill
assumption-test

assumption-test

Design the smallest viable test to validate or invalidate a critical assumption. Based on Torres's assumption testing framework,…

@haabe@haabeInstall Skill
bias-check

bias-check

Use before any research activity or significant decision. Reviews cognitive biases relevant to the current stage.

@haabe@haabeInstall Skill
bvssh-check

bvssh-check

Use to evaluate whether current work aligns with Better Value Sooner Safer Happier. Run at diamond completion and periodically.

@haabe@haabeInstall Skill
canvas-health

canvas-health

Lint canvas files for staleness, missing fields, inconsistent evidence types, and orphaned references. Run periodically or before…

@haabe@haabeInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about corrections-audit.

Which coding agents can use corrections-audit?
corrections-audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.