はじめに:指示をさぼりたい
どうも、Claude Codeとべったりな龍ちゃんです。
最近、Claude Codeが選択肢式の出力を出してきて、質問に答えたらいい感じに指示を分類してくれたりしてたんですよ。調べたら、どうやら9月ぐらいに発表された機能らしくて。
「これ毎回発火してくんねーかな」
って思ったんですよね。
AI使うことでだいぶ楽になったんですけど、人間って怠惰なんで。指示をちゃんと打ち込めば動くのはわかってるんですけど、エージェント発火させたりスキル発火させたりするのをすげえさぼりてえなって。
僕、今ブログのエージェントを何個か作っていて、タイトルやメタディスクリプションを作ったり、ブログのレビューとか技術情報収集とか、いろんなエージェントがあるんですけど。それぞれ一個ずつ発火させるのってクソ面倒臭いですよね。
それが選択肢式で、「選択肢出して」って言ったら出してくれて、ぼちぼち設定できたらいいなって思って、こんなブログを書いてます。
で、調べてわかったことなんですけど、全然失敗することもあるらしいんですよね。僕の環境でもめちゃくちゃ失敗してるんで、まあ今後に期待したいみたいな話で、ちょっと先んじて書いておこうかなって思ってます。
注意点としては:
- まだまだ開発中というか、品質として良いとは言えない状態
- すぐ取り込むのは良くないんじゃないかな
- 発火したらラッキーと思ってるぐらいがちょうどいい
この画面、見たことありますか?

Claude Codeが質問してくれるやつです。
でも現実は…

これを確定で発火させて、Skillsとして提供しておいて、どのエージェント発火するかをCLI的に選ぼうみたいなとち狂ったことを書いていきます。
具体的にどうするのかと、このツールのちょっと参考になる情報を、さっくりまとめていこうかなと思ってます。もしもあれなら参考にしてもらえればなと。
AskUserQuestionツールって何?
AskUserQuestion は、タスク実行中に対話的な質問をするためのツールです。
(2025年11月時点のClaude Code v2.0.46で動作確認済み)
理想的な動作:
- ユーザーに選択肢を提示
- ユーザーが選択(単一または複数)
- 回答を受け取って処理を分岐
実装例:
AskUserQuestion({
questions: [
{
question: "この記事の現在の状態を教えてください",
header: "記事の状態",
multiSelect: false,
options: [
{
label: "初稿完成(技術チェック必要)",
description: "書き上げたばかりで、技術的正確性とセキュリティを確認したい"
},
// ... 他の選択肢
]
}
]
})詳しい作り方はClaude Codeに聞いてみて!(どうせ今後変わるかもしれないし)
現実:めちゃくちゃ失敗する
調査したところ、AskUserQuestion は現状かなり不安定でした。
既知の問題:
- ✗ 公式ドキュメントに包括的な説明なし
- ✗ スキル内で初回呼び出し時に失敗
- ✗ “User answered Claude’s questions:” と表示されるが実際には質問しない
- ✗ 空の応答で処理が完了してしまう
- △ プランモード切り替えで一時的に機能することがある(不安定)
GitHubイシュー:
- #9846: AskUserQuestion tool doesn’t work in skill until plan mode toggled
- #9912: Can’t trigger AskUserQuestion tool
- #9854: Related duplicate issues
ツールが発火しなかった時にどうするか
その時はまあ、サボらず、ちゃんとプロンプトを打ち込もうなって話ですね。
ちゃんと動かしたら、エージェントとかSkillsとか出てきて、だいぶ言うこと聞いてくれるようになったり、作業が自動化されたりしてるんで。その辺ね、多少プロンプトサボっちゃダメですよ。
回避策
SkillsとかAgentがちゃんと発火しないとき:
descriptionでどうにかするCLAUDE.mdにちゃんと説明を書く
例えば、CLAUDE.md にこんな感じで書いておく:
**⚠️ レビュー依頼の処理方法**:
ユーザーが記事のレビューを依頼した場合(「レビューして」「チェックして」「確認して」など)、
以下のエージェントを**直接呼び出さず**、必ず`.claude/skills/review-article.md`スキルを発火させてください:
- blog-reviewer
- content-reviewer
- technical-accuracy-reviewer
- seo-title-generator
review-articleスキルがユーザーの意図を確認し、適切なエージェントを選択します。こういうことで、まあ大体はできるので。
僕の実装例:review-article.md スキル
参考までに、僕が作った review-article.md スキルを紹介します。
やりたいこと:
- 「この記事をレビューして」だけで、適切なエージェントを選びたい
- 4つのエージェント(技術チェック、品質改善、SEO、タイトル生成)を使い分けたい
理想的な動作:
AskUserQuestionで記事の状態を質問- どのレビュー項目を実行するか選択(複数選択可)
- 選択に基づいて適切なエージェントを順次実行
現実:
- AskUserQuestionが動かない
- でもキーワードトリガー(「レビューして」など)は動く
- CLAUDE.mdで制御すれば、まあまあ使える
詳しい実装はClaude Codeに聞いてみて!(長いので)
まとめ
「Claude Codeへの指示を少しでもさぼりたい」という正当な欲求から生まれた実験。
現状:
- AskUserQuestionは不安定
- でも将来的には期待できそう
- 今は代替策でなんとかする
推奨:
- ✅ キーワードトリガーを活用
- ✅ CLAUDE.mdで制御
- ✅ ちゃんとプロンプトを打ち込む
- ✗ AskUserQuestionに依存しない
学び:
- スキル・エージェント連携の実装パターンは参考になる
- フォールバック戦略は重要
- 発火したらラッキー、ぐらいの気持ちで
「さぼりたい」という気持ちは、エンジニアリングの原動力です。理想と現実のギャップを理解しつつ、現実的な代替策で効率化を追求していきましょう。
ぜひ面白コンテンツだと思って読んでもらえればなと思います。
参考リンク
公式ドキュメント:
既知の問題:
