voice-skill について
登録したコードプロジェクトについて、Claude と音声でコードレビューやデバッグ、アーキテクチャを話し合うスキルです。Vapi の通話でプロジェクトのコンテキストを共有し、通話記録を Markdown で保存します。
主な機能
- 01発信・着信による通話
- 02登録プロジェクトのコンテキスト共有
- 03プロジェクトファイルの読み取りと検索
- 04コードやアーキテクチャの音声相談
- 05通話記録の Markdown 保存
活用シーン
- 01ハンズフリーでのコードレビュー
- 02デバッグの問題を音声で検討
- 03キーボードから離れて設計を相談
- 04電話でプロジェクトファイルについて質問
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ founderjourney/ claude-skills --skill voice-skillインストール後、Claude Code で/voice-skillを入力して読み込まれたか確認します。
詳細
Voice Skill - コードについて Claude と音声で話す
プロジェクトについて Claude Opus 4.5 と音声で会話できます。Claude から電話をかけてもらうか、Claude に直接電話して、問題について話し合い、アイデアをブレインストーミングし、リアルタイムのコードレビューを受けられます。
このスキルを使用する場面
- 複雑なコードの問題について、ハンズフリーで話し合う
- アーキテクチャの決定についてブレインストーミングする
- 音声でコードレビューを受ける
- 歩いたり通勤したりしながらコードについて説明する
- 音声を使ってペアプログラミングする
- 入力せずに簡単な質問をする
仕組み
- Claude から電話をかけてもらう:Claude から発信してもらいます
- Claude に電話する:Vapi の番号に電話して Claude に連絡します
- ライブコンテキスト:通話中、Claude はプロジェクトにアクセスできます
- 文字起こし:すべての通話は Markdown として自動保存されます
セットアップ
前提条件
- API キーを含む Vapi アカウント
- 電話番号(月額約 2 ドル)
- Node.js(localtunnel 用)
- Python 3.8+
1. インストール
pip install claude-code-voice-skill
2. 認証情報のセットアップ
voice-skill setup
次の情報を求められます:
- Vapi API キー
- 電話番号
- 名前(個別の挨拶に使用)
3. プロジェクトの登録
cd /path/to/your/project
voice-skill register
コンテキスト用にプロジェクトのスナップショットを取得します。
4. サービスの起動
voice-skill start
サーバーとトンネルを起動します。
コマンド
Claude から電話をかけてもらう
voice-skill call
Claude が登録済みの番号に電話をかけ、名前で挨拶します。
ステータスの確認
voice-skill status
サービスのステータスとアクティブなセッションを表示します。
名前の更新
voice-skill config name "Your Name"
文字起こしの表示
ls ~/.voice-skill/transcripts/
通話中に Claude ができること
ファイルの読み取り
「Claude、main.py ファイルの中身は何ですか?」 → Claude がファイルを読み取り、説明します
コードの検索
「認証処理をどこで行っているか見つけられますか?」 → Claude が検索して、見つかった内容を報告します
Git ステータスの確認
「今日変更したファイルは何ですか?」 → Claude が git diff の概要を報告します
コードレビュー
「API モジュールに加えた変更をレビューしてください」 → Claude が音声でコードレビューを行います
ブレインストーミング
「キャッシュを追加したいのですが、どのような方法が考えられますか?」 → Claude がメリットとデメリットを含めて選択肢を説明します
会話の例
[Phone rings]
Claude: "Hey Alex! I see you're working on the user-service
project. What would you like to discuss?"
You: "I'm having trouble with the authentication middleware.
Can you take a look at auth.py?"
Claude: "Sure, let me read that... I see you're using JWT
tokens. The issue might be on line 45 where you're checking
the expiry. You're comparing timestamps in different formats..."
You: "Oh, that makes sense. What's the fix?"
Claude: "You should convert both to Unix timestamps before
comparing. I'd suggest using datetime.timestamp() on line 45..."
文字起こし
通話は自動的に文字起こしされ、次の場所に保存されます:
# Call Transcript - 2025-01-12 10:30 AM
**Project:** user-service
**Duration:** 8 minutes
## Summary
Discussed JWT authentication bug in auth.py.
Identified timestamp comparison issue on line 45.
## Full Transcript
**Claude:** Hey Alex! I see you're working on...
**You:** I'm having trouble with...
...
設定
設定ファイルの場所
~/.voice-skill/config.yaml
オプション
user:
name: "Your Name"
phone: "+1234567890"
vapi:
api_key: "your-key"
phone_number: "+1987654321"
preferences:
greeting_style: casual # casual, professional
auto_transcript: true
transcript_dir: ~/.voice-skill/transcripts
音声プロバイダーのオプション
このスキルは複数の音声プロバイダーに対応しています:
- Vapi のデフォルト音声
- ElevenLabs との連携
- カスタム音声設定
セキュリティ
- API キーはローカルに保存されます
- 通話は Vapi 経由で暗号化されます
- 文字起こしはローカルにのみ保存されます
- Vapi 以外の第三者にデータが送信されることはありません
トラブルシューティング
「接続に失敗しました」
- インターネット接続を確認してください
- Vapi API キーを確認してください
voice-skill startで再起動してください
「プロジェクトが見つかりません」
- プロジェクトのディレクトリで
voice-skill registerを実行してください
「通話が接続されません」
- 電話番号の形式(+国番号)を確認してください
- Vapi アカウントの残高を確認してください
使用例
- コードレビュー:コードを見ながら音声でフィードバックを受ける
- デバッグ:問題について声に出して話し合う
- アーキテクチャ:設計上の決定について話し合う
- 学習:コードの概念を説明してもらう
- アクセシビリティ:ハンズフリーでコーディング支援を受ける
クレジット
abracadabra50 が作成しました。MIT ライセンスの下で公開されています。