triage
URL(Slack/GitHub/その他)から情報収集→周辺コンテキスト探索→分析→Linear Issue 登録を行う初動対応ワークフロー。 問い合わせやバグ報告のトリアージに使用する。
10 stars
Best use case
triage is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
URL(Slack/GitHub/その他)から情報収集→周辺コンテキスト探索→分析→Linear Issue 登録を行う初動対応ワークフロー。 問い合わせやバグ報告のトリアージに使用する。
Teams using triage should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
$curl -o ~/.claude/skills/triage/SKILL.md --create-dirs "https://raw.githubusercontent.com/neko-neko/dotfiles/main/claude/skills/triage/SKILL.md"
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/triage/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How triage Compares
| Feature / Agent | triage | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
URL(Slack/GitHub/その他)から情報収集→周辺コンテキスト探索→分析→Linear Issue 登録を行う初動対応ワークフロー。 問い合わせやバグ報告のトリアージに使用する。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Triage — 初動対応ワークフロー URL を受け取り、4フェーズのパイプラインで初動対応を完了する。 **開始時アナウンス:** 「Triage を開始します。Phase 1: Data Collection」 ## 起動 ``` /triage <URL> [補足テキスト] ``` - URL: 必須 - 補足テキスト: 任意。Phase 2 の探索判断に加味される ARGUMENTS を `<URL>` と `[補足テキスト]` にパースする。URL が含まれない場合は AskUserQuestion で URL を要求する。 ## Phase 1: Data Collection **アナウンス:** 「Phase 1: Data Collection — データソースから情報を取得します」 URL に対して利用可能なツールの中から最適なものを選択し、データを取得する。 ### 動作 1. URL を分析し、利用可能なツール(Bash 経由の CLI、WebFetch 等)の中から最適なデータ取得手段を判断する 2. 選択したツールでデータを取得する 3. 取得できない場合は WebFetch にフォールバックする 4. 取得した生データを保持し、Phase 2 に進む ### ツール選択の判断基準 - URL の内容を取得するのに **専用ツール**(CLI 等)が存在するなら、それを優先する - 専用ツールがない、またはツールが失敗した場合は WebFetch でページ内容を取得する - 特定サービスへのハードコーディングは行わない。ツールの追加で対応ソースは自然に拡張される ### エラー時 データを一切取得できなかった場合: - 「URL からデータを取得できませんでした。URL が正しいか確認してください。」と報告して終了 ## Phase 2: Context Exploration **アナウンス:** 「Phase 2: Context Exploration — 周辺コンテキストを探索します」 Phase 1 で取得したデータを分析し、並列エージェントで探索を実行する。3 サブステップで構成される。 ### Phase 2a: Exploration Planning Phase 1 のデータから以下を抽出する: 1. 報告者(誰が報告しているか) 2. 対象(何についての報告か — 顧客名、機能名、エラー内容等) 3. 緊急度の手がかり(「至急」「本番障害」等のキーワード) データ内容に応じて追加探索オプションを提案する。探索の種類と深さは LLM がデータ内容に応じて判断する。固定リストではない。 典型的な探索候補: - コミュニケーションツール内の関連メッセージ検索 - Issue/PR の類似報告・過去の対応履歴 - コードベースの関連箇所・最近の変更 - 実行環境・データストア・エラートラッキング等の外部システム確認 以下のフォーマットで提案し、AskUserQuestion で選択を取得する: ``` ## データソース要約 - ソース: [ソース種別と概要] - 報告者: [誰が] - 内容: [何を報告しているか] ## 探索提案 以下の追加調査を提案します: 1. [推奨] ... 2. [推奨] ... 3. [任意] ... 実行する番号を選択してください(例: 1,2 / all / none) ``` 受け付ける入力: - `none` → Phase 2b/2c をスキップし、Phase 1 のデータのみで Phase 3 に進む - `all` → 全探索を並列実行 - カンマ区切りの番号(例: `1,2`) → 該当番号の探索を並列実行 ユーザーが番号選択と共に補足テキストを追加した場合、Phase 3 の分析に加味する。 ### Phase 2b: Parallel Execution 承認された探索を 1 候補 = 1 Agent として並列 dispatch する。 **エージェント構成:** - 各エージェントには以下を渡す: - Phase 1 の取得データ(コンテキスト共有) - 探索の具体的な指示(例: 「Linear で [トピック] に関連するチケットを検索」) - 利用するツールの指定(slackcli, Grep, linear CLI 等) - エージェント数の上限なし(承認された探索数 = エージェント数) **エージェントの責務:** - 割り当てられた 1 つの探索を実行し、結果を返す。それ以外はやらない - 探索失敗時は「取得できなかった」旨を返す(該当探索をスキップして続行) **オーケストレーターの責務:** - 全エージェントの完了を待つ - 各エージェントの結果を自身で統合・要約する - エージェントの生出力をそのまま Phase 3 に転送しない ### Phase 2c: Findings Confirmation 全探索結果のサマリーを提示し、ユーザーに正確性を確認する。 以下のフォーマットで提示し、AskUserQuestion で承認を取得する: ``` ## 探索結果サマリー ### 1. [探索名] - 取得元: [URL or 検索クエリ] - 要約: [2-3行の要約] - 関連度: 高 / 中 / 低 ### 2. [探索名] - 取得元: ... - 要約: ... - 関連度: ... --- この内容で分析に進みますか?(修正があれば指示してください) ``` 受け付ける入力: - 承認 → Phase 3 に進む - 修正指示(例: 「1 のスレッドは違う、正しくは #channel の昨日のスレッド」)→ 該当探索のみ再実行し、再度確認ゲートを提示 - `none` → 全探索結果を破棄し、Phase 1 のデータのみで Phase 3 に進む **再実行ルール:** - 修正対象の探索のみ再実行する(他の探索結果は保持) - 再実行は並列ではなく単発(1 探索の修正のため) - 再実行後、再度確認ゲートを全体提示する ## Phase 3: Analysis **アナウンス:** 「Phase 3: Analysis — 収集した情報を分析します」 Phase 1 + Phase 2 で収集した全情報を構造化する。 ### 動作 収集した情報量に応じて、以下の項目を取捨選択して構造化する。全項目を常に出力するわけではない。 - **タイトル**: 1行要約(Linear Issue のタイトルになる) - **分類**: Bug / Feature / Improvement - **ドメインラベル**: データ内容から判断(プロジェクトに存在するラベルから選択) - **優先度提案**: Urgent / High / Medium / Low + 根拠 - **要約**: 何が起きているか(2-3文) - **原因仮説**: コードベース調査した場合のみ - **影響範囲**: 該当顧客・機能 - **関連リソース**: 元 URL、関連 Issue/PR、コミット SHA 等 - **推奨アクション**: 次のステップの提案 ### 出力 構造化した分析結果を Phase 4 に渡す。この時点ではユーザーに提示しない(Phase 4 のプレビューで提示する)。 ## Phase 4: Linear Registration **アナウンス:** 「Phase 4: Linear Registration — Linear Issue を作成します」 Phase 3 の分析結果をプレビューとしてユーザーに提示し、承認後に Linear Issue を作成する。 ### プレビュー 以下のフォーマットで提示し、AskUserQuestion で承認を取得する: ``` ## Linear Issue プレビュー - **Title**: [タイトル] - **Project**: [プロジェクト名] - **Labels**: [ラベル] - **Priority**: [優先度] — [根拠] - **Description**: [要約 + 分析結果] この内容で Linear Issue を作成しますか?(修正があれば指示してください) ``` 受け付ける入力: - 承認(`yes`, `ok`, `作成して` 等) → Issue を作成 - 修正指示(テキスト) → 指示に従い修正してから再プレビュー - `cancel` → 「Issue 作成をキャンセルしました。」と報告して終了 ### Issue 作成 1. Issue を作成する - title: Phase 3 のタイトル - project: 分析結果から判断 - labels: 分析結果の分類 + ドメインラベル - priority: 分析結果の優先度(Urgent=1, High=2, Medium=3, Low=4) - description: 分析結果の要約 + 関連リソースのリンク 2. 分析が深い場合(原因仮説・影響範囲・関連コミット等がある場合): - 詳細分析ドキュメントを作成し、Issue に紐付ける 3. 元 URL をアタッチメントとして添付する ### 完了報告 ``` Triage 完了。 - Linear Issue: [Issue ID] [Issue URL] - Title: [タイトル] - Priority: [優先度] ``` ## エラーハンドリング | Phase | エラー | 対応 | |-------|--------|------| | 1 | URL からデータ取得不可 | 報告して終了 | | 2 | 探索ツールが失敗 | 該当探索をスキップし、取得済みデータで続行 | | 4 | Linear API エラー | エラー内容を報告し、再試行するか確認 | ## Red Flags **Never:** - ユーザー承認なしに Linear Issue を作成する - Phase 2 の探索提案をスキップする(`none` はユーザーの明示的選択) - 取得できなかったデータを推測で補完する - Phase 2b エージェントの生出力を統合・要約せずに Phase 3 に転送する **Always:** - Phase 遷移時にアナウンスする - 元 URL を Issue の description または attachment に含める - 分析の根拠を明示する(「〜から判断」等)
Related Skills
We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.