task-clarifier について
task-clarifierは、構造化された質問でユーザーの要件を明確にするエージェントスキルです。目標、範囲、制約、矛盾を段階的に確認し、実行前に確認可能な理解内容と推論を提示します。
主な機能
- 01各ラウンドで最大3問を提示
- 02回答 विकल्पと推奨案を提示
- 03前提や目標の矛盾を特定
- 04ユーザーの決定と推論を区別
- 05確認後に実行へ進む
活用シーン
- 01曖昧な依頼を明確な要件にする
- 02範囲、制約、目標間の矛盾を見つける
- 03高リスク操作の前に具体的な行動を確認する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ dongshuyan/ compass-skills --skill task-clarifierインストール後、Claude Code で/task-clarifierを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlevals/test_trigger_contract.py
詳細
タスクの明確化
言語ルール
質問、選択肢、推奨事項、確認、要約など、ユーザーに向けたすべての出力は、ユーザーの言語で記述する必要があります。 ユーザーのメッセージから言語を判定してください。不明な場合は中国語を既定とします。ユーザーが中国語で書いた場合、出力のすべてを中国語にしてください。ユーザーが英語で書いた場合を除き、ユーザー向けの出力に英語を使わないでください。
3つの目標(終了前にすべて達成すること)
- ユーザーが自身のニーズを完全に理解できるよう支援する — ユーザーがまだ検討していない側面、結果に重大な影響を及ぼす潜在的な矛盾や暗黙の前提も含めます。
- AIがユーザーのニーズを完全に理解できるよう支援する — 網羅的かつ具体的で、曖昧さのない状態にします。未確認の側面に既定値を当てはめてはいけません。
- AIがユーザーのニーズを完全に理解したことを示す — 理解した内容を明示的に検証できる形で提示します。すべての推論を個別に列挙し、ユーザーが一つずつ確認できるようにします。
起動時の読み取り
有効化時に、以下の読み取りを可能な範囲で試みてください。参照元が利用できない、未対応である、または失敗した場合は、それにかかわらず明確化のやり取りを続けてください。読み取りを理由にやり取りを中断してはいけません。
まず、現在のエージェントまたはハーネスに組み込まれたスキル機構を使用してください。このスキルは、Codex、Claude Code、OpenClaw、OpenCode、および SKILL.md ファイルを読み取れるその他のエージェントで動作する必要があります。特定のエージェント名、スキルのルート、ホームディレクトリの構成、シェル、オペレーティングシステムを前提にしてはいけません。
ユーザープロファイルの要約 — $user-profile-keeper が利用可能な場合は、その clarification_summary ビュー(ニーズのすり合わせに関係する、機微性の低い設定情報のみ)を読み取ってください。エージェントに組み込まれたスキルの呼び出し、MCP/ツールブリッジ、または文書化された連携スキル API を優先してください。
タスクフォレスト — $task-forest が利用可能な場合は、現在のワークスペースのタスクリストと未完了の ToDo を読み取ってください。エージェントに組み込まれたスキルの呼び出し、MCP/ツールブリッジ、または文書化された連携スキル API を優先してください。
スクリプトを直接実行する方法しかない場合は、まず現在のハーネスのスキルレジストリから連携スキルのディレクトリを特定するか、この SKILL.md の場所を基準にリポジトリ内の skills/<skill-name>/ ディレクトリを解決してください。ホスト言語またはランタイムのパスユーティリティを使ってパス要素を結合し、macOS、Linux、Windows で同じロジックが動作するようにしてください。オペレーティングシステムで利用可能な Python 起動コマンド(python3、python、または py -3)を使うのは、ディレクトリの特定に成功した後に限ります。~/.codex/...、~/.agents/...、POSIX の絶対パス、Windows のドライブパスなどをハードコードしてはいけません。
プロファイルの要約は、ユーザーのコミュニケーションスタイルや専門分野に合わせて質問の選択肢や推奨事項の表現を調整するために使用します。
タスクフォレストは、現在の依頼の全体的な目的と変遷を把握し、実際の最終目標に沿って推奨事項を提示するために使用します。
現在のユーザーメッセージは、あらゆるプロファイル情報より優先されます。どちらの情報源も、各側面について質問することに代わるものではありません。
プロファイル全体、保留中のプロファイル、非公開の背景情報、生の証拠、認証情報、Cookie、トークン、キー、または無関係な非公開情報を読み取ってはいけません。プロファイルやタスクフォレストに書き込んではいけません。
明確化のループ
各ラウンドでは同じアクションを実行します。
現在の会話と読み取り可能なコンテキストから、現在の結果に最も影響する要素を抽出します。それを、完全かつ正確に理解するために必要な内容を網羅しつつ、できるだけ少ない質問に分けます。質問は最大 3 つまでとし、各質問に推奨回答と選択肢を提示します。
質問では、以下のうち結果にまだ影響する項目を取り上げます。
- ユーザーが最終的に達成したいこと
- なぜ今なのか、どのような全体的な目的に役立つのか
- 何をもって完了、かつ良好な完了とするのか
- 対象範囲と対象外の範囲
- 時間、予算、技術、形式、地域、権限、リスク、外部への影響
- 複数の目標が衝突した場合、どの目標を優先するのか
- 誰が成果物を使用、レビューし、または影響を受けるのか
- ユーザーがまだ認識していない、結果を変える暗黙の前提
- 矛盾、目標と制約の衝突、実務上または技術上実現不可能な点 — 最優先事項として、特定次第、現在のラウンドに含めます
ローカルの証拠から確認できる事実は、質問する前に調べます。ユーザーの判断はユーザー本人に確認してください。質問に対して、既定値を代わりに設定してはいけません。
ユーザーが「お任せします/何でもいい/あなたの判断で/你看着办/随便/你来定」と言った場合、推奨する選択肢を提示してユーザーに確認を求めます。自動的に実行へ進んではいけません。
3 つの目標をすべて満たしたら、確認段階に進みます。それ以外の場合は、質問を続けます。
削除、上書き、移行、公開、送信、デプロイ、インストール、認証情報の使用、権限の昇格、リモートシステムへの書き込み、またはグローバル設定の変更を含む高リスクの操作では、確認の要約が承認された後でも、実行前に具体的な操作を列挙し、明示的な承認を待つ必要があります。
質問の形式
質問と推奨回答は、簡潔で明確、正確かつ完全で、誰にでもわかる内容にします。ユーザーの言語(既定は中国語)で出力します。
各質問は、次の形式に従います。まず理由を述べ、次に選択肢、最後に推奨を示します。
**Q1. [一句话:这个问题为什么影响结果]**
A) [选项] B) [选项] C) [选项] D) 告诉我你的想法
→ 我的建议:[推荐答案,简洁直接]
1 回のやり取りで複数の質問をする場合は、各質問を空行と --- で区切ります。
**Q1. [原因]**
A) … B) … C) … D) 告诉我你的想法
→ 我的建议:…
---
**Q2. [原因]**
A) … B) … C) … D) 告诉我你的想法
→ 我的建议:…
プロフィールの要約(読み込まれている場合)にあるコミュニケーション上の好みや分野への習熟度、およびタスクフォレスト(読み込まれている場合)にある全体的な目標のコンテキストを参考にして、このユーザーとタスクに合った選択肢や推奨を提示します。
確認段階
3 つの目標をすべて満たしたら、ユーザーの言語(既定は中国語)で次の内容を出力します。
我的理解如下:
[用自然语言陈述用户的完整需求,3-5 行,具体、准确、不遗漏关键约束]
我的推断(请逐条确认):
- 我推断 [X],因为 [具体原因] — 如有偏差请直接纠正
- 我推断 [Y],因为 [具体原因] — 如有偏差请直接纠正
确认后我会:[下一步动作]
有没有我遗漏的?
ユーザーが推測内容を修正した場合 → 理解を更新し、修正された点について追加質問を最大 1 つ行ったうえで、確認の要約を再度出力します。
ユーザーがすべて正しいと確認した場合 → このスキルは終了し、実行を開始できます。
有効化後のバイパス禁止
このスキルが明示的に呼び出された後は、バイパスを使わず、質問を省略するための安全な既定値も設定しません。推奨回答はユーザーがすばやく選べるよう支援するものであり、要件に自動的に反映されるものではありません。
例
例 1:要件が固まっていない場合と矛盾の検出
ユーザー: $task-clarifier 帮我写个爬虫,要快,把100万条历史数据全抓完
第 1 ラウンド(矛盾の特定と、最も影響の大きい判断):
Q1. 「速く」と「100 万件すべてを取得する」の間には矛盾があります。百万件規模のデータをすべて取得するには通常かなりの時間がかかり、レート制限やアクセス禁止につながる可能性もあります。どちらをより重視しますか?全体の技術方針を決めるための質問です。
A) 完全性を優先する(時間がかかることを受け入れ、分割して完了する) B) 速度を優先する(一部のデータが欠落することを受け入れる) C) 具体的な期限がある(時間を教えてください) D) 考えを教えてください
→ おすすめ:完全性を優先し、分割と速度制限を組み合わせた方針で全件取得を目指し、アクセス禁止を避けます。
ユーザー: 完整性优先,3天内跑完
第 2 ラウンド(受け入れ基準):
Q1. 何をもって「取得完了」と判断しますか?これは、データの完全性を検収する方法と、再取得の方針を決めるための質問です。
A) 件数が 100 万件に達すればよい B) 何らかの基準データと照合して検証する必要がある C) 考えを教えてください
→ おすすめ:取得件数を主な基準とし、失敗した項目を記録して後から再取得できるようにします。
[3 つの目標をすべて達成 → 確認段階に進む]
例 2:プロフィールを活用した表現
コンテキスト: プロフィールの概要には、ユーザーが中国語、構造化された表現、根拠を優先した推論を好むと表示されています。
ユーザー: $task-clarifier このツールを使う価値があるか調べて
ラウンド 1(評価基準+出力形式):
Q1. 「使う価値があるか」を判断するには、まず基準を決める必要があります。コスト、安定性、安全性、移行コストによって結論は変わります。これにより、評価の観点と深さが決まります。
A) 使えるかどうかを簡単に判断する B) 長期的な導入コストを詳しく評価する C) 代替案と比較する D) 考えを聞かせてください
→ おすすめ:現在の問題を解決できるか、移行コスト、検証可能なリスクの 3 点で評価し、公式ドキュメントとローカルの根拠を優先して、構造化された比較を出力します。
例 3:タスクフォレストのグローバルコンテキスト
コンテキスト: タスクフォレストには、グローバルタスクが「Python 2→3 の完全移行」、現在のサブタスクが「auth モジュールの移行」と表示されています。
ユーザー: $task-clarifier auth.py の print 文を print 関数に変更して
ラウンド 1(範囲+グローバル目標のコンテキスト):
Q1. この変更は Python 2→3 移行タスクの一部です。auth.py には、ほかにも互換性の問題(unicode 文字列、整数除算、例外構文など)が残っている可能性があります。今回の範囲をどうしますか?これにより、同じファイルを何度も変更する必要があるかが決まります。
A) print 文だけを変更する B) auth.py の Python 2→3 に関する差異をすべてまとめて対処する C) 考えを聞かせてください
→ おすすめ:B を選んでまとめて対処し、全体の移行を早めます。
例 4:確認サマリーの形式
我的理解如下:
你需要用 Python 编写一个爬虫,抓取目标网站的100万条历史数据。
完整性优先,接受分批 + 限速策略,3天内完成。
验收标准:实际抓取条数达到100万条,记录失败条目以便补抓。
我的推断(请逐条确认):
- 我推断目标网站公开可访问(无需登录),因为你未提及账号或认证信息 — 如有偏差请直接纠正
- 我推断数据存储在本地数据库,因为百万级数据量通常不适合纯文件存储 — 如有偏差请直接纠正
- 我推断这是一次性历史全量抓取,不需要实时增量更新 — 如有偏差请直接纠正
确认后我会:生成爬虫代码框架(含分批 + 限速逻辑、失败条目记录)。
有没有我遗漏的?