retrospectivelisted
Install: claude install-skill hazarsozer/ren-os
# retrospective
Spec §3.7's minimal retrospective engine + v2.1 D-2's skill-candidate mining, in one pass: `gather` → `analyze` → (live session may enrich) → `propose_all`. No eval-scored iteration — this runs once per invocation, not a tuning loop.
## The three deterministic rules (`analyze`)
| Finding kind | Fires when | What it proposes |
|---|---|---|
| `lesson` | A page has been corrected (journaled UPDATE with `supersedes`) ≥2 times | "This page keeps being corrected — capture the stable truth" |
| `instruction-tweak` | ≥3 classifier `fail_closed` events recorded | "Wrap gate failing often — check llm_call wiring" |
| `skill-candidate` (D-2) | A task-shape phrase recurs across ≥3 distinct sessions | `{task, frequency, proposed_shape, proposed_scaffold}` — a repeated pattern that isn't a skill yet, with an executable script scaffold (SKILL.md layout + `lib/run.py` stub) so the reviewer sees exactly what would be built |
All three are pure, deterministic functions over `gather()`'s output — no LLM call inside `lib.analyze`. The judgment layer belongs to the LIVE SESSION running this skill, not the library: read each finding, optionally enrich it (a sharper lesson statement, a more concrete proposed skill shape) before calling `propose_all`.
## When to use this skill
- Friend invokes `/ren:retrospective` for a fresh pass
- Friend invokes `/ren:retrospective --since 2026-01-01` to scope the metrics window
- A scheduled routine invokes it periodically (via `skills/rout