一键导入
deep-interview
Socratic deep interview with ambiguity scoring — crystallize vague ideas into clear specs before execution
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Socratic deep interview with ambiguity scoring — crystallize vague ideas into clear specs before execution
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Detect and clean AI-typical writing patterns in documents — em dashes, filler phrases, over-formality
Route questions to Claude, Codex, or Gemini for multi-perspective answers
Claude-Codex-Gemini tri-model orchestration — decompose, query, synthesize
Health check — verifies omg plugin is correctly installed and working
Quick reference — what omg agents and skills are available and how to use them
About omg — version, architecture, capabilities, and credits
| name | deep-interview |
| description | Socratic deep interview with ambiguity scoring — crystallize vague ideas into clear specs before execution |
| tags | ["requirements","interview","socratic"] |
Stage 1: Deep Interview → Stage 2: Ralplan → Stage 3: Autopilot
Socratic Q&A Consensus planning Execution
Ambiguity scoring Architect + Critic review QA + Validation
Challenge agents ADR + alternatives Working code
Gate: ≤20% ambiguity Gate: Critic ACCEPT Gate: Tests pass
Output: .omg/research/spec-*.md Output: .omg/plans/*.md Output: working code
Each stage gates on a different quality dimension:
.omg/research/interview-{slug}-state.json:
{
"interview_id": "<slug>",
"type": "greenfield|brownfield",
"initial_idea": "<user input>",
"rounds": [],
"current_ambiguity": 1.0,
"threshold": 0.2
}
Repeat until ambiguity ≤ threshold OR user exits early:
Question styles by dimension:
| Dimension | Question Style | Example |
|---|---|---|
| Goal Clarity | "What exactly happens when...?" | "When you say 'manage tasks', what action does a user take first?" |
| Constraint Clarity | "What are the boundaries?" | "Should this work offline, or is internet assumed?" |
| Success Criteria | "How do we know it works?" | "What would make you say 'yes, that's it'?" |
| Context (brownfield) | "How does this fit?" | "I found JWT auth in src/auth/. Should this extend or diverge?" |
Use ask_user with the question. Present with ambiguity context:
Round {n} | Targeting: {weakest_dimension} | Ambiguity: {score}%
{question}
NEVER batch multiple questions. One question per round.
After the answer, score clarity across all dimensions (0.0 to 1.0):
Calculate ambiguity:
ambiguity = 1 - (goal × 0.40 + constraints × 0.30 + criteria × 0.30)ambiguity = 1 - (goal × 0.35 + constraints × 0.25 + criteria × 0.25 + context × 0.15)Round {n} complete.
| Dimension | Score | Gap |
|-----------|-------|-----|
| Goal | {s} | {gap or "Clear"} |
| Constraints | {s} | {gap or "Clear"} |
| Success Criteria | {s} | {gap or "Clear"} |
| Context (brownfield) | {s} | {gap or "Clear"} |
| **Ambiguity** | **{score}%** | |
Next target: {weakest_dimension}
Append round to .omg/research/interview-{slug}-state.json via edit.
At specific thresholds, shift the questioning perspective (used ONCE each):
Challenge the core assumption. "What if the opposite were true?" or "What if this constraint doesn't actually exist?"
Probe whether complexity can be removed. "What's the simplest version that would still be valuable?"
Ask "What IS this, really?" — find the core entity among the noise.
When ambiguity ≤ threshold (or hard cap / early exit):
.omg/research/spec-{slug}.mdstore_memory with key omg:active-specSpec structure:
# Deep Interview Spec: {title}
## Metadata
- Rounds: {count}
- Final Ambiguity: {score}%
- Type: greenfield | brownfield
## Goal
{crystal-clear goal statement}
## Constraints
- {constraint 1}
## Non-Goals
- {explicitly excluded scope}
## Acceptance Criteria
- [ ] {testable criterion 1}
- [ ] {testable criterion 2}
## Assumptions Exposed & Resolved
| Assumption | Challenge | Resolution |
|------------|-----------|------------|
## Technical Context
{brownfield: codebase findings | greenfield: technology choices}
## Key Entities
| Entity | Type | Relationships |
|--------|------|---------------|
Present execution options via ask_user:
"Your spec is ready (ambiguity: {score}%). How would you like to proceed?"
IMPORTANT: Invoke the chosen skill. Do NOT implement directly.
.omg/research/spec-{slug}.mdstore_memory with key omg:active-spec and value { "path": "...", "title": "...", "ambiguity": "{score}%", "created": "YYYY-MM-DD" }store_memory for omg:active-specask_user for each interview question (one at a time)edit/create to save state and spec to .omg/research/store_memory to index the spec for downstream consumptionGood — Targeting weakest dimension:
Scores: Goal=0.9, Constraints=0.4, Criteria=0.7
→ Targets Constraints (lowest at 0.4):
"You mentioned this should 'work on mobile'. Does that mean a native app,
a responsive web app, or a PWA?"
Good — Codebase facts before asking:
[spawns omg:explore: "find auth implementation"]
[receives: "Auth in src/auth/ using JWT + passport.js"]
"I found JWT auth in src/auth/. Should this new feature extend it or diverge?"
Good — Contrarian mode:
Round 5 | Contrarian Mode | Ambiguity: 42%
"You said 10K concurrent users. What if only 100? Would architecture change,
or is 10K an assumption, not a requirement?"
Bad: "What do you want? What framework? What database?" — Batched questions, asked codebase facts.
.omg/research/spec-{slug}.mdstore_memory key omg:active-specdeep interview, interview me, socratic