---
name: self-retrospect
description: |
  Opt-in self-retrospect: один раз за период (по умолчанию ~50 эпизодов или
  «триггер от заказчика») контроллер прогоняется по своим эпизодам и
  отвечает на вопросы про собственные паттерны: где переоценил уверенность,
  где зря выбрал direct вместо навыка, где наоборот стоило выбрать direct
  но навык сработал лишним. Результат пишется как заметка в
  `docs/observer/notes/<YYYY-MM-DD>-self-retrospect.md`, НЕ как эпизод.
  
  Triggers: явное «/self-retrospect» от заказчика, OR порог
  `docs/observer/.self-retrospect-counter.json:episodes_since_last >= 50`
  (контроллер видит порог в STATUS.md C5 и предлагает запуск).
  
  Spec: docs/superpowers/specs/2026-05-24-llm-first-router-overhaul-design.md §4.8.
tools: Read, Grep, Glob, AskUserQuestion, Write, Edit
---

# self-retrospect — Phase 3 Task 19 stub

This is the **stub** for the opt-in self-retrospect skill (Phase 3 Task 19).
The full procedure (read 50 episodes → answer 5-7 introspection questions
via AskUserQuestion → write note → bump counter) is **wired in Phase 3 Task
20** when the analyzer and STATUS.md generator surface the
`episodes_since_last >= 50` threshold.

For now, when invoked:

1. Read `docs/observer/.self-retrospect-counter.json`.
2. Read the last N episodes from `docs/observer/episodes-YYYY-MM.jsonl`
   (default N = `episodes_since_last`).
3. Ask the user (via AskUserQuestion) 3-5 retrospective questions about
   own routing patterns over that window (template in `references/` —
   created in Task 20).
4. Sanitize answers via `tools/observer-pii-filter.mjs` (`sanitize` export)
   before writing.
5. Write `docs/observer/notes/YYYY-MM-DD-self-retrospect.md`.
6. Reset counter: `episodes_since_last = 0`, `last_run_at = now`.

Until Task 20 wires steps 3 and the references template, invoking this
skill should walk through steps 1-2 + 4-6 manually and ask the user the
3-5 questions inline.
