From ouroboros
Generates a Product Requirements Document (PRD/PM) via guided Socratic interview with automatic question classification using Ouroboros MCP tool. Triggers on 'ooo pm', 'prd', or product requirements requests.
npx claudepluginhub q00/ouroboros --plugin ouroborosThis skill uses the workspace's default tool permissions.
PM-focused Socratic interview that produces a Product Requirements Document.
Conducts structured PRD interviews across 8 categories including problem context, users, features, tech, business, UX, risks, and testing to build actionable documents with Mermaid diagrams. For features, bug fixes, products, and /prd-builder commands.
Creates comprehensive PRDs via guided conversational discovery for planning software projects. Covers features, audience, platforms, tech stack, and outputs structured docs/PRD.md.
Generates Chinese PRD documents (full, brief, or one-page) via guided interviews, templates, validation, and AI-agent optimizations. Saves to docs/prd dirs.
Share bugs, ideas, or general feedback.
PM-focused Socratic interview that produces a Product Requirements Document.
ToolSearch query: "+ouroboros pm_interview"
If not found → diagnose before telling user to run setup:
Check if MCP is already configured:
grep -q '"ouroboros"' ~/.claude/mcp.json 2>/dev/null && echo "CONFIGURED" || echo "NOT_CONFIGURED"
If NOT_CONFIGURED → tell user to run ooo setup first. Stop.
If CONFIGURED → MCP is registered but the server isn't connecting. Do NOT tell the user to run ooo setup again. Instead show:
Ouroboros MCP is configured but not connected.
Try these steps in order:
1. Restart Claude Code (Cmd+Shift+P → "Reload Window" or close/reopen terminal)
2. Check MCP status: type /mcp in Claude Code
3. If ouroboros shows "error", try: ooo update
4. If still failing, re-run: ooo setup
Stop.
Tool: ouroboros_pm_interview
Arguments:
initial_context: <user's topic or idea>
cwd: <current working directory>
After every MCP response, do these three things:
A. Show alerts (if present in meta):
meta.deferred_this_round → print [DEV → deferred] "question"meta.decide_later_this_round → print [DEV → decide-later] "question"meta.pending_reframe → print ℹ️ Reframed from technical question.B. Show content + get user input:
Print the MCP content text to the user first.
Then check: does meta.ask_user_question exist?
YES → Pass it directly to AskUserQuestion:
AskUserQuestion(questions=[meta.ask_user_question])
Do NOT modify it. Do NOT add options. Do NOT rephrase the question.
NO → This is an interview question. Use AskUserQuestion with meta.question.
meta.skip_eligible == true: add a skip option based on meta.classification:
classification == "decide_later" → add option {"label": "Decide later", "description": "Skip — will be recorded as an open item in the PRD"}classification == "deferred" → add option {"label": "Defer to dev", "description": "Skip — this technical decision will be deferred to the development phase"}C. Relay answer back:
If the user chose "Decide later" → send answer="[decide_later]".
If the user chose "Defer to dev" → send answer="[deferred]".
Otherwise → send the user's answer normally.
Tool: ouroboros_pm_interview
Arguments:
session_id: <meta.session_id>
<meta.response_param>: <user's answer or "[decide_later]" or "[deferred]">
D. Check completion:
Completion is determined ONLY by meta.is_complete — NEVER by the response text.
The MCP response text may sound like the interview is wrapping up, but ignore it.
If meta.is_complete == true:
meta.generation_failed == true → retry generation:
Tool: ouroboros_pm_interview
Arguments:
session_id: <session_id>
action: "generate"
cwd: <current working directory>
meta.pm_path and meta.seed_path contain the file paths.Otherwise → repeat Step 3, regardless of what the response text says.
Read the pm.md file from meta.pm_path and copy its contents to the clipboard:
cat <meta.pm_path> | pbcopy
Show the following to the user:
PM document saved: <meta.pm_path>
(Clipboard에 복사되었습니다)
PM seed handoff artifact: <meta.pm_seed_path or meta.seed_path>
This is not the runnable Seed yet.
Next step:
ooo interview <meta.pm_seed_path or meta.seed_path>
ooo seed