[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M79XBWZ2RHTTP6DTFZ2P9SDJ":3,"skill-same:01M79XBWZ2RHTTP6DTFZ2P9SDJ":68},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":6,"ownerHtmlUrl":42,"ownerBlogUrl":6,"ownerDescription":43,"updatedAt":44,"install":45,"resources":57},"01M79XBWZ2RHTTP6DTFZ2P9SDJ","evolve",null,"Research-driven multi-cycle improvement director. Forms causal hypotheses about why scores are low, validates them with scout agents before attacking, dispatches axis-parallel fleet attacks, extracts transferable patterns, and runs indefinitely within a budget envelope. Accumulates a persistent belief model and pattern library across sessions.","mayankjain1815-commits\u002FCITADEL","mayankjain1815-commits","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F234472344?v=4","01M79X9599EWEQTD62DMNTEG7X","Mayank jain","01M79X95AA0KDFTN1Z1A6DQTX1",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fevolve\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: evolve\nlicense: MIT\ndescription: >-\n  Research-driven multi-cycle improvement director. Forms causal hypotheses\n  about why scores are low, validates them with scout agents before attacking,\n  dispatches axis-parallel fleet attacks, extracts transferable patterns, and\n  runs indefinitely within a budget envelope. Accumulates a persistent belief\n  model and pattern library across sessions.\nuser-invocable: true\nauto-trigger: false\ntrigger_keywords:\n  - evolve\n  - sustained improve\n  - improvement director\n  - research-driven improve\n  - multi-cycle improve\n  - run until done\n  - improve until ceiling\n  - keep improving\n  - hypothesis\n  - belief model\n  - scout agents\nlast-updated: 2026-05-03\n---\n\n# \u002Fevolve — Improvement Director\n\n## Orientation\n\n**Use when:** You want sustained autonomous quality advancement — the director\nforms hypotheses, scouts before attacking, and builds a belief model that\ncompounds across cycles. Runs until a natural ceiling, budget exhaustion, or you\nsay stop.\n\n**Don't use when:** You want a single scored loop (`\u002Fimprove`), a known axis\nattacked directly (`\u002Fimprove --axis`), or a one-time audit (`\u002Fimprove --score-only`).\n\n**Key difference from `\u002Fimprove`:** `\u002Fimprove` follows the rubric mechanically.\n`\u002Fevolve` asks *why* scores are where they are, validates those theories before\nspending fleet budget, and extracts cross-skill patterns that propagate to skills\nnever directly attacked.\n\n## Invocation\n\n```\n\u002Fevolve {target}                  # run until ceiling, velocity drop, or budget\n\u002Fevolve {target} --n={N}          # exactly N director cycles then stop\n\u002Fevolve {target} --budget=${X}    # run until cumulative spend reaches $X\n\u002Fevolve {target} --continue       # resume from saved director state\n\u002Fevolve {target} --status         # show belief model, velocity, spend — no attack\n\u002Fevolve {target} --axis={name}    # focus director on one axis (scout + attack only)\n```\n\n`target` maps to `.planning\u002Frubrics\u002F{target}.md`.\nIf no rubric exists, run `\u002Fimprove {target}` Phase 0 first — `\u002Fevolve` requires\nan approved rubric and will not auto-generate one.\n\n## Campaign Artifacts\n\nAll findings are externalized incrementally — written after every phase, not\nonly at cycle end. A crashed or compacted session resumes with full context.\n\n| Artifact | Path | Contents |\n|---|---|---|\n| Director state | `.planning\u002Fevolve\u002F{target}\u002Fdirector-state.json` | cycle count, spend, velocity history, current phase, halt status |\n| Belief model | `.planning\u002Fevolve\u002F{target}\u002Fbelief-model.jsonl` | one record per (axis, skill) per cycle: score, hypothesis, evidence, confidence |\n| Experiment log | `.planning\u002Fevolve\u002F{target}\u002Fexperiment-log.jsonl` | every experiment: hypothesis → prediction → actual delta → mechanism confirmed |\n| Pattern library | `.planning\u002Fevolve\u002F{target}\u002Fpattern-library.md` | transferable patterns: what change to what axis class caused what delta in which skills |\n| Cycle digest | `.planning\u002Fevolve\u002F{target}\u002Fcycle-{n}-digest.md` | human-readable per-cycle summary for review |\n| Global patterns | `.planning\u002Fresearch\u002Fpatterns.md` | cross-target patterns written outside campaign scope; available to future sessions and other targets |\n| Knowledge wiki | `.planning\u002Fwiki\u002F` | compiled wiki pages from `\u002Flearn`; integrates evolve discoveries across sessions |\n\nCreate `.planning\u002Fevolve\u002F{target}\u002F` on first invocation. Create `.planning\u002Fresearch\u002F` if absent.\n\n**Cycle digest contents:** scores table (axis, prior, this cycle, delta), hypotheses\ntable (id, axis, hypothesis, scout result, confidence), what was attacked (axis,\nskill, delta, mechanism confirmed), patterns discovered this cycle, belief model\nupdates, and the spend\u002Fvelocity line. Full template: docs\u002FQUALITY_LOOPS.md#cycle-digest-format.\n\n## Director Cycle Protocol\n\n### Phase 1: Survey\n\nRun `\u002Fimprove {target} --score-only`. Record scores to belief model with delta\nfrom prior cycle (empty on cycle 1). Flag any axis that dropped since last cycle\nas `regression-watch` — these are checked first in Phase 2.\n\n### Phase 2: Hypothesize\n\nFor every axis below 8.0, generate one primary hypothesis in this form:\n\n```\nHYPOTHESIS: {axis} scores {n}\u002F10 because {specific mechanism},\n            not because {common misread}.\nPREDICTION: Fixing {mechanism} will raise score ≥ {delta} across {N} skills.\nFALSIFICATION: If we apply {change} and score does not rise > 0.5, hypothesis rejected.\n```\n\nDraw hypotheses from: evaluator justifications in Phase 1, prior evidence in\nthe belief model, and programmatic check failures. Do not hypothesize from score\nalone — the number is the symptom.\n\nWrite each hypothesis to the experiment log as `{ id, status: \"pending\", ... }`.\n\nSkip hypothesis generation for an axis if the belief model already has a\n`confidence >= 0.8` confirmed hypothesis for it that has not yet been attacked.\n\n### Phase 3: Scout\n\nFor axes below 7.0, or axes with unconfirmed hypotheses: dispatch one scout\nagent per hypothesis. Scouts read — they do not modify files.\n\nEach scout returns `{ \"hypothesis_id\", \"confirmed\", \"evidence\", \"confidence\" }`\n(schema example: docs\u002FQUALITY_LOOPS.md#scout-result-schema).\n\n**Scout confidence protocol**: Scouts read relevant files only — no edits, no test runs. Assign `confidence`:\n- **0.9+**: mechanism is directly observable (explicit absence, missing section, wrong value in file)\n- **0.7–0.89**: strong indirect evidence from 2+ corroborating observations\n- **0.4–0.69**: single observation that supports the hypothesis; alternative explanations plausible\n- **\u003C 0.4**: no direct evidence found; hypothesis is speculative from this file set\n\nRun scouts in parallel. Update experiment log:\n- `confidence >= 0.7` → `confirmed`\n- `confidence 0.4–0.69` → `needs-evidence` (do not attack; add to next cycle)\n- `confidence \u003C 0.4` → `rejected`\n\nSkip Phase 3 for any hypothesis already `confirmed` at `confidence >= 0.8` in\nthe belief model from a prior cycle.\n\n### Phase 4: Prioritize\n\nFor each confirmed hypothesis compute:\n\n```\nEV = (delta_estimate × axis_weight × confidence) \u002F (effort_tier × collision_multiplier)\n```\n\n- `effort_tier`: low=1.0, medium=1.5, high=2.5\n- `collision_multiplier`: 2.0 if axis shares primary files with another attack in this cycle\n\nSelect top K axes where K = min(confirmed count, 4). Document selection rationale\nin cycle digest. If `--axis` was set, skip ranking — attack only that axis.\n\n### Phase 5: Fleet Attack\n\nDispatch one agent per selected axis in an isolated worktree\n(Agent tool, `isolation: \"worktree\"`). Each agent receives:\n- The confirmed hypothesis and its falsification criterion\n- The specific files to modify\n- Verification oracle: `node scripts\u002Frun-with-timeout.js 300 node scripts\u002Ftest-all.js`\n\nEach agent returns a structured result:\n`{ \"axis\", \"skill\", \"delta\", \"mechanism_confirmed\", \"files_changed\", \"approach\" }`\n(schema example: docs\u002FQUALITY_LOOPS.md#fleet-agent-result-schema).\n\n**Merge rules:**\n- Non-conflicting worktrees: merge all\n- Conflicting worktrees (same file): keep higher delta, discard lower\n- Regression on any previously passing programmatic check: abort that worktree, do not merge\n- `mechanism_confirmed: false` (score improved but not via predicted mechanism): record as `incidental_improvement`, mark hypothesis as `needs-revision`\n\nCommit each merged worktree with a message citing the hypothesis ID.\n\nAfter committing changes to any `SKILL.md` (here or in Phase 7), run `\u002Freload-skills` if the running Claude Code version supports it so the change is live this session; otherwise note that a fresh session is required before the updated skill takes effect.\n\n### Phase 6: Synthesize\n\nFor each result:\n1. Update belief model — append evidence record for (axis, skill)\n2. Update experiment log — mark `verified` \u002F `refuted` \u002F `incidental`\n3. Identify transferable patterns:\n\n```\nPATTERN: {axis_class} | Mechanism: {what caused improvement} | Delta: {avg} across {N} instances | Applies to: {skill list} | Confidence: high\u002Fmedium\u002Flow\n```\n\nWrite patterns to `.planning\u002Fevolve\u002F{target}\u002Fpattern-library.md`.\n\n**Compile into wiki:** After writing to the pattern library, call\n`\u002Flearn --from-evolve {target} --cycle {n}`. This compiles cycle discoveries\ninto `.planning\u002Fwiki\u002F` — integrating with findings from prior cycles and\ncampaigns rather than siloing them in the evolve directory. Skip if `\u002Flearn`\nis not available in this session (log the skip, do not block the cycle).\n\n### Phase 7: Cross-Pollinate\n\nFor each `confidence: high` pattern, or any pattern confirmed in 2+ skills:\napply to all other applicable skills as targeted single-file edits — without\nrunning a full attack cycle.\n\nRun verification oracle per cross-pollinated skill. Commit only if all\nprogrammatic checks pass and no axis drops > 0.3. Revert on regression; mark\npattern as `context-dependent`.\n\nWrite patterns that apply beyond this target to `.planning\u002Fresearch\u002Fpatterns.md`.\n\n### Phase 8: Loop or Halt\n\nCompute learning velocity:\n```\nvelocity = Σ(delta across all attacked axes this cycle) \u002F axes_attacked\n```\nAppend to `director-state.json` velocity history.\n\n**Halt conditions (check in order):**\n1. `--n` cycles completed\n2. `--budget` reached (cumulative cost ≥ limit)\n3. All axes ≥ 9.0 across all scored skills\n4. `velocity \u003C 0.2` for 3 consecutive cycles AND no `needs-evidence` hypotheses remain\n5. Level-up triggered (see below)\n6. User says stop\n\n**On velocity drop, before halting:** attempt one axis-class switch — attack the\nhighest-EV axis from a category not touched in the last 2 cycles. If velocity\nis still \u003C 0.2 after that cycle, halt.\n\n**On level-up trigger** (no axis improved > 0.5 for 2 loops, ≥ 3 loops run,\nno programmatic failures): write level-up proposals to\n`.planning\u002Frubrics\u002F{target}-proposals.md`, set `status: level-up-pending` in\ndirector state, halt. The campaign resumes only after the human approves and\nedits the live rubric.\n\n**On normal loop:** increment cycle, compress prior cycle findings to\ncontinuation context, return to Phase 1.\n\n## Unlimited Mode\n\nNo `--n` and no `--budget` = unlimited. Declare before starting: target, exit\nconditions (all axes ≥ 9.0 OR velocity \u003C 0.2 for 3 cycles), estimated cost\n($12–18\u002Fcycle), spend so far ($0), and how to halt (type \u002Fstop or press Escape\nto stop after the current cycle). At the end of every cycle report cycle spend,\ncumulative spend, and velocity. Literal declaration and report templates:\ndocs\u002FQUALITY_LOOPS.md#unlimited-mode-templates.\n\nWhen context approaches compression territory (session duration > 30 min or\n\u002Fcompact recommended): write continuation checkpoint to director state,\nsurface the `--continue` command. The next session picks up exactly where this\none stopped.\n\nFor overnight \u002F unattended runs: combine with `\u002Fdaemon`. The director is\ndaemon-compatible — daemon calls `\u002Fevolve {target} --continue` each session.\nSet `--budget` to cap total spend.\n\n## Fringe Cases\n\n- **`.planning\u002F` does not exist**: error — run `\u002Fdo setup` first to initialize the harness state directory, then retry.\n- **No rubric**: error — run `\u002Fimprove {target}` Phase 0 first. List available targets in `.planning\u002Frubrics\u002F` as hint.\n- **No prior scores in belief model**: proceed from cycle 1; all deltas empty on first survey. Expected.\n- **All scouts return `needs-evidence`**: attack the top-EV axis anyway under `low-confidence` flag; record as exploratory. Mark result regardless.\n- **Scout agent hangs or times out** (dispatched scout never returns): After 10 minutes without a response, log the scout as `status: timed-out` in the experiment log with `confidence: 0`. Proceed with the remaining returned scouts. Never let a hung scout block the cycle — if all scouts time out, treat as \"all scouts return needs-evidence\" and attack the top-EV axis under `low-confidence` flag.\n- **All axes collide** (every axis shares files): serialize top 2 axes; parallelize remainder. Log collision.\n- **Cross-pollination causes regression**: revert that skill, mark pattern `context-dependent`, do not propagate further.\n- **Level-up mid-campaign**: pause, write proposals, set `level-up-pending`. `\u002Fevolve --continue` after human approval resumes cycle numbering from where it stopped.\n- **Budget overrun risk**: if projected spend for current cycle would exceed `--budget` by > 20%, warn and confirm before dispatching fleet.\n- **`--continue` with no director state**: error — no campaign to resume. Suggest `\u002Fevolve {target}` to start fresh.\n- **Pattern library > 50 entries**: consolidate — group by axis class, merge similar patterns, keep highest-confidence instance of each class. Log consolidation.\n- **Zero skills match target rubric**: error with message listing all `.planning\u002Frubrics\u002F*.md` targets.\n\n## Quality Gates\n\n- Every hypothesis must have an explicit falsification criterion before Phase 3\n- Scouts must run before fleet dispatch on any unconfirmed hypothesis\n- Belief model written after every phase, not only end of cycle\n- Cross-pollination requires passing verification oracle before commit\n- Regression on any previously-passing axis aborts that worktree commit\n- Pattern library and global patterns updated at every cycle end, even zero-improvement cycles\n- Cycle digest written even on abort or no-change cycles\n\n## Contextual Gates\n\n**Disclosure:**\n- State mode (unlimited \u002F fixed \u002F budget) and exit conditions before first cycle\n- Estimate $12–18 per full cycle before starting\n- Report spend and velocity at end of every cycle\n- Confirm before continuing if cumulative spend exceeds $50\n\n**Reversibility:** Red. Cross-pollination modifies many files across the repo;\nlevel-up rewrites rubric anchors permanently. Each commit is individually\nrevertable; high volume. Range: `git revert {first}^..{last}`.\n\n**Trust gates:**\n- Novice (0-4 sessions): `--status` and `--n=1` only; unlimited blocked\n- Familiar (5-19): up to `--n=5`; unlimited requires explicit `--budget` cap\n- Trusted (20+): no cap; confirm if projected total > $100\n\n## Exit Protocol\n\n```\n---HANDOFF---\n- Target: {target} | Cycles: {n} | Spend: ${total} | Mode: {unlimited\u002Fn\u002Fbudget}\n- Axes improved: {list with deltas}\n- Belief model: .planning\u002Fevolve\u002F{target}\u002Fbelief-model.jsonl ({N} confirmed, {M} rejected)\n- Pattern library: .planning\u002Fevolve\u002F{target}\u002Fpattern-library.md ({N} patterns)\n- Global patterns: .planning\u002Fresearch\u002Fpatterns.md\n- Knowledge wiki: .planning\u002Fwiki\u002Findex.md (compiled via \u002Flearn --from-evolve after each cycle)\n- Cycle digests: .planning\u002Fevolve\u002F{target}\u002Fcycle-*-digest.md\n- Halt reason: {ceiling\u002Fvelocity\u002Fbudget\u002Fn-complete\u002Fuser-stop\u002Flevel-up-pending}\n- Level-up proposals: {path or N\u002FA}\n- Reversibility: red — {N} commits across {M} files; revert range: git revert {range}\n- Recommended next: {level-up and re-run \u002F new target \u002F done}\n---\n```\n","# \u002Fevolve — Improvement Director\n\n## Orientation\n\n**Use when:** You want sustained autonomous quality advancement — the director\nforms hypotheses, scouts before attacking, and builds a belief model that\ncompounds across cycles. Runs until a natural ceiling, budget exhaustion, or you\nsay stop.\n\n**Don't use when:** You want a single scored loop (`\u002Fimprove`), a known axis\nattacked directly (`\u002Fimprove --axis`), or a one-time audit (`\u002Fimprove --score-only`).\n\n**Key difference from `\u002Fimprove`:** `\u002Fimprove` follows the rubric mechanically.\n`\u002Fevolve` asks *why* scores are where they are, validates those theories before\nspending fleet budget, and extracts cross-skill patterns that propagate to skills\nnever directly attacked.\n\n## Invocation\n\n```\n\u002Fevolve {target}                  # run until ceiling, velocity drop, or budget\n\u002Fevolve {target} --n={N}          # exactly N director cycles then stop\n\u002Fevolve {target} --budget=${X}    # run until cumulative spend reaches $X\n\u002Fevolve {target} --continue       # resume from saved director state\n\u002Fevolve {target} --status         # show belief model, velocity, spend — no attack\n\u002Fevolve {target} --axis={name}    # focus director on one axis (scout + attack only)\n```\n\n`target` maps to `.planning\u002Frubrics\u002F{target}.md`.\nIf no rubric exists, run `\u002Fimprove {target}` Phase 0 first — `\u002Fevolve` requires\nan approved rubric and will not auto-generate one.\n\n## Campaign Artifacts\n\nAll findings are externalized incrementally — written after every phase, not\nonly at cycle end. A crashed or compacted session resumes with full context.\n\n| Artifact | Path | Contents |\n|---|---|---|\n| Director state | `.planning\u002Fevolve\u002F{target}\u002Fdirector-state.json` | cycle count, spend, velocity history, current phase, halt status |\n| Belief model | `.planning\u002Fevolve\u002F{target}\u002Fbelief-model.jsonl` | one record per (axis, skill) per cycle: score, hypothesis, evidence, confidence |\n| Experiment log | `.planning\u002Fevolve\u002F{target}\u002Fexperiment-log.jsonl` | every experiment: hypothesis → prediction → actual delta → mechanism confirmed |\n| Pattern library | `.planning\u002Fevolve\u002F{target}\u002Fpattern-library.md` | transferable patterns: what change to what axis class caused what delta in which skills |\n| Cycle digest | `.planning\u002Fevolve\u002F{target}\u002Fcycle-{n}-digest.md` | human-readable per-cycle summary for review |\n| Global patterns | `.planning\u002Fresearch\u002Fpatterns.md` | cross-target patterns written outside campaign scope; available to future sessions and other targets |\n| Knowledge wiki | `.planning\u002Fwiki\u002F` | compiled wiki pages from `\u002Flearn`; integrates evolve discoveries across sessions |\n\nCreate `.planning\u002Fevolve\u002F{target}\u002F` on first invocation. Create `.planning\u002Fresearch\u002F` if absent.\n\n**Cycle digest contents:** scores table (axis, prior, this cycle, delta), hypotheses\ntable (id, axis, hypothesis, scout result, confidence), what was attacked (axis,\nskill, delta, mechanism confirmed), patterns discovered this cycle, belief model\nupdates, and the spend\u002Fvelocity line. Full template: docs\u002FQUALITY_LOOPS.md#cycle-digest-format.\n\n## Director Cycle Protocol\n\n### Phase 1: Survey\n\nRun `\u002Fimprove {target} --score-only`. Record scores to belief model with delta\nfrom prior cycle (empty on cycle 1). Flag any axis that dropped since last cycle\nas `regression-watch` — these are checked first in Phase 2.\n\n### Phase 2: Hypothesize\n\nFor every axis below 8.0, generate one primary hypothesis in this form:\n\n```\nHYPOTHESIS: {axis} scores {n}\u002F10 because {specific mechanism},\n            not because {common misread}.\nPREDICTION: Fixing {mechanism} will raise score ≥ {delta} across {N} skills.\nFALSIFICATION: If we apply {change} and score does not rise > 0.5, hypothesis rejected.\n```\n\nDraw hypotheses from: evaluator justifications in Phase 1, prior evidence in\nthe belief model, and programmatic check failures. Do not hypothesize from score\nalone — the number is the symptom.\n\nWrite each hypothesis to the experiment log as `{ id, status: \"pending\", ... }`.\n\nSkip hypothesis generation for an axis if the belief model already has a\n`confidence >= 0.8` confirmed hypothesis for it that has not yet been attacked.\n\n### Phase 3: Scout\n\nFor axes below 7.0, or axes with unconfirmed hypotheses: dispatch one scout\nagent per hypothesis. Scouts read — they do not modify files.\n\nEach scout returns `{ \"hypothesis_id\", \"confirmed\", \"evidence\", \"confidence\" }`\n(schema example: docs\u002FQUALITY_LOOPS.md#scout-result-schema).\n\n**Scout confidence protocol**: Scouts read relevant files only — no edits, no test runs. Assign `confidence`:\n- **0.9+**: mechanism is directly observable (explicit absence, missing section, wrong value in file)\n- **0.7–0.89**: strong indirect evidence from 2+ corroborating observations\n- **0.4–0.69**: single observation that supports the hypothesis; alternative explanations plausible\n- **\u003C 0.4**: no direct evidence found; hypothesis is speculative from this file set\n\nRun scouts in parallel. Update experiment log:\n- `confidence >= 0.7` → `confirmed`\n- `confidence 0.4–0.69` → `needs-evidence` (do not attack; add to next cycle)\n- `confidence \u003C 0.4` → `rejected`\n\nSkip Phase 3 for any hypothesis already `confirmed` at `confidence >= 0.8` in\nthe belief model from a prior cycle.\n\n### Phase 4: Prioritize\n\nFor each confirmed hypothesis compute:\n\n```\nEV = (delta_estimate × axis_weight × confidence) \u002F (effort_tier × collision_multiplier)\n```\n\n- `effort_tier`: low=1.0, medium=1.5, high=2.5\n- `collision_multiplier`: 2.0 if axis shares primary files with another attack in this cycle\n\nSelect top K axes where K = min(confirmed count, 4). Document selection rationale\nin cycle digest. If `--axis` was set, skip ranking — attack only that axis.\n\n### Phase 5: Fleet Attack\n\nDispatch one agent per selected axis in an isolated worktree\n(Agent tool, `isolation: \"worktree\"`). Each agent receives:\n- The confirmed hypothesis and its falsification criterion\n- The specific files to modify\n- Verification oracle: `node scripts\u002Frun-with-timeout.js 300 node scripts\u002Ftest-all.js`\n\nEach agent returns a structured result:\n`{ \"axis\", \"skill\", \"delta\", \"mechanism_confirmed\", \"files_changed\", \"approach\" }`\n(schema example: docs\u002FQUALITY_LOOPS.md#fleet-agent-result-schema).\n\n**Merge rules:**\n- Non-conflicting worktrees: merge all\n- Conflicting worktrees (same file): keep higher delta, discard lower\n- Regression on any previously passing programmatic check: abort that worktree, do not merge\n- `mechanism_confirmed: false` (score improved but not via predicted mechanism): record as `incidental_improvement`, mark hypothesis as `needs-revision`\n\nCommit each merged worktree with a message citing the hypothesis ID.\n\nAfter committing changes to any `SKILL.md` (here or in Phase 7), run `\u002Freload-skills` if the running Claude Code version supports it so the change is live this session; otherwise note that a fresh session is required before the updated skill takes effect.\n\n### Phase 6: Synthesize\n\nFor each result:\n1. Update belief model — append evidence record for (axis, skill)\n2. Update experiment log — mark `verified` \u002F `refuted` \u002F `incidental`\n3. Identify transferable patterns:\n\n```\nPATTERN: {axis_class} | Mechanism: {what caused improvement} | Delta: {avg} across {N} instances | Applies to: {skill list} | Confidence: high\u002Fmedium\u002Flow\n```\n\nWrite patterns to `.planning\u002Fevolve\u002F{target}\u002Fpattern-library.md`.\n\n**Compile into wiki:** After writing to the pattern library, call\n`\u002Flearn --from-evolve {target} --cycle {n}`. This compiles cycle discoveries\ninto `.planning\u002Fwiki\u002F` — integrating with findings from prior cycles and\ncampaigns rather than siloing them in the evolve directory. Skip if `\u002Flearn`\nis not available in this session (log the skip, do not block the cycle).\n\n### Phase 7: Cross-Pollinate\n\nFor each `confidence: high` pattern, or any pattern confirmed in 2+ skills:\napply to all other applicable skills as targeted single-file edits — without\nrunning a full attack cycle.\n\nRun verification oracle per cross-pollinated skill. Commit only if all\nprogrammatic checks pass and no axis drops > 0.3. Revert on regression; mark\npattern as `context-dependent`.\n\nWrite patterns that apply beyond this target to `.planning\u002Fresearch\u002Fpatterns.md`.\n\n### Phase 8: Loop or Halt\n\nCompute learning velocity:\n```\nvelocity = Σ(delta across all attacked axes this cycle) \u002F axes_attacked\n```\nAppend to `director-state.json` velocity history.\n\n**Halt conditions (check in order):**\n1. `--n` cycles completed\n2. `--budget` reached (cumulative cost ≥ limit)\n3. All axes ≥ 9.0 across all scored skills\n4. `velocity \u003C 0.2` for 3 consecutive cycles AND no `needs-evidence` hypotheses remain\n5. Level-up triggered (see below)\n6. User says stop\n\n**On velocity drop, before halting:** attempt one axis-class switch — attack the\nhighest-EV axis from a category not touched in the last 2 cycles. If velocity\nis still \u003C 0.2 after that cycle, halt.\n\n**On level-up trigger** (no axis improved > 0.5 for 2 loops, ≥ 3 loops run,\nno programmatic failures): write level-up proposals to\n`.planning\u002Frubrics\u002F{target}-proposals.md`, set `status: level-up-pending` in\ndirector state, halt. The campaign resumes only after the human approves and\nedits the live rubric.\n\n**On normal loop:** increment cycle, compress prior cycle findings to\ncontinuation context, return to Phase 1.\n\n## Unlimited Mode\n\nNo `--n` and no `--budget` = unlimited. Declare before starting: target, exit\nconditions (all axes ≥ 9.0 OR velocity \u003C 0.2 for 3 cycles), estimated cost\n($12–18\u002Fcycle), spend so far ($0), and how to halt (type \u002Fstop or press Escape\nto stop after the current cycle). At the end of every cycle report cycle spend,\ncumulative spend, and velocity. Literal declaration and report templates:\ndocs\u002FQUALITY_LOOPS.md#unlimited-mode-templates.\n\nWhen context approaches compression territory (session duration > 30 min or\n\u002Fcompact recommended): write continuation checkpoint to director state,\nsurface the `--continue` command. The next session picks up exactly where this\none stopped.\n\nFor overnight \u002F unattended runs: combine with `\u002Fdaemon`. The director is\ndaemon-compatible — daemon calls `\u002Fevolve {target} --continue` each session.\nSet `--budget` to cap total spend.\n\n## Fringe Cases\n\n- **`.planning\u002F` does not exist**: error — run `\u002Fdo setup` first to initialize the harness state directory, then retry.\n- **No rubric**: error — run `\u002Fimprove {target}` Phase 0 first. List available targets in `.planning\u002Frubrics\u002F` as hint.\n- **No prior scores in belief model**: proceed from cycle 1; all deltas empty on first survey. Expected.\n- **All scouts return `needs-evidence`**: attack the top-EV axis anyway under `low-confidence` flag; record as exploratory. Mark result regardless.\n- **Scout agent hangs or times out** (dispatched scout never returns): After 10 minutes without a response, log the scout as `status: timed-out` in the experiment log with `confidence: 0`. Proceed with the remaining returned scouts. Never let a hung scout block the cycle — if all scouts time out, treat as \"all scouts return needs-evidence\" and attack the top-EV axis under `low-confidence` flag.\n- **All axes collide** (every axis shares files): serialize top 2 axes; parallelize remainder. Log collision.\n- **Cross-pollination causes regression**: revert that skill, mark pattern `context-dependent`, do not propagate further.\n- **Level-up mid-campaign**: pause, write proposals, set `level-up-pending`. `\u002Fevolve --continue` after human approval resumes cycle numbering from where it stopped.\n- **Budget overrun risk**: if projected spend for current cycle would exceed `--budget` by > 20%, warn and confirm before dispatching fleet.\n- **`--continue` with no director state**: error — no campaign to resume. Suggest `\u002Fevolve {target}` to start fresh.\n- **Pattern library > 50 entries**: consolidate — group by axis class, merge similar patterns, keep highest-confidence instance of each class. Log consolidation.\n- **Zero skills match target rubric**: error with message listing all `.planning\u002Frubrics\u002F*.md` targets.\n\n## Quality Gates\n\n- Every hypothesis must have an explicit falsification criterion before Phase 3\n- Scouts must run before fleet dispatch on any unconfirmed hypothesis\n- Belief model written after every phase, not only end of cycle\n- Cross-pollination requires passing verification oracle before commit\n- Regression on any previously-passing axis aborts that worktree commit\n- Pattern library and global patterns updated at every cycle end, even zero-improvement cycles\n- Cycle digest written even on abort or no-change cycles\n\n## Contextual Gates\n\n**Disclosure:**\n- State mode (unlimited \u002F fixed \u002F budget) and exit conditions before first cycle\n- Estimate $12–18 per full cycle before starting\n- Report spend and velocity at end of every cycle\n- Confirm before continuing if cumulative spend exceeds $50\n\n**Reversibility:** Red. Cross-pollination modifies many files across the repo;\nlevel-up rewrites rubric anchors permanently. Each commit is individually\nrevertable; high volume. Range: `git revert {first}^..{last}`.\n\n**Trust gates:**\n- Novice (0-4 sessions): `--status` and `--n=1` only; unlimited blocked\n- Familiar (5-19): up to `--n=5`; unlimited requires explicit `--budget` cap\n- Trusted (20+): no cap; confirm if projected total > $100\n\n## Exit Protocol\n\n```\n---HANDOFF---\n- Target: {target} | Cycles: {n} | Spend: ${total} | Mode: {unlimited\u002Fn\u002Fbudget}\n- Axes improved: {list with deltas}\n- Belief model: .planning\u002Fevolve\u002F{target}\u002Fbelief-model.jsonl ({N} confirmed, {M} rejected)\n- Pattern library: .planning\u002Fevolve\u002F{target}\u002Fpattern-library.md ({N} patterns)\n- Global patterns: .planning\u002Fresearch\u002Fpatterns.md\n- Knowledge wiki: .planning\u002Fwiki\u002Findex.md (compiled via \u002Flearn --from-evolve after each cycle)\n- Cycle digests: .planning\u002Fevolve\u002F{target}\u002Fcycle-*-digest.md\n- Halt reason: {ceiling\u002Fvelocity\u002Fbudget\u002Fn-complete\u002Fuser-stop\u002Flevel-up-pending}\n- Level-up proposals: {path or N\u002FA}\n- Reversibility: red — {N} commits across {M} files; revert range: git revert {range}\n- Recommended next: {level-up and re-run \u002F new target \u002F done}\n---\n```\n",{"name":5,"license":15,"description":7,"auto-trigger":20,"last-updated":24,"user-invocable":25,"trigger_keywords":26},1777766400000,true,[5,27,28,29,30,31,32,33,34,35,36],"sustained improve","improvement director","research-driven improve","multi-cycle improve","run until done","improve until ceiling","keep improving","hypothesis","belief model","scout agents","main","49119fa06efc769f502bede04ad99746ac20f021","skills\u002Fevolve",0,"https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits","2nd-yr EEE 📍 Bangalore | Python, C, Java, C# | ML, NLP & Flask backends | Building AI tools that ship 🚀 | Open to hackathons & collabs","2026-11-14 14:46:28",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":25},[47,50,53],{"tool":48,"command":49},"npx","npx skills add mayankjain1815-commits\u002FCITADEL --skill evolve",{"tool":51,"command":52},"bunx","bunx skills add mayankjain1815-commits\u002FCITADEL --skill evolve",{"tool":54,"command":55},"pnpm","pnpm dlx skills add mayankjain1815-commits\u002FCITADEL --skill evolve","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fevolve\u002FSKILL.md",[58,64],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"__benchmarks__\u002Fhappy-path-status.md","REFERENCE","参考文档",990,"https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fevolve\u002F__benchmarks__\u002Fhappy-path-status.md",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"__benchmarks__\u002Fno-rubric.md",835,"https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fevolve\u002F__benchmarks__\u002Fno-rubric.md",[69,76,83,90,97,104],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M79XH1DBMXQEF9N0Q6NW7Q5P","workspace","Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fworkspace\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M79XGWJJHSKNTH78TNVX09VK","wiki","Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to ~400K words.","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fwiki\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M79XGNW2YTFHVMEZGZDEDN43","watch","File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through \u002Fdo. Use for automatic reactions to file changes; do NOT use for one-off inspection or tasks needing human judgment per file.","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fwatch\u002FSKILL.md",[],[],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":19},"01M79XGHZ0028HDW7SDT186D6Q","verify","Self-test the Citadel hook pipeline from within a live session. Exercises real tool calls (Write, Edit, Bash, Read) and checks that hooks fired, telemetry accumulated, and no errors occurred. Reports HOOK HEALTH: PASS or HOOK HEALTH: FAIL with a per-hook breakdown.","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Fverify\u002FSKILL.md",[],[],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":19},"01M79XGDKHMADJXC27T0FMQAN3","unharness","Remove Citadel from a project. Exports valuable state (campaigns, postmortems, research, backlog, discoveries) to docs\u002Fcitadel\u002F as human-readable markdown, then removes all harness files and hooks. The archive is detected by \u002Fdo setup on re-install and offered for restore.","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Funharness\u002FSKILL.md",[],[],{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":19},"01M79XG81A3RHP2TKKBT5WYEY2","triage","GitHub issue and PR investigator. Pulls open issues\u002FPRs, classifies them, searches the codebase for root cause or reviews contributed code, proposes fixes with file:line references, and optionally implements fixes. Use for investigating GitHub issues and reviewing PRs; do NOT use for general code review unrelated to GitHub issues.","https:\u002F\u002Fgithub.com\u002Fmayankjain1815-commits\u002FCITADEL\u002Fblob\u002Fmain\u002Fskills\u002Ftriage\u002FSKILL.md",[],[]]