intent-detection について
明示的な `/phx:` コマンドがない開発依頼を扱うエージェント向けのワークフロー振り分けスキルです。意図とタスクの複雑さに応じてコマンドを提案しますが、提案は作業の必須条件ではありません。
主な機能
- 01意図に基づくワークフロー判定
- 02タスクの複雑さに応じた提案
- 03スラッシュコマンドの判定と除外
- 04確信度と作業範囲のルール
- 05強制しないコマンド提案
活用シーン
- 01バグ報告を調査フローへ振り分け
- 02複数工程の機能に適したフロー選択
- 03小規模な修正を簡単に処理
- 04ライブラリ評価に調査を提案
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oliver-kriska/ claude-elixir-phoenix --skill intent-detectionインストール後、Claude Code で/intent-detectionを入力して読み込まれたか確認します。
詳細
意図の検出 — ワークフローの振り分け
ユーザーが /phx: コマンドを指定せずに作業内容を説明した場合は、作業を開始する前に意図を分析し、適切なワークフローを提案します。
厳守事項 — 最初に確認:メッセージがスラッシュコマンド(/phx:、/ecto:、/lv:、またはその他の /command)で始まる場合、このスキルは適用されません。
指定されたコマンドに従い、振り分けの分析も提案も行わず、このスキルからは何も出力しません。
振り分け表
| シグナル | 検出した意図 | 提案 |
|---|---|---|
| 「bug」「error」「crash」「failing」「broken」、スタックトレース | バグ調査 | /phx:investigate |
| 「brainstorm」「explore idea」「not sure what I need」「vague idea」「let's discuss」「how to approach」 | アイデア出し/要件整理 | /phx:brainstorm |
| 「add」「implement」「build」「create」+複数ステップ | 新機能 | /phx:plan |
| コードの「review」「check」「audit」 | コードレビュー | /phx:review |
| 「fix」+小規模/具体的な範囲 | クイック修正 | 直接対応するか /phx:quick |
| 「refactor」「clean up」「improve」 | リファクタリング | /phx:plan(範囲の確認が必要) |
| 「research」「how to」「what's the best」 | 調査 | /phx:research |
| 「evaluate」「compare」「adopt」「library」「should we use」 | ライブラリの評価 | /phx:research --library |
| 「test」「spec」「coverage」 | テスト | 直接対応するか /phx:plan |
| 1~2 個のファイルの変更、50 行未満を説明している | 小規模なタスク | 直接対応 |
| 「deploy」「release」「production」 | デプロイ | /phx:verify の後にデプロイ |
| 「performance」「slow」「N+1」「memory」 | パフォーマンス | /phx:perf |
| 「PR review」「review comments」「address feedback」「respond to PR」 | PR への対応 | /phx:pr-review |
| 「that worked」「fixed it」「problem solved」 | 知識の記録 | /phx:compound |
| 「enhance plan」「more detail」「deepen」 | 計画の詳細化 | /phx:plan --existing |
| 「triage」「which findings」「prioritize fixes」 | 検出事項のトリアージ | /phx:triage |
動作
- ユーザーの最初のメッセージを読む
- 振り分け表と照合する(一致する語句だけでなく、文脈のシグナルも使う)
- 複数ステップのワークフローに一致する場合:「これは[意図]のようです。
[command]を提案します。実行しますか、それともすぐに取りかかりましょうか?」 - 単純なタスク(誤字、1 行の修正、設定変更)の場合:提案せず、そのまま対応する
- ユーザーがすでに
/phx:コマンドを指定している場合:そのコマンドに従い、再提案しない - ユーザーを決して妨げない — 提案は任意であり、必須ではありません
確信度のシグナル
確信度が高い場合(すぐに提案):
- スタックトレースまたはエラーメッセージが貼り付けられている →
/phx:investigate - 「[機能]を[複数のコンポーネント]と一緒に追加」 →
/phx:plan - 「変更をレビューして」または「この PR を確認して」 →
/phx:review
確信度が中程度の場合(但し書き付きで提案):
- 「[対象]を修正して」 — 簡単な作業か複雑な作業かは範囲によるため、説明された範囲に基づいて提案する
- 「[対象]を更新して」 — 小さな編集の場合もリファクタリングの場合もある
確信度が低い場合(そのまま対応):
- 単一ファイルが指定され、変更内容が明確
- 「X を Y に変更」
- 設定または依存関係の更新
複雑さのシグナル
タスクがワークフローコマンドに一致した場合は、提案する前に複雑さを確認します。
単純なシグナル(/phx:quick を提案するか、直接対応):
- 単一ファイルが明示されている
- 「Y から X を除外」「設定に X を追加」「名前を変更」「X を Y に変更」
- 問題と解決策の両方が示されている(「X は間違っているので、Y に変更」)
- 1 行の修正が説明されている
複雑なシグナル(/phx:plan または /phx:investigate を提案):
- 3 つ以上のモジュールまたはファイルが挙げられている
- 「断続的」「競合状態」「ときどき」「ランダム」
- 5 フレーム以上のスタックトレース
- 「複数にまたがる」「すべて」「各」(範囲を示す表現)
例外ルール:ユーザーが /phx:full を実行しようとしているものの、タスクが単純なシグナルに一致する場合:
「クイック修正で対応できそうです。代わりに /phx:quick を使いますか、それとも一連のフローを続けますか?」
絶対原則
- 提案を理由に作業を止めない — ユーザーが説明を始めたら、そのまま作業する
- 提案は最大 1 回 — 最初の提案が無視された場合、再提案しない
- コマンドは近道であり、必須条件ではない — コマンドを使わずにすべての作業を実行できる
ルーティングロジックの例
if has_slash_command($ARGUMENTS) -> follow command directly
elif has_stack_trace(message) -> suggest /phx:investigate
elif matches("add|build|implement", message) and multi_step -> suggest /phx:plan
elif matches("fix", message) and small_scope -> handle directly or /phx:quick
elif matches("review|audit", message) -> suggest /phx:review
else -> handle directly (no suggestion)
統合
このスキルはセッション開始時に参照されます。以下と連携して機能します。
- SessionStart フック(プラグインの読み込みメッセージを表示)
- CLAUDE.md のルーティング指示(受動的なリファレンス)
- 個別のワークフロースキル(コマンドによって有効化)
コメント
Markdown 対応