retro について
LLMによる分析でセッションの摩擦と再利用可能な学びを見つけ、分類して承認後に反映する振り返りスキルです。セッション監査、メモリ昇格、完了チェックに対応し、承認なしの書き込みは行いません。
主な機能
- 01摩擦と再利用可能な学びを検出
- 02発見事項を反映先に分類
- 03反映前に承認を必須化
- 04セッション内外の振り返りに対応
- 05昇格と完了チェックのモード
活用シーン
- 01コーディングセッションの反復的な摩擦を確認
- 02複数セッション間の設計上のずれを監査
- 03承認済みのローカルメモリを広い範囲へ昇格
- 04根拠に基づく条件でタスク完了を確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ netresearch/ retro-skill --skill retroインストール後、Claude Code で/retroを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
checkpoints.yamlevals/canonical-owner-not-skill-copy.mdcleanup-scope-derived-not-remembered.mdconflicting-skill-instructions.mdcross-session-pattern-scope.mddescription-no-match-not-conclusive.mddone-gate-holds-on-unbooked-time.mddurable-change-codified.mdeval-tightening-retains-valid-controls.mdharness-artefact-over-prose.mdmechanical-failure-not-skill-update.mdno-action-low-confidence.mdobsolete-instruction-removal.mdpending-state-memory-is-reverified.mdpersonal-rule-alias-accepted.mdproject-harness-not-only-skills.mdREADME.mdreusable-learning-survives-cap.mdreview-feedback-outside-transcript.mdsignal-count-validated-before-escalation.mdskill-bug-vs-gap.mdstale-open-not-obsolete.mdsuperseded-copy-pruned.mdtracker-neutrality.mdreferences/classification-heuristic.mddestination-taxonomy.mddone-mode.mdeval-integration.mdfeedback-contract.mdfriction-catalog.md詳細
Retro — LLM 駆動のセッション振り返り
Codex では、スクリプトのパスを読み込まれたこのスキルディレクトリから解決し、Claude のキャッシュパスではなく、ネイティブの検出リーダー(find-org-skills.py --host codex)を使用します。ホストの選択と対象範囲の制限については、references/skill-discovery.md を参照してください。
セッションまたはメモリのバックログに対する 1 回の LLM パスで、摩擦や再利用可能な学びを検出し、それぞれを 7 つの保存先のいずれかに分類して、承認されたものを実体化します。
基本原則: 書き込みを黙って行いません。実体化にはすべて承認が必要です。
モード
/retro— スイープ:現在のセッション全体を確認します。/retro "<problem>"— スポットライト:説明された問題を 1 つ確認します。/retro outcome [session-id|--since N]— 過去のセッションを、その結果に基づいて再生します。/retro audit [--scope project|repo|skill]— セッションをまたいだアーキテクチャのずれを確認します。/retro promote— すでに書き込まれたローカルメモリを上位に移動します(プロジェクトローカルのメモリは対象外)。上位への書き込みが検証された後にのみ、元の場所から削除します。references/promote-mode.mdを参照してください。/retro done— 完了の定義を確認するゲートです。証拠に基づく 7 項目(タスク、調査結果、振り返り、クリーンアップ、質問、チケット、時間)をそれぞれ ✅ / ❌ / ⏸ / N/A で確認します。名前が明示された担当者が、明示されたアクションで完了できる場合に限り ⏸ とします。構造的に存在しないものは、理由を添えて N/A とします — 誰も完了できない ⏸ があると、表全体がスキップされます。すべての行が ✅ または N/A なら、done と伝えます。references/done-mode.mdを参照してください。- 自動 — 任意の SessionEnd フックです。デフォルトではオフです。このスキルディレクトリの一部ではなく、プラグインレベルの機能です:リポジトリのルートにある
hooks/session-end.json(README の「Optional auto-trigger」を参照)。
パイプライン(全モード共通)
- 機械的な事前処理 —
uv run ${CLAUDE_SKILL_DIR}/scripts/detect-mechanical.py(Promote の場合:uv run ${CLAUDE_SKILL_DIR}/scripts/scan-memory-inventory.py)。すべての Python スクリプトはuv runで実行します。ヘッダーでは Python 3.11 以降を指定していますが、python3はそれより古いインタープリターの場合があります(macOS には 3.9 が付属します)。--transcript-fileが必須です。トランスクリプトの特定には最終更新時刻ではなく、内容を使用します — このセッションのトークンを使います。同じプロジェクトスラッグを複数のセッションで共有するため、最新の JSONL が別のセッションのものであることが頻繁にあります。Codex のロールアウト JSONL は、最初にscripts/codex-transcript.pyで変換する必要があります。Windows ではuv runの前にPYTHONUTF8=1を設定してください。呼び出し方法とアダプターの制限についてはreferences/workflow.mdを参照してください。 次に、同じトランスクリプトに対してuv run ${CLAUDE_SKILL_DIR}/scripts/collect-review-findings.pyを実行します(このスクリプトのヘッダーでも tree-sitter パーサーを指定しており、通常のpython3ではメッセージが表示されて停止します)。セッションの PR/MR に関するレビューのスレッド、ボットによるレビュー、コメント、それらにリンクされたイシューに加え、--feedback-fileで渡された正規化済みのトラッカーからのフィードバック(B18–B20、D4、D6 の入力)が対象です。サブエージェントのトランスクリプト(<session id>/subagents/agent-*.jsonl)も読み込まれます。出力のtranscriptsには、読み込まれたすべてのファイルが列挙されます。スクリプトが開いた PR(フリートドライバーのopened.jsonl)はトランスクリプトに含まれません。そのファイルは--pr-listで渡してください。関連する不透明なヒントは、キーの形式から推測せず、所有するインテグレーションを通じて解決してください。references/feedback-contract.mdを参照してください。カバレッジが不完全な場合、何もないことを意味しません。 - LLM による拡充 — 推論によるシグナルと両方の分類(摩擦と学び、B16–B20)を確認し、誤検出を除外します。
- セッション横断の拡充(任意) —
${CLAUDE_SKILL_DIR}/scripts/scan-cross-session.pyで JSONL をスキャンします。 - スキルを検出します —
${CLAUDE_SKILL_DIR}/scripts/find-org-skills.py— およびリポジトリのハーネス(project-harness-inspection.md)を確認します。 - 分類します(
classification-heuristic.md) — まず権限を確認し、次に最も広い適用範囲を選びます。プロジェクトローカルのメモリは対象外です。 - 評価 — 該当するスキルの
evals/を読み、TDD のスタブを提案します。 - 提案 — 理由と適用方法を文章で示し、グループ化します。最大 10 件です。学びは絞り込み後も残します。
- 承認 — 提案ごとに承認、編集、または却下します。
- 保存先ごとに実体化します。Promote の場合は、最後に(検証後)元の場所から削除します。
- 報告します。
境界
範囲: セッション終了時/セッション横断の分析、スキルの PR 振り分け、完了ゲート。 トラッカーの識別とアクセスは、それを所有するインテグレーションに属します。QA と時間ポリシーは、プロジェクト/組織のルールに属します。コアには、暗黙のトラッカー、CLI の検出、組織固有の請求デフォルトは含めません。
必ず守ること: LLM を主要な分類器とします。パッチはソースリポジトリに適用し、キャッシュには適用しません。プライベートリポジトリごとに確認します。Conventional Commits を使用します。DCO の署名(git commit -s)を付けます。コミットの署名を保持します。
事前に確認すること: スキルの一致が曖昧な場合、自動モードの有効化、プライベートリポジトリへの適用、ダーティーな作業ツリーへのフォールバック、メモをチームに公開する昇格。
決して行わないこと: 自動マージ、無言での書き込み、ハーネスが作り出した帰属表示(ユーザーのルールで定められた開示が必要です)、フックのスキップ(--no-verify)、キャッシュへのパッチ適用、スキルの静的リストのハードコード、枯渇したメモの rm(tombstone)。Done モードでは、マージ、タグ付け、デプロイを行わず、別のセッションのコンテナ、プロセス、作業ツリーにも触れません。
参考資料
| ファイル | 目的 |
|---|---|
references/feedback-contract.md | トラッカーに依存しないエビデンスと参照解決 |
references/friction-catalog.md | すべてのシグナル:摩擦+学び(A/B/C、B16~B20) |
references/destination-taxonomy.md | 7 つの移行先 |
references/classification-heuristic.md | 摩擦から移行先へのマッピング |
references/skill-discovery.md | 実行時のスキルの検出 |
references/patch-workflow.md | ソースリポジトリへのパッチ適用(キャッシュには適用しない) |
references/eval-integration.md | コンテキスト用の評価と TDD スタブ |
references/promote-mode.md | Promote:具体化してからドレイン |
references/done-mode.md | Done:7 つのゲートによる完了チェック |
references/workflow.md | すべてのモードとフェーズ選択 |