← ClaudeAtlas

finalizelisted

Финал сессии: застабилизировать код (typecheck/lint/build/test + автофикс) и сделать многоролевое код-ревью по git diff одной командой. Сиблинг plan-panel, но вход — РЕАЛИЗОВАННЫЕ изменения (diff), а не план. Роли plan-panel в режиме review_mode=code; judge выдаёт SHIP / FIX-FIRST / NEEDS-WORK. TRIGGER on: • «застабилизируй и сделай ревью», «финал сессии», «приведи в порядок и проверь», «закругляемся, прогони финалку» • «сделай код-ревью изменений», «проверь что мы наделали», «перед коммитом проверь» • "stabilize and review", "finalize this", "wrap up the session", "final code review", "review my changes before commit" • Explicit: «/finalize» Флаги: --staged (только staged), --since <ref> (diff против ref), --review-only (пропустить стабилизацию), --lite/--ultra (глубина review).
Redloft/redplan · ★ 2 · Code & Development · score 78
Install: claude install-skill Redloft/redplan
# /finalize — stabilize + код-ревью по diff Сиблинг `plan-panel`. Snapshot + stabilize делает **сессия детерминированно через Bash** (надёжнее, чем агент на git), панель код-ревью (scope→roles→judge) — Workflow `finalize.js`. Base dir: `~/.claude/skills/finalize`. Общие `strip-secrets.sh`/`checkpoint.sh` — symlink на `plan-panel/lib`. ## Процедура (что делает Claude при триггере) ### 0. Setup + Snapshot (Bash, детерминированно) ```bash B=~/.claude/skills/finalize/lib OUT=$(bash $B/persist.sh "<cwd>" "<session-slug>") # → project_dir|central|ts ; пишет checkpoint(run_type=finalize) PD=$(echo "$OUT" | cut -d'|' -f1) GATES=$(bash $B/detect-gates.sh "<cwd>" "<project_slug>") # JSON [{name,cmd}] или [] N=$(bash $B/snapshot.sh "<cwd>" "$PD" working) # git diff → strip → diff.patch+changed_files ; mode: working|staged|since ``` - `mode` из флага: по умолчанию `working`; `--staged` → staged; `--since <ref>` → since. - **N == 0** → стоп: «нечего финализировать (нет изменений)». - `diff.patch` уже **secrets-stripped** (snapshot гонит через strip; сырое на диск не пишется). ### 1. Stabilize (Workflow `stabilize.js`, пропустить если `--review-only` или GATES==[]) Автоматизированный fixer-loop (≤3 раунда, regression-guard, deny-list, no-suppression — всё внутри): ``` Workflow({scriptPath: "~/.claude/skills/finalize/workflow/stabilize.js", args: {cwd, gates: GATES, max_rounds: 3}}) → stabilize_report = {stable: true|false|"unknown", rounds, remain