mcpField
I
interview-simulator

interview-simulator

github.com/curiositech生産性257156 回インストール2 日前に更新
リポジトリ

interview-simulator について

interview-simulatorは、候補者の模擬面接練習を組み立てるスキルで、自動シミュレーション基盤の設計も扱います。適応型練習、進捗評価、音声、ホワイトボード、監視を取り上げます。

主な機能

  1. 01ラウンドと難易度の適応選択
  2. 02音声練習とストーリー演習
  3. 03ホワイトボードと視線追跡の設計
  4. 04セッション採点と進捗ダッシュボード
  5. 05間隔反復の練習プロトコル

活用シーン

  1. 01毎日・毎週の面接練習を計画
  2. 02実際に近い模擬面接を設計
  3. 03複数回の練習で弱点を追跡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/curiositech/some_claude_skills --skill interview-simulator

インストール後、Claude Code で/interview-simulatorを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.claude-plugin/
plugin.json
references/
mobile-app-architecture.md
proctor-engine-setup.md
session-orchestration.md
voice-engine-setup.md
whiteboard-engine-setup.md

詳細

インタビューシミュレーター

リアルな模擬面接練習のためのプラットフォームアーキテクチャとコーチングシステムです。このスキルには2つの目的があります。(1)効果的な練習セッションの組み立て方を候補者に指導すること、(2)音声 AI、共同ホワイトボード、視線追跡による監督、モバイルコンパニオンを備えた自動インタビューシミュレーションプラットフォームを構築するためのフルスタックアーキテクチャを定義することです。

ほかの7つのインタビュースキルでは、何を練習するかを定義します。このスキルでは、リアルな条件、適応型の難易度、測定可能な進捗を取り入れ、どのように練習するかを定義します。


使用するタイミング

次の用途に使用します:

  • 模擬面接シミュレーションプラットフォームの設計または構築
  • 音声、ホワイトボード、監督機能を備えたリアルな練習セッションの設定
  • 弱点を自動的に狙う適応型難易度の実装
  • セッションをまたいだ進捗を追跡する採点・振り返りシステムの構築
  • 概念の復習とエピソードのリハーサルのための間隔反復の設定
  • 毎日/毎週の練習プロトコルの確立
  • 練習インフラストラクチャのコスト分析と最適化

次の用途には使用しません:

  • 特定の面接ラウンド形式だけを練習する場合(各ラウンド専用のスキルを使用してください)
  • 準備スケジュールや学習計画の作成(interview-loop-strategistを使用してください)
  • 履歴書やキャリアに関するストーリー作成(cv-creatorまたはcareer-biographerを使用してください)
  • 給与交渉やオファーの評価
  • カンファレンス登壇の準備(評価基準が異なります)

システムアーキテクチャ

graph TB
    subgraph Client["Client Layer"]
        MOBILE["Mobile App<br/>React Native + Expo<br/>Flash cards, voice drills,<br/>progress dashboard"]
        DESKTOP["Desktop Web<br/>Next.js<br/>Full sessions, whiteboard,<br/>proctoring"]
    end

    subgraph Engines["Engine Layer"]
        VOICE["Voice Engine<br/>Hume AI EVI<br/>Emotion-sensitive<br/>interviewer voice"]
        BOARD["Whiteboard Engine<br/>tldraw + Claude Vision<br/>Diagram evaluation<br/>and scoring"]
        PROCTOR["Proctor Engine<br/>MediaPipe Face Mesh<br/>Gaze tracking,<br/>attention monitoring"]
    end

    subgraph Orchestrator["Session Orchestrator — Node.js"]
        ROUND["Round Selector<br/>Weakness-weighted<br/>random selection"]
        ADAPT["Adaptive Difficulty<br/>Performance-based<br/>question scaling"]
        DEBRIEF["Debrief Generator<br/>Transcript + emotion +<br/>proctor + whiteboard<br/>scored rubric"]
        SM2["SM-2 Scheduler<br/>Spaced repetition<br/>for concepts and stories"]
    end

    subgraph Data["Data Layer — Supabase"]
        SESSIONS[("sessions<br/>recordings, transcripts")]
        SCORES[("scores<br/>per-dimension breakdowns")]
        STORIES[("story_bank<br/>STAR-L entries")]
        CARDS[("flash_cards<br/>SM-2 intervals")]
    end

    MOBILE --> Orchestrator
    DESKTOP --> Orchestrator
    Orchestrator --> VOICE
    Orchestrator --> BOARD
    Orchestrator --> PROCTOR
    Orchestrator --> Data
    VOICE --> DEBRIEF
    BOARD --> DEBRIEF
    PROCTOR --> DEBRIEF
コンポーネント選定の理由
flowchart TD
    V{Voice AI?}
    V -->|"Emotion detection needed"| HUME["Hume AI EVI<br/>Emotion callbacks,<br/>adaptive persona,<br/>WebSocket streaming"]
    V -->|"Voice only, no emotion"| ELEVEN["ElevenLabs<br/>Fallback: high-quality<br/>TTS, no affect reading"]
    V -->|"Cost-constrained"| OPENAI_RT["OpenAI Realtime API<br/>Cheaper per minute,<br/>no emotion detection"]

    W{Whiteboard?}
    W -->|"React ecosystem, extensible"| TLDRAW["tldraw<br/>MIT license, React native,<br/>rich API, snapshot export"]
    W -->|"Simpler, self-hosted"| EXCALI["Excalidraw<br/>Good but harder to<br/>integrate programmatic<br/>screenshot capture"]

    P{Proctoring?}
    P -->|"Privacy-first, free"| MEDIAPIPE["MediaPipe Face Mesh<br/>Browser-based, 468 landmarks,<br/>iris tracking, no cloud"]
    P -->|"Commercial accuracy"| COMMERCIAL["Commercial proctoring<br/>Expensive, privacy concerns,<br/>overkill for self-practice"]

    style HUME fill:#2d5016,stroke:#333,color:#fff
    style TLDRAW fill:#2d5016,stroke:#333,color:#fff
    style MEDIAPIPE fill:#2d5016,stroke:#333,color:#fff

OpenAI Realtime APIではなくHumeを選ぶ理由: HumeのEVIは、感情に関するコールバック(緊張、自信、ためらい)を提供し、面接官の振る舞いを適応させられます。OpenAIのRealtime APIは音声専用で、感情検出機能はありません。インタビューシミュレーションでは、感情を把握できることが差別化要因です。実際の面接官は、相手の感情状態に応じて対応を調整します。

Excalidrawではなくtldrawを選ぶ理由: tldrawは、豊富なプログラム用 API を備えたReactコンポーネントです。editor.getSnapshot()を呼び出してキャンバスの状態を取得し、画像としてエクスポートしてClaude Visionに送り、評価できます。ExcalidrawのAPIは、プログラムからの操作に関しては制限がより多くあります。

商用監督ツールではなくMediaPipeを選ぶ理由: これは試験監督ではなく、自主練習です。MediaPipeはブラウザー内で完全に動作し(クラウドを使用せず)、視線推定のための虹彩の位置を含む468個の顔のランドマークを処理し、費用もかかりません。商用監督ツール(ProctorU、ExamSoft)は、プライバシーとのトレードオフがある対立的な試験環境向けに設計されているため、個人練習には適しません。


セッションの流れ

sequenceDiagram
    participant U as User
    participant O as Orchestrator
    participant V as Voice Engine
    participant W as Whiteboard
    participant P as Proctor
    participant D as Debrief

    U->>O: Start session
    O->>O: Select round type<br/>(weakness-weighted)
    O->>U: Confirm: ML Design, Difficulty 3/5,<br/>Persona: Collaborative
    U->>O: Accept / override

    O->>V: Initialize interviewer persona
    O->>P: Activate gaze tracking
    alt Design or Coding Round
        O->>W: Open whiteboard
    end

    loop During Session (30-45 min)
        V->>U: Ask question / follow-up
        U->>V: Respond (voice)
        V->>O: Emotion data (confidence, hesitation)
        O->>V: Adjust difficulty / tone
        P->>O: Gaze flags (second monitor, notes)
        alt Design Round
            W-->>O: Periodic screenshot (every 30s active)
            O-->>W: Evaluate diagram (Claude Vision)
        end
    end

    U->>O: End session
    O->>D: Compile transcript + emotion<br/>timeline + proctor flags +<br/>whiteboard evaluations
    D->>U: Scored debrief with<br/>strengths, weaknesses,<br/>specific improvement actions
    O->>O: Update weakness tracker,<br/>adjust next session focus
セッション設定のオプション
パラメーター選択肢デフォルト
ラウンドの種類コーディング、ML設計、行動面接、技術プレゼンテーション、HM、技術的な詳細面接自動(弱点に応じて重み付け)
難易度1(ウォームアップ)~5(対抗的)3
面接官のペルソナフレンドリー、中立、対抗的、ソクラテス式中立
監督の厳しさオフ、トレーニング(寛容)、シミュレーション(厳格)トレーニング
セッション時間15/30/45/60分45分
ホワイトボードオン/オフ自動(設計ラウンドではオン)
録画音声のみ/音声+動画/オフ音声のみ

毎日の練習プロトコル

朝のモバイルセッション(10分)
07:00  Open mobile app
07:00  3 flash cards — spaced repetition surfaces weakest concepts
       (ML concepts, system design patterns, Anthropic-specific topics)
07:05  1 behavioral story rehearsal — voice, 3 minutes max
       App plays the prompt, you respond aloud, app records duration
07:08  Quick self-check — rate confidence 1-5 on today's cards
07:10  Done — push notification schedules evening session
夜のデスクトップセッション(30~60分、週3~4回)
19:00  Open desktop app, orchestrator selects round type
19:02  Configure: confirm round, set proctor to Training mode
19:05  Session begins — voice AI drives conversation
       Whiteboard opens for design rounds
       Proctor tracks gaze, flags second monitor use
19:35  Session ends (30 min) or 19:50 (45 min)
19:35  Debrief displays: scored rubric, emotion timeline,
       proctor flags, whiteboard evaluation (if applicable)
19:45  Review debrief — spend 1/3 of practice time here
19:55  Update story bank with any new insights
20:00  Done — weakness tracker updated automatically
週末の面接ループシミュレーション(2時間、週1回)
10:00  Full loop: 2-3 back-to-back rounds (different types)
       5-minute breaks between rounds (no phone, no notes)
       Proctor set to Simulation (strict) mode
11:30  Energy management practice — track cognitive fatigue
11:45  Cross-round story coherence review
       Did you tell the same project consistently across rounds?
12:00  Comprehensive weekly debrief — pattern analysis across sessions

採点と進捗の追跡

セッションごとの採点項目
項目重み測定元
技術的な正確さ25%トランスクリプトに対する Debrief AI の評価
コミュニケーションの明瞭さ20%感情データ(ためらいの頻度、つなぎ言葉)
時間管理15%セクションごとの所要時間と目標時間の比較
構造的な思考15%ホワイトボードの評価(デザイン面接)または口頭での構成
プレッシャー下での冷静さ10%感情の推移の安定性、つまずきからの立て直し
質問への対応10%到達した深掘りのレベル(values-behavioral におけるレベル 1~6)
試験監督ルールの遵守5%フラグ数(視線の逸れ、メモの参照)
進捗の可視化

ダッシュボードで、次の指標を時系列で追跡します:

  • セッションごとの総合スコア(0~100)と傾向線
  • 強みと弱みを示す項目別レーダーチャート
  • 連続記録トラッカー(練習を1つ以上行った連続日数)
  • 遅れがある面接形式と項目を示す弱点ヒートマップ
  • ストーリーごとの準備度ゲージ(準備済みの深掘りレベル数)
  • 間隔反復のカバー率(「成熟」間隔に達したフラッシュカードの割合)

セットアップガイド

前提条件
コンポーネント必要なもの入手先
Hume AI API キー音声と感情に対応する EVI へのアクセスhttps://hume.ai — 開発者アクセスを申請してください
Anthropic API キーDebrief とホワイトボード評価用の Claudehttps://console.anthropic.com
Supabase プロジェクトデータベース、認証、ストレージhttps://supabase.com — 初期段階では無料プランで十分です
Node.js 20+セッションオーケストレーターのランタイムhttps://nodejs.org
React Native + Expoモバイルコンパニオンアプリnpx create-expo-app
初回起動時の操作
# 1. Clone the simulator repo
git clone <your-simulator-repo>
cd interview-simulator

# 2. Install dependencies
npm install

# 3. Configure environment
cp .env.example .env.local
# Edit .env.local with your API keys:
#   HUME_API_KEY=...
#   HUME_SECRET_KEY=...
#   ANTHROPIC_API_KEY=...
#   NEXT_PUBLIC_SUPABASE_URL=...
#   SUPABASE_SERVICE_KEY=...

# 4. Initialize database
npx supabase db push

# 5. Run first calibration session
npm run dev
# Navigate to localhost:3000/calibrate
# 10-minute session to establish baseline scores
キャリブレーションセッション

最初のセッションはキャリブレーションラウンドです。10分間、すべての面接形式を対象にさまざまな質問を行い、試験監督機能は使わず、親しみやすいペルソナを設定します。これにより各項目の基準スコアを確立し、適応型の難易度設定を開始できるようにします。キャリブレーションを行わない場合、すべての項目の難易度はデフォルトで 3 になります。


コスト分析

コンポーネント月間使用量単価月間合計
Hume AI EVI夕方のセッション20回 x 35分 + 朝のドリル30回 x 3分~$0.07/分$60-80
Claude(Debrief)セッション20回 x Debrief 1回~$0.15/Debrief$3
Claude Vision(ホワイトボード)デザインセッション10回 x 評価5回~$0.03/評価$1.50
Supabase無料プラン(< 500MB、< 50K 認証)$0 無料 / $25 プロ$0-25
MediaPipeすべてのセッションでローカル実行$0$0
ElevenLabs(モバイルのフォールバック)朝の音声ドリル30回 x 3分~$0.05/分$4.50
合計$70-115/月
コスト最適化の方法
  1. セッション時間の上限設定:音声関連のコストが膨らまないよう、設定した時間に達したら必ず停止します
  2. ホワイトボード評価のバッチ処理:描画中は30秒ごと、ディスカッション中は2分ごとに評価します(継続的には評価しません)
  3. Debrief のキャッシュ:同じ質問形式でトランスクリプトも類似している場合は、具体的な詳細を差し替えてルーブリックの構成を再利用します
  4. モバイル音声:感情検出が不要な朝のドリルには、より安価な ElevenLabs を使用します
  5. Supabase の無料プラン:1ユーザーの練習には十分です。複数ユーザーでの利用や録音データの大量保存が必要な場合にのみアップグレードします

避けるべきアンチパターン

監督なしでの練習

初心者:2台目のモニターでメモを開き、答えを表示したブラウザーのタブを開き、すぐに調べられるようにスマートフォンを手元に置いて練習します。外部リソースによって知識の不足が隠されたセッションを通じて、誤った自信を身につけます。本番の面接ではサポートがなくなるため、パフォーマンスが30~40%低下します。

エキスパート:初回のセッションから、たとえトレーニング(寛容)モードであっても監督を有効にします。すべての練習を本番環境の再現と捉えます。机を片付け、関係のないタブを閉じ、スマートフォンを画面を下にして置きます。週末のループシミュレーションでは、厳格なシミュレーションモードを使用します。見られていることによる不快感こそがトレーニングだと理解しています。

検出方法:すべてのセッションで監督フラグが一度も立っていない(あり得ないほど問題がない)か、監督が常に「Off」に設定されています。自己申告の自信度と実際の振り返りスコアを比較します。大きな差があれば、練習条件が易しすぎることを示しています。

快適な領域だけを繰り返す

初心者:同じラウンドタイプを何度も手動で選びます。いつも行動面接(エピソードを練り上げてあるから)、いつもコーディング(生産的に感じるから)、あるいはすでに得意なラウンドだけを選びます。ホワイトボードでの評価が厳しいため、設計ラウンドを避けます。深掘りの質問が気まずいため、価値観ラウンドを避けます。

エキスパート:オーケストレーターに弱点分析に基づいてラウンドを選ばせます。SM-2 アルゴリズムを信頼し、最適な間隔で取り組みづらいトピックを提示してもらいます。手動で選ぶ場合は、意図的に最もスコアの低いラウンドタイプを選びます。進捗ダッシュボードでラウンドタイプの割合を追跡し、いずれかのタイプがセッションの40%を超えたらバランスを調整します。

検出方法:セッション履歴で、同じラウンドタイプがセッションの50%を超えています。弱点ヒートマップには、改善されないまま残っている冷えた部分があります。フラッシュカードの復習では、カテゴリ全体がスキップされています。

フィードバックを無視する

初心者:振り返りを確認せずに、セッションを連続して行います。模擬面接を学習の機会ではなく、こなすべき練習回数として扱います。セッション数は多いものの、スコアは横ばいです。振り返りタブの閲覧率は<50%です。振り返りで提示された改善アクションには一度も取り組みません。

エキスパート:練習時間全体の3分の1を振り返りの確認に充てます。各セッションの後、採点済みの評価基準をすべて読み、具体的な改善アクションを1つ選び、次のセッションでそのアクションに取り組みます。週ごとの傾向分析を確認し、セッションをまたぐ傾向を特定します。振り返りのたびに「学んだこと」のドキュメントを更新します。

検出方法:振り返りの閲覧率が50%未満です(ページ滞在時間で追跡)。同じ弱点が改善されないまま、3回以上連続して振り返りで指摘されています。記録された改善アクションがありません。


ラウンド別スキルとの連携

シミュレーターにはラウンドタイプごとのコンテンツは含まれません。質問、評価基準、評価の指標については、7つの専門スキルに委ねます。

ラウンドタイプコンテンツスキルシミュレーターが取得する内容
コーディングsenior-coding-interview問題の典型パターン、追加質問の段階的な構成、シニアレベルのシグナルのチェックリスト
ML システム設計ml-system-design-interview7段階のフレームワーク、代表的な問題、ホワイトボード戦略
行動面接/価値観values-behavioral-interview追加質問の深さ、STAR-L 形式、否定的な切り口のパターン
技術プレゼンテーションtech-presentation-interview物語の構成、深さの調整、質疑応答のストレステスト用質問
採用マネージャーhiring-manager-deep-dive影響範囲の評価、リーダーシップのシグナル評価基準
Anthropic 技術面接anthropic-technical-deep-diveトピック分野、見解の評価基準、安全性に関する深さ
フルループinterview-loop-strategistラウンドの順序、エネルギー管理、エピソードの一貫性マトリックス

参照ファイル

ファイル参照するタイミング
references/voice-engine-setup.mdHume AI EVI の統合、面接官のペルソナ設定、感情に応じたロジック、WebSocket 接続の設定、ElevenLabs へのフォールバック
references/whiteboard-engine-setup.md図の評価用の tldraw のセットアップ、Claude Vision の採点プロンプト、定期的なスクリーンショットの方針、評価あたりのコスト
references/proctor-engine-setup.mdMediaPipe Face Mesh のセットアップ、視線ベクトルの計算、不審度のしきい値、プライバシー設定、デブリーフへのフラグの統合
references/mobile-app-architecture.mdReact Native + Expo の技術スタック、SM-2 間隔反復の実装、プッシュ通知、オフラインモード、データ同期の方針
references/session-orchestration.mdラウンド選択アルゴリズム、難易度の適応、パフォーマンス追跡スキーマ、SM-2 の詳細、デブリーフ生成プロンプト、弱点の検出

コメント