quack について
quack は、ワークフロー形式の依頼を明示的にルーティングするスキルで、名前付きルートを呼び出すユーザー向けです。エイリアスを解決し、キーワードで候補の優先順位を調整して、規則に従いインライン実行または委任します。
主な機能
- 01明示的な呼び出し時のみ有効
- 02エイリアスによるルート解決
- 03キーワードによるルート候補の優先付け
- 04インライン実行と委任の方針
- 05不明または曖昧なルートの確認
- 06承認と安全上の境界
活用シーン
- 01依頼を指定のワークフローへ振り分け
- 02複数のルート候補を解決
- 03認識できない依頼の内容を確認
- 04ワークスペース変更前の承認要件を適用
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sprngr/ rubber-duck --skill quackインストール後、Claude Code で/quackを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/heartbeat.mdquick-help.mdroute-aliases.jsonsubagent-runbook.mdreferences/Examples.mdGUARDRAILS.md詳細
スキル:quack
明示的なルート制御 🦆。まずエイリアスで自動ルーティングし、該当しない場合は対象を絞った確認質問を1つします。
目的
安全性と承認に関する制約を維持しながら、ワークフローのようなリクエストについて、ユーザーが明示的にルーティングを制御できるようにします。
哲学上のガードレール(スキル固有)
references/GUARDRAILS.md の共通ガードレールを引き継ぎます。
- コンテキストが不完全な場合は、対象を絞った確認質問を1〜3つします
- 根拠が不足している場合は、前提を明示します
有効化
ユーザーが明示的に quack を呼び出した場合にのみ使用します。意図を推測して自動的に有効化しないでください。
方法
- 明示的な
quackの呼び出しを確認します。 - 意図を正規化します。
quackの後の区切り文字(:,-,—)を削除し、外側の対応する引用符を削除し、末尾の句読点(?!.;:)を削除します。 - 単独の
quack(ハートビート経路):- 正規化された意図が空、または空白のみの場合:
assets/heartbeat.mdを読み込み、リストからランダムにハートビートの行を1つ選択しますassets/quick-help.mdの内容全体を読み込み、そのまま出力します(要約しません)- 終了時のプロンプト
What would you like to route?を出力します - 停止します(即興の軽口を生成せず、曖昧さの解消にも進みません)
- 正規化された意図が空、または空白のみの場合:
- 任意指定のオーバーライドを解析します:
use <subagent>、with <subagent>、またはvia <subagent>。 - オーバーライド(指定されている場合)をプラットフォームのサブエージェント一覧に照らして検証します。無効な場合は、修正を求める質問を1つだけ尋ねます:
Need one detail: unknown subagent "<x>". Use duckling or general?そして停止します。 - 有効なサブエージェントを決定します。ステップ4でオーバーライドが解析された場合はそれを使用し、それ以外の場合は
ducklingをデフォルトとして使用します。 - ルートの実行ポリシーを決定します。
- インラインがデフォルト:
duck-design、duck-teach、duck-debug、duck-debt - 委任がデフォルト:
duck-patch、duck-refactor、duck-risk、duck-review、duck-triage、duck-simplify - ユーザーによるオーバーライドがある場合は、デフォルトのポリシーにかかわらず委任します
- インラインがデフォルト:
- 入力にスキル名が明示されている場合は、そのスキルを解決してルートを実行します(ステップ11を参照)。
- それ以外の場合は、
assets/route-aliases.jsonを読み込み、大文字と小文字を区別せずに照合します。 - キーワードによる優先順位を適用します(複数のスキルが一致した場合):
- 意図に優先キーワードが含まれているか調べます。
- リスクを示す語(
rollback、breaking、compatibility、compat、failure、impact) ->duck-riskを優先します - 複雑さを示す語(
overengineered、complexity、simpler、too many、bloated) ->duck-simplifyを優先します - 学習を示す語(
why、how、what does、explain、teach me) ->duck-debugよりduck-teachを優先します - テストを示す語(
test、coverage、should I test、before PR) ->duck-triageを優先します - 設計を示す語(
choose、tradeoff、approach、option) ->duck-designを優先します
- リスクを示す語(
- 一致したスキルを並べ替え、優先キーワードに合致したスキルを先頭にします
- 代替案も引き続き提示します(優先順位は順位付けを助けるもので、選択肢をなくすものではありません)
- 意図に優先キーワードが含まれているか調べます。
- 優先順位を適用した後に複数のエイリアスが一致した場合は、次の基準で判定します。一致の正確さ > エイリアスの長さ > 曖昧さを解消する質問を1つ尋ねる。
- ルートの実行(明示されたスキル名、またはエイリアスの一致):
- 解決されたスキルのロール指示を
assets/subagent-runbook.mdから読み込みます - インラインがデフォルトのポリシーで、ユーザーによるオーバーライドがない場合:
- まずスキルをインラインで実行します
- 実行に失敗した場合は、修正を求める質問を1つだけ尋ねて停止します
- インライン実行の完了後にのみ
Routing: <skill>.を出力します
- それ以外(委任がデフォルト、またはユーザーによるオーバーライドがある場合):
- まず、ハーネス固有のディスパッチツールを使用して、
subagent=<effective_subagent>(ステップ6で決定。デフォルトはduckling)を指定し、サブエージェントに委任します skill_name=<resolved_skill>パラメーターを渡します- ディスパッチに失敗した場合は、修正を求める質問を1つだけ尋ねて停止します
- ユーザーによるオーバーライドが指定されている場合は
Routing: <skill> via <subagent>.を、指定されていない場合はRouting: <skill>.を、ディスパッチの成功後にのみ出力します
- まず、ハーネス固有のディスパッチツールを使用して、
- 実行経路を利用できる場合は、ルーティング文を出力しただけで停止しないでください。
- 解決されたスキルのロール指示を
- エイリアスが見つからない場合(曖昧さの解消):
- 意図の断片を検出して、対象を絞った質問を1つ尋ねます。
- デバッグ関連(error/fail/trace/stack/broken):
Need one detail: is this debug, trace, or review? - ロールアウト/リスク関連(rollout/migration/compat/rollback):
Need one detail: is this risk review or design tradeoff? - コード変更関連(fix/change/refactor/clean up):
Need one detail: do you want review, patch, refactor, or simplify? - 技術的負債関連(todo/defer/fixme/debt):
Need one detail: is this debt audit or simplify? - 不明:
Need one detail: which route fits—review, debug, design, teach, triage, risk, simplify, patch, refactor, or debt?
- デバッグ関連(error/fail/trace/stack/broken):
- ユーザーによる明確化を待ってから、エイリアスの解決を再試行します。
- 意図の断片を検出して、対象を絞った質問を1つ尋ねます。
境界
- ユーザーが意思決定権を保持できるようにします。
- 変更によって信頼境界の検証、セキュリティ制御、データ損失防止、アクセシビリティ要件、またはユーザーが明示した要件が弱まる場合は、その変更を拒否し、制約を維持する安全な代替案のみを提示します。
- 明確に範囲を限定した承認なしに、ワークスペースの状態を変更する編集、変更コマンドの実行、サブエージェントへの委任を行いません。
コメント
Markdown 対応