gvkhosla/compound-engineering-pi

CLI Todoシステム向けに発見事項をトリアージし、カテゴリ分けするスキル

compound-engineering-pi とは?

このスキルは、CLIベースのTodoシステムと連携して、コードレビュー、セキュリティ監査、パフォーマンス分析などの発見事項を体系的に管理します。ユーザーは発見事項を一つずつ確認し、Todoとして承認(ready)、スキップ(削除)、またはカスタマイズして登録できます。承認されたTodoは自動的にYAMLフロントマターが更新され、ファイル名もステータスに応じて変更されます。このスキルはClaude Codeや類似のAIエージェント向けに設計されており、/resolve-todo-parallelコマンドとの連携を前提としています。トリアージ中はコードの実装を禁止し、あくまで発見事項の整理と優先順位付けに集中することで、効率的なタスク管理を実現します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gvkhosla/compound-engineering-pi/tree/HEAD/skills/triage

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

  • 最初に /model を Haiku に設定してください
  • 次に .context/compound-engineering/todos/ およびレガシー todos/ ディレクトリから未処理のTodoをすべて読み取ってください

発見事項、決定事項、問題点を一つずつここに提示してトリアージを行います。目標は、各項目を確認し、CLI Todoシステムに追加するかどうかを決定することです。

重要: トリアージ中は絶対にコーディングしないでください!

このコマンドは以下に使用します:

  • コードレビュー発見事項のトリアージ
  • セキュリティ監査結果の処理
  • パフォーマンス分析のレビュー
  • その他、追跡が必要なカテゴリ化された発見事項の処理

ワークフロー

ステップ1: 各発見事項を提示する

各発見事項について、以下の形式で提示します:

---
Issue #X: [簡潔なタイトル]

重要度: 🔴 P1 (CRITICAL) / 🟡 P2 (IMPORTANT) / 🔵 P3 (NICE-TO-HAVE)

カテゴリ: [セキュリティ/パフォーマンス/アーキテクチャ/バグ/機能/etc.]

説明:
[問題または改善点の詳細な説明]

場所: [ファイルパス:行番号]

問題シナリオ:
[何が問題で、何が起こり得るのかをステップごとに説明]

提案される解決策:
[修正方法]

推定工数: [小 (< 2時間) / 中 (2-8時間) / 大 (> 8時間)]

---
これをTodoリストに追加しますか?
1. yes - Todoファイルを作成
2. next - この項目をスキップ
3. custom - 作成前に修正

ステップ2: ユーザーの決定を処理する

ユーザーが「yes」と答えた場合:

  1. 既存のTodoファイルを更新 (存在する場合) または 新しいファイル名を作成:

    Todoが既に存在する場合(コードレビューから):

    • ファイル名を {id}-pending-{priority}-{desc}.md → {id}-ready-{priority}-{desc}.md に変更
    • YAMLフロントマターを更新: status: pending → status: ready
    • issue_id, priority, description は変更しない

    新しいTodoを作成する場合:

    {next_id}-ready-{priority}-{brief-description}.md
    

    優先度マッピング:

    • 🔴 P1 (CRITICAL) → p1
    • 🟡 P2 (IMPORTANT) → p2
    • 🔵 P3 (NICE-TO-HAVE) → p3

    例: 042-ready-p1-transaction-boundaries.md

  2. YAMLフロントマターを更新:

    ---
    status: ready # 重要: "pending" から "ready" に変更
    priority: p1 # または p2, p3(重要度に基づく)
    issue_id: "042"
    tags: [カテゴリ, 関連タグ]
    dependencies: []
    ---
    
  3. ファイルを充実させる、または更新する:

    # [Issueタイトル]
    
    ## 問題文
    [発見事項の説明]
    
    ## 発見内容
    - [主な発見]
    - 場所: [ファイルパス:行番号]
    - [シナリオの詳細]
    
    ## 提案される解決策
    
    ### オプション1: [主な解決策]
    - **メリット**: [利点]
    - **デメリット**: [あれば欠点]
    - **工数**: [小/中/大]
    - **リスク**: [低/中/高]
    
    ## 推奨アクション
    [トリアージ中に記入 - 具体的なアクションプラン]
    
    ## 技術的詳細
    - **影響を受けるファイル**: [ファイル一覧]
    - **関連コンポーネント**: [影響を受けるコンポーネント]
    - **データベース変更**: [はい/いいえ - 「はい」の場合は説明]
    
    ## リソース
    - 元の発見: [このIssueのソース]
    - 関連Issue: [あれば]
    
    ## 受け入れ基準
    - [ ] [具体的な成功基準]
    - [ ] テストが通ること
    - [ ] コードレビューが完了していること
    
    ## 作業ログ
    
    ### {日付} - 作業承認
    **担当:** Claude トリアージシステム
    **アクション:**
    - トリアージセッション中に承認
    - ステータスを pending → ready に変更
    - 作業開始可能状態
    
    **学び:**
    - [コンテキストと洞察]
    
    ## メモ
    ソース: {日付}のトリアージセッション
    
  4. 承認を確認: "✅ 承認: {新しいファイル名} (Issue #{issue_id}) - ステータス: ready → 作業可能"

ユーザーが「next」と答えた場合:

  • Todoファイルを削除 - 現在の場所から削除(関連性がないため)
  • 次の項目にスキップ
  • スキップした項目をサマリー用に追跡

ユーザーが「custom」と答えた場合:

  • 何を修正するか尋ねる(優先度、説明、詳細)
  • 情報を更新
  • 修正版を提示
  • 再度確認: yes/next/custom

ステップ3: すべて処理されるまで続行

  • すべての項目を一つずつ処理
  • 可視性のためにファイルベースのTodo(todos/ + /skill:file-todos)を使用して追跡
  • 項目間で承認を待たずに続行

ステップ4: 最終サマリー

すべての項目が処理された後:

## トリアージ完了

**合計項目数:** [X] **承認されたTodo (ready):** [Y] **スキップ:** [Z]

### 承認されたTodo (作業可能):

- `042-ready-p1-transaction-boundaries.md` - トランザクション境界の問題
- `043-ready-p2-cache-optimization.md` - キャッシュパフォーマンス改善 ...

### スキップされた項目 (削除済み):

- Item #5: [理由] - 削除
- Item #12: [理由] - 削除

### 行われた変更のサマリー:

トリアージ中に、以下のステータス更新が行われました:

- **Pending → Ready:** 承認ステータスを反映するためにファイル名とフロントマターを更新
- **削除:** スキップされた発見事項のTodoファイルを削除
- 承認された各ファイルのYAMLフロントマターには `status: ready` が設定されています

### 次のステップ:

1. 作業可能な承認済みTodoを表示:
   ```bash
   ls .context/compound-engineering/todos/*-ready-*.md todos/*-ready-*.md 2>/dev/null
   ```
  1. 承認された項目の作業を開始:

    /resolve-todo-parallel  # 複数の承認済み項目を効率的に処理
    
  2. または、個別の項目を選んで作業

  3. 作業中にTodoステータスを更新:

    • Ready → In Progress (作業中のローカルコンテキストで)
    • In Progress → Complete (ファイル名を ready → complete に変更、フロントマターを更新)

## レスポンス形式の例


Issue #5: マルチステップ操作におけるトランザクション境界の欠落

重要度: 🔴 P1 (CRITICAL)

カテゴリ: データ整合性 / セキュリティ

説明: GoogleOauthCallbacks concern の google_oauth2_connected コールバックは、トランザクション保護なしで複数のデータベース操作を実行しています。途中でいずれかのステップが失敗すると、データベースは不整合な状態になります。

場所: app/controllers/concerns/google_oauth_callbacks.rb:13-50

問題シナリオ:

  1. User.update が成功(メール変更)
  2. Account.save! が失敗(バリデーションエラー)
  3. 結果: User のメールは変更されたが、Account は関連付けられていない
  4. 次のログイン試行は完全に失敗

トランザクションなしの操作:

  • User確認(13行目)
  • ウェイトリスト削除(14行目)
  • Userプロファイル更新(21-23行目)
  • Account作成(28-37行目)
  • アバター添付(39-45行目)
  • ジャーニー作成(47行目)

提案される解決策: すべての操作を ApplicationRecord.transaction do ... end ブロックでラップする

推定工数: 小(30分)


これをTodoリストに追加しますか?

  1. yes - Todoファイルを作成
  2. next - この項目をスキップ
  3. custom - 作成前に修正

## 重要な実装詳細

### トリアージ中のステータス遷移

**「yes」が選択された場合:**
1. ファイル名を変更: `{id}-pending-{priority}-{desc}.md` → `{id}-ready-{priority}-{desc}.md`
2. YAMLフロントマターを更新: `status: pending` → `status: ready`
3. トリアージ承認エントリを作業ログに追加
4. 確認: "✅ 承認: `{ファイル名}` (Issue #{issue_id}) - ステータス: **ready**"

**「next」が選択された場合:**
1. 現在の場所からTodoファイルを削除
2. 次の項目にスキップ
3. システムにファイルは残らない

### 進捗追跡

Todoを見出しとして提示するたびに、以下を含めてください:
- **進捗:** X/Y 完了(例: "3/10 完了")
- **推定残り時間:** 進捗速度に基づく
- **ペース:** 発見事項あたりの時間を監視し、見積もりを調整

例:

進捗: 3/10 完了 | 推定時間: 残り約2分


### トリアージ中はコーディングしない

- ✅ 発見事項を提示
- ✅ yes/next/custom の決定を行う
- ✅ Todoファイルを更新(名前変更、フロントマター、作業ログ)
- ❌ 修正を実装したり、コードを書かない
- ❌ 詳細な実装詳細を追加しない
- ❌ それは /resolve-todo-parallel フェーズのため

完了したら、以下のオプションを提示します:

次に何をしますか?

1. /resolve-todo-parallel を実行してTodoを解決する
2. Todoをコミットする
3. 何もしない、休む

関連スキル