io.github.teabagkim/interview-mode

编码与调试

by teabagkim

面向 Claude Code 的结构化 interviewer 模式,可持续追问、记录决策,并动态更新检查点。

什么是 io.github.teabagkim/interview-mode

面向 Claude Code 的结构化 interviewer 模式,可持续追问、记录决策,并动态更新检查点。

README

claude-interview-mode

An MCP server that turns Claude into a structured interviewer — and gets smarter with every conversation. Each interview feeds a shared evolution system where checkpoints are scored, ranked, and recommended based on real usage patterns across all users.

The Evolution System

This isn't just an interview tool. It's a collectively evolving knowledge system.

Every time anyone runs an interview in a category (e.g., "saas-pricing"), the system learns:

code
Session 1:  You explore freely → decisions become new checkpoints
Session 2:  Checkpoints load → Claude prioritizes what matters
Session 5:  Bayesian scores stabilize → the interview path optimizes itself
Session 20: Community patterns emerge → everyone benefits from collective experience

How evolution works

1. Checkpoint Discovery — When a decision is made during an interview, its topic is automatically registered as a new checkpoint. After just a few sessions, the system knows what topics matter for each category.

2. Bayesian Scoring — Each checkpoint tracks how often it's covered and how often it leads to a decision. The score uses Bayesian smoothing to handle sparse data:

code
decision_rate = (decisions + 0.6) / (times_covered + 2)

The prior (0.6/2 = 30% base rate) ensures new checkpoints start with a reasonable score. After ~5 sessions, real data dominates.

3. Composite Ranking — Checkpoints are ranked by a composite score combining decision-leading effectiveness (70%) and usage frequency (30%):

code
composite = decision_rate × 0.7 + normalized_usage × 0.3

High-scoring checkpoints are the ones that consistently lead to concrete decisions — not just topics that get discussed.

4. Recommended Path — The system computes an optimal interview path: checkpoints with decision_rate > 0.2, sorted by their average position in past sessions. This tells Claude not just what to ask, but when to ask it.

5. Community Evolution — All metadata flows to a shared database. When you interview about "api-design", you benefit from every other user who interviewed about "api-design" before you. The checkpoints, scores, and paths evolve collectively.

What gets shared (and what doesn't)

Shared (metadata only)Never shared
Category names (e.g., "saas-pricing")Your actual questions and answers
Checkpoint names (e.g., "pricing-model")Decision details and reasoning
Usage counts, scores, positionsAny personal or project-specific content

What it does

  • Claude drives the interview — asks questions, proposes options with reasoning, challenges assumptions
  • Tracks Q&As and decisions — structured records with timestamps
  • Evolving checkpoints — learns what topics matter per category, ranked by Bayesian effectiveness scores
  • Recommended paths — suggests the optimal order to explore topics based on past interview patterns
  • Concurrent sessions — supports multiple interviews running in parallel
  • Privacy-first — only anonymous metadata (categories, checkpoint names, counts) goes to the shared database

Install

bash
npx claude-interview-mode

Or install globally:

bash
npm install -g claude-interview-mode

Setup with Claude Code

Add to your project's .mcp.json:

json
{
  "mcpServers": {
    "interview-mode": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "claude-interview-mode"]
    }
  }
}

Restart your Claude Code session to load the MCP server. That's it — the evolution system starts working immediately via a shared community database.

Optional: Your own Supabase

By default, checkpoint data is stored in a shared community Supabase instance. If you want your own private database:

json
{
  "mcpServers": {
    "interview-mode": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "claude-interview-mode"],
      "env": {
        "SUPABASE_URL": "https://your-project.supabase.co",
        "SUPABASE_ANON_KEY": "your-anon-key"
      }
    }
  }
}

Then run supabase/schema.sql in your Supabase SQL Editor to create the tables.

Usage

Start an interview with Claude Code:

code
> Let's do an interview about my SaaS pricing strategy

Claude will lead the conversation. As the interview progresses:

  • Each Q&A and decision is recorded with checkpoint coverage
  • At the end, metadata is uploaded to evolve the system
  • Next time anyone interviews in the same category, the improved checkpoints are loaded

Tools

ToolDescription
start_interviewBegin a session — loads scored checkpoints and recommended path
recordRecord a Q&A or decision, with checkpoint coverage tracking
get_contextReview progress, see uncovered checkpoints ranked by score
end_interviewEnd session, upload metadata, evolve the checkpoint system

Architecture

code
You ←→ Claude ←→ MCP Server (interview-mode)
                      │
                      ├─ read (anon key, read-only)
                      │     └→ checkpoints, scores, patterns
                      │
                      └─ write (Edge Function, validated)
                            └→ metadata, checkpoint updates, score recalculation
                      │
               Supabase (shared community DB)

4 database tables power the evolution:

TablePurpose
checkpointsCheckpoint dictionary per category (name, usage count, decision count)
checkpoint_scoresBayesian scores per checkpoint (decision rate, avg position, samples)
interview_patternsCoverage sequences per session (which checkpoints, in what order)
interview_metadataSession summaries (category, counts, duration)

Security:

  • Anon key is read-only (SELECT only via RLS)
  • All writes go through an Edge Function with input validation and spam defense
  • Empty interviews, implausible rates, and oversized payloads are rejected

Development

bash
git clone https://github.com/teabagkim/claude-interview-mode.git
cd claude-interview-mode
npm install
npm run build    # TypeScript → dist/index.js
npm run dev      # Watch mode

License

MIT

常见问题

io.github.teabagkim/interview-mode 是什么?

面向 Claude Code 的结构化 interviewer 模式,可持续追问、记录决策,并动态更新检查点。

相关 Skills

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描166.1k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描166.1k

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描166.1k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
89.2k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
60.2k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
49.6k

评论