triage について
triageは、プロジェクトのIssueや外部PRを定義済みの状態に沿って処理するスキルです。メンテナーによる分類、主張の検証、エージェント向けブリーフの作成を支援し、指定された判断点では人に確認します。
主な機能
- 01Issueと外部PRの分類
- 02状態に沿ったトリアージワークフロー
- 03コードベース内の重複実装と却下履歴の確認
- 04バグやPRの主張の検証
- 05エージェント向けブリーフの作成
活用シーン
- 01トリアージ状態別にIssueのバックログを整理
- 02報告されたバグの再現を確認
- 03エージェント向けに範囲を絞ったブリーフを作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ akillness/ jeo-skills --skill triageインストール後、Claude Code で/triageを入力して読み込まれたか確認します。
同梱ファイルreferences/AGENT-BRIEF.mdreferences/OUT-OF-SCOPE.md
詳細
トリアージ
トリアージロールのステートマシンを通じてイシューや外部 PR を進め、分類、検証し、必要に応じて厳しく確認して、エージェント向けのブリーフを作成します。イシューや外部 PR の分類、検証、エージェント向けブリーフへの変換が必要な場合に使用します。次の語句で起動します:triage、triage the backlog、review these issues。
このスキルは mattpocock/skills(MIT)からインポートされており、上流ではユーザーが呼び出すスキルです。
このスキルを使用する場面
- トリアージロールのステートマシンを通じてイシューや外部 PR を進め、分類、検証し、必要に応じて厳しく確認して、エージェント向けのブリーフを作成します。
- イシューや外部 PR の分類、検証、エージェント向けブリーフへの変換が必要な場合に使用します。
- 次の語句で起動します:triage、triage the backlog、review these issues。
手順
トリアージ
プロジェクトのイシュートラッカー上のイシューを、小規模なトリアージロールのステートマシンを通じて進めます。
このリポジトリが外部プルリクエストを依頼の窓口として扱う場合(イシュートラッカーの設定を参照)、トリアージの対象には外部 PR も含まれます。PR はコードが添付されたイシューとして扱い、同じロール、同じ状態、同じマシンを使用します。ただし、以下では「PR の場合」としていくつかの差分を示します。トラッカーの設定に従って、単独の #42 がイシューか PR かを特定してください。
トリアージ中にイシュートラッカーへ投稿するすべてのコメントまたはイシューは、必ず次の免責事項から始めてください。
> *This was generated by AI during triage.*
参考ドキュメント
- AGENT-BRIEF.md:エージェント向けの永続的なブリーフの書き方
- OUT-OF-SCOPE.md:
.out-of-scope/ナレッジベースの仕組み
ロール
分類ロールは 2 つです。
bug:何かが壊れているenhancement:新機能または改善
状態ロールは 5 つです。
needs-triage:メンテナーによる評価が必要needs-info:報告者からの追加情報を待っているready-for-agent:仕様が完全で、AFK エージェントが対応できる状態ready-for-human:人間による実装が必要wontfix:対応しない
PR の場合、状態は添付されたコードを基準に解釈します。ready-for-agent はブリーフが添付されており、エージェントが差分の次の作業に取りかかる状態を意味します。ready-for-human は人間がマージできる状態を意味します。
トリアージ済みの各イシューには、分類ロールを 1 つ、状態ロールを 1 つだけ付けてください。状態ロールが競合している場合は、何もする前にそのことを指摘し、メンテナーに確認してください。
これらは標準ロール名です。イシュートラッカーで実際に使われているラベル文字列は異なる場合があります。対応関係はあらかじめ提供されているはずです。提供されていない場合は、ユーザーに /setup-matt-pocock-skills を実行するよう伝えてください。
状態遷移:ラベルのないイシューは通常、まず needs-triage になります。そこから needs-info、ready-for-agent、ready-for-human、または wontfix に移行します。報告者が返信すると、needs-info は needs-triage に戻ります。メンテナーはいつでも上書きできます。不自然に見える遷移があれば指摘し、進める前に確認してください。
呼び出し
メンテナーは /triage を呼び出し、自然言語で希望する内容を説明します。その依頼を解釈して対応してください。例:
- 「対応が必要なものをすべて見せて」
- 「#42 を確認しましょう」(イシューまたは PR)
- 「#42 を ready-for-agent に移動して」
- 「エージェントが着手できる状態のものは?」
対応が必要な項目の表示
イシュートラッカーに問い合わせ、古い順に 3 つのグループを表示してください。
- ラベルなし:これまでトリアージされていない項目。
needs-triage:評価中の項目。needs-infoかつ前回のトリアージメモ以降に報告者のアクティビティがある項目:再評価が必要な項目。
PR が対象に含まれる場合は、これらのグループに外部 PR も含め、各項目の行に [PR] または [issue] を付けてください。検出対象となるのは外部 PR のみです(誰を外部と見なすかはトラッカーの設定で定義されています)。そのため、コラボレーターによる作業中の PR はトリアージ対象ではありません。このフィルターは検出時にのみ適用されます。明示的に指定された PR は、作成者にかかわらず必ずトリアージしてください。
件数と各項目の 1 行の概要を表示してください。選択はメンテナーに任せてください。
特定の issue または PR をトリアージする
-
コンテキストを収集する。 issue または PR の全体(本文、コメント、ラベル、作成者、日付。PR の場合は差分も)を読みます。過去のトリアージメモがあれば内容を確認し、すでに解決済みの質問を再度尋ねないようにします。プロジェクトのドメイン用語集を使ってコードベースを調べ、該当領域の ADR に従います。コードベースに対して次の2つの確認を行います。(a)重複性:依頼の文言だけでなく、ドメイン概念に基づいて、求められている動作の既存実装を検索し、調べた場所を報告します。見つかった場合は、すでに実装済みの
wontfixとします(ステップ5)。(b)過去の却下:.out-of-scope/*.mdを読み、この依頼に類似するものがあれば提示します。 -
提案する。 担当者に、カテゴリーと推奨する対応を理由とともに伝え、依頼に関係するコードベースの概要(すでに実装済みかどうかを含む)を簡潔に説明します。指示を待ちます。
-
申告内容を検証する。 詳細を問いただす前に、申告内容が妥当か確認します。バグの場合は、報告者の手順で再現します。PR の場合は、差分が申告どおりの内容かを確認します。チェックアウトし、関連するテストやコマンドを実行します。結果を報告します。確認済み(コードパスを提示)、再現できなかった、または情報不足(
needs-infoの強い判断材料)のいずれかです。検証済みであれば、エージェント向けの依頼内容をより明確にできます。 -
必要であれば質問する。 依頼を具体化する必要がある場合は、Skill ツールを「grilling」と「domain-modeling」でそれぞれ一度呼び出し、質問を一度に1ラウンドずつ行って内容を整理します。ドメイン用語を明確にし、決定事項が固まるたびに
CONTEXT.md/ADR をその場で更新します。 -
結果を適用する。
ready-for-agent:エージェント向け依頼コメントを投稿します(AGENT-BRIEF.md)。ready-for-human:エージェント向け依頼と同じ構成にします。ただし、判断、外部アクセス、設計上の決定、手動テストなどの理由により委任できないことを記します。needs-info:トリアージメモを投稿します(以下のテンプレート)。wontfixの場合は issue をクローズします。コメントは理由に応じて次のようにします。- すでに実装済み:変更はコードベースにすでに存在します。実装箇所を示します。
.out-of-scope/には記録しないでください(この KB は却下した依頼のためのもので、実装済みの機能を記録する場所ではありません)。 - 却下(バグ):丁寧に説明してからクローズします。
- 却下(機能追加):
.out-of-scope/に記録し、コメントから該当ファイルにリンクしてからクローズします(OUT-OF-SCOPE.md)。
- すでに実装済み:変更はコードベースにすでに存在します。実装箇所を示します。
needs-triage:役割を適用します。進捗が一部ある場合は、コメントを投稿してもかまいません。
クイック状態変更
担当者から「#42 を ready-for-agent に移動して」と指示されたら、その指示を信頼し、役割を直接適用します。実行前に、これから行うこと(役割の変更、コメント、クローズ)を確認してから実行します。質問は省略します。質問を行わずに ready-for-agent に移動する場合は、エージェント向け依頼を書いてほしいかどうかを尋ねます。
needs-info テンプレート
## Triage Notes
**What we've established so far:**
- point 1
- point 2
**What we still need from you (@reporter):**
- question 1
- question 2
質問を通じて解決した内容はすべて「ここまでに確定したこと」に記録し、作業内容が失われないようにします。質問は具体的で、回答後に行動できるものにします。「詳細を教えてください」のような質問は避けます。
前回のセッションを再開する
issue または PR に過去のトリアージメモがある場合は、それを読み、報告者が未解決の質問に答えているか確認してから、状況を更新して提示します。解決済みの質問を再度尋ねないでください。
例
- まずこのスキルを狭い範囲に適用し、出力が上記の形式に合っていることを確認してから、タスク全体に範囲を広げます。
- リポジトリや環境から事実を確認する必要がある場合は、ユーザーに尋ねず、自分で調べます。
ベストプラクティス
- 上流の手順をそのまま維持します。逸脱する場合は、独自の判断で変更するのではなく、明示的に記録します。
- このスキルでユーザーの判断が必要とされている箇所では、その都度作業を止めてユーザーに引き継ぎます。
- 小さく、元に戻せる変更を優先し、前提は隠さず明示します。
参考資料
- 上流スキル:
mattpocock/skillsskills/engineering/triage/SKILL.md(コミット3cca18b、MIT) - 関連ドキュメント:references/AGENT-BRIEF.md
- 関連ドキュメント:references/OUT-OF-SCOPE.md
- プロジェクト標準:
.agent-skills/skill-standardization/SKILL.md - バリデータースクリプト:
.agent-skills/skill-standardization/scripts/validate_skill.sh