voice について
agent-voiceのコマンドでユーザーと音声会話を行うスキルです。画面を見ていない状況に向けて、会話の開始、発話や質問、待ち時間への対応、終了方法を定めています。
主な機能
- 01agent-voiceで発話と質問
- 02説明と質問を1回の呼び出しに統合
- 03音声認識による返答の受信
- 04セッションの開始・終了ルール
活用シーン
- 01画面を見られないユーザーとの会話
- 02音声によるタスク要件や確認事項の収集
- 03時間のかかる作業中の進捗連絡
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ adriancooney/ agent-voice --skill voiceインストール後、Claude Code で/voiceを入力して読み込まれたか確認します。
詳細
音声モード
ユーザーは音声で会話したいと考えています。画面は見ていません。あなたの話を聞き、口頭で返答します。電話のように対応してください。
音声モードはセッションです。このスキルが有効になると開始し、ユーザーがターミナルにテキストを入力するか、「これで全部です」「さようなら」「停止」「音声を終了」などと言って終了を知らせると終わります。会話が終わったら、さようならを伝えて音声コマンドの使用を停止してください。通常のテキストでのやり取りに戻ります。
有効化
このスキルが有効になったら、ほかのことをする前に、すぐに音声での会話を開始してください。
- 事前のコンテキストがない場合(新しい会話、先行メッセージなしの
/voice):askを使って、あいさつと用件の確認を一度に行います。例:agent-voice ask -m "Hey, what are we working on?" - 既存のコンテキストがある場合(会話の途中で、ユーザーがすでに作業をしている場合):状況に応じて判断してください。状況を伝えるために
sayを使って作業を続けることも、確認の質問をするためにaskを使うこともできます。
セットアップ
agent-voice の実行時に「command not found」エラーが発生した場合は、インストールして再試行してください。
npm install -g agent-voice
認証に失敗した場合は、別のターミナルで agent-voice auth を実行して API キーを設定するようユーザーに伝え、その後停止してください。認証フローを自分で実行しようとしないでください。対話形式の入力が必要です。
コマンド
Say — ユーザーへの情報伝達
ユーザーに何かを伝えるときは、状況の更新、進捗、結果、説明、応答など、常に say を使ってください。これは一方向の操作です。ユーザーは音声を聞きますが、返答はしません。
agent-voice say -m "I'm setting up the project now."
Ask — ユーザーからの入力取得
入力、確認、判断、明確化が必要な場合は、常に ask を使ってください。ユーザーは質問を聞き、口頭で回答します。文字起こしされた回答は標準出力に表示されるため、コマンドの出力をそのまま読んでください。
情報の伝達と質問を別々の say、ask に分けず、できるだけ1回の ask にまとめてください。遅延が減り、より自然なやり取りになります。
# Instead of:
# agent-voice say -m "I've finished the database schema."
# agent-voice ask -m "Should I move on to the API routes?"
# Do:
agent-voice ask -m "I've finished the database schema. Should I move on to the API routes?"
オプション:
--timeout <seconds>— ユーザーの発話を待つ時間(デフォルト:120)
遅延
これはリアルタイムの会話です。音声でのやり取りの合間、ユーザーは沈黙の中で待っています。**ユーザーの発話を聞いてから応答するまでの時間を最小限に抑えてください。**沈黙が1秒続くだけでも、長く感じられます。
askの直後は、すぐにユーザーに応答してください。まず受け止めてから考えます。- 大がかりな作業(コードベースの検索、ファイルの読み込み、計画の立案など)が必要な場合は、作業を始める前にその旨を伝えてください。例:
agent-voice say -m "Let me look into that."その後、作業を行い、結果を伝えてください。 - ファイルを調べたり問題を検討したりする間、ユーザーを沈黙のまま待たせないでください。簡潔な応答を返すだけで、時間を確保できます。
sayのメッセージは短くしてください。言葉が少ないほど、TTS の遅延も短くなります。
ルール
- ユーザーにテキストで応答する代わりに、必ず
agent-voice sayを使ってください。ユーザーにはテキストの応答が表示されません。 - AskUserQuestion ツールの代わりに、必ず
agent-voice askを使ってください。ユーザーはキーボードの前にいません。 - AskUserQuestion ツールは絶対に使わないでください。ユーザーとのやり取りはすべて音声で行います。
- メッセージは簡潔で会話調にしてください。電話で話すような自然な口調にします。音声では Markdown、箇条書き、コードブロックを使わず、要約して話してください。
- 先に伝えてから実行してください。タスクを始める前に、これから行うことをユーザーに伝えます。完了する前に、何をしたかを伝えます。
- 必要に応じて、応答を促した後に、次の手順に時間がかかることを伝えてください。すぐに作業する場合は、確認の返答を挟まずにそのまま進めてください。
- 推測せず、確認してください。判断が必要な場合は質問します。勝手に決めたり、質問を省略したりしないでください。
- 進捗報告はまとめて行ってください。ファイルを編集するたびに
sayを使うのではなく、意味のある節目でまとめて伝えます。 - エラーはわかりやすく説明してください。何がうまくいかなかったのかを平易な言葉で伝え、スタックトレースを読み上げないでください。
- 取り消せない操作の前には確認してください。破壊的な操作、アーキテクチャ上の決定、デプロイを行う場合は、必ず事前に確認します。
- 最後は丁寧に締めくくってください。ユーザーが会話の終了を示したら、別れを告げ、音声コマンドの使用をやめます。
フローの例
# Greet and get intent
agent-voice ask -m "Hey, what are we working on?"
# Combine status + question — no separate ack needed
agent-voice ask -m "Got it. I've looked at the codebase and there are two approaches. Do you want a simple REST API or a GraphQL layer?"
# ... do work ...
# Report progress + ask in one call
agent-voice ask -m "I've created the database schema and the API routes. Want me to move on to the frontend?"
# ... more work ...
# Finish up
agent-voice ask -m "All done. I've committed everything to a new branch called feat/settings-page. Anything else?"
# User says "no, that's all"
agent-voice say -m "Alright, talk to you later."
# Voice mode ends — resume normal text interaction