← ClaudeAtlas

skill-evolvelisted

Distill a recurring ingest/lint failure into a bounded improvement to one skill — read the skill-mine backlog → write a bounded SKILL.md edit on an isolated branch → run skill-gate (pytest + dual-tree parity + gate-integrity) → skill-stage the candidate, leaving skill-adopt to a human. Use when the user says "distill this failure into the skill / evolve a skill / let a skill self-improve / handle skill backlog item N". Only for improving this project's own skills; "summarize this / explain this / translate this / add this book to the KB (that is ingest)" must never trigger it.
Iabstergo1/pdf-to-study-kb · ★ 1 · AI & Automation · score 74
Install: claude install-skill Iabstergo1/pdf-to-study-kb
# skill-evolve — make a skill steadier under a gate (the only LLM, human-triggered) Distill a **recurring** failure into a **bounded improvement** to one skill; whether it's correct is judged by **deterministic tests**, and release is decided by a **human**. This is the human-triggered "only LLM action" under the core constraints — **never an unattended batch run.** Project truth: `CLAUDE.md` / `AGENTS.md`. ## 1. Triggers / Non-triggers - **Triggers:** the user wants to distill a recurring failure into a skill — "evolve a skill / handle backlog item N / write this lesson into the skill / let a skill self-improve". - **Non-triggers (never fire):** - "add this book / PDF to the KB" → that is **ingest**, not a skill edit. - "summarize this / explain this / translate this / query X in the KB" → read-only or ingest/kb-query, unrelated to editing a skill. - a one-off, non-reproducing failure (backlog `count` = 1) → not worth a skill edit. - anything that would need editing `tests/` or `pipeline.py` gate logic to "pass" → out of bounds, refuse. ## 2. Inputs - The `skill-mine` output `pipeline-workspace/skill-evolution/backlog.yaml`: each entry has `signature / count / sources / sample_reason / last_seen`. Only `open` proposals are counted — signatures already fixed and retired via `proposals-resolve` drop out; use `last_seen` to judge how fresh a signal is. - The user-named backlog entry (by `signature` or index). - The target skill's `SKILL.md` (both trees) + failure-s