skill-evolvelisted
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