From ouroboros
Generates validated Seed YAML specifications from Ouroboros interview results, including goals, constraints, acceptance criteria, ontology schema, and evaluation principles. Triggers on 'crystallize' or 'generate seed'.
npx claudepluginhub q00/ouroboros --plugin ouroborosThis skill uses the workspace's default tool permissions.
Generate validated Seed specifications from interview results.
Conducts Socratic interviews to crystallize vague requirements into clear specifications. Triggers on 'interview me' or 'clarify requirements'; invoke via /ouroboros:interview [topic].
Creates specification documents via adaptive multi-round interviews with proactive recommendations and optional research. Activates on 'create spec', 'new spec', or similar phrases.
Generates interactive specs from ideas, codebases, or docs with R-numbered requirements, testable acceptance criteria, and mandatory user approval gates.
Share bugs, ideas, or general feedback.
Generate validated Seed specifications from interview results.
ooo seed [session_id]
/ouroboros:seed [session_id]
Trigger keywords: "crystallize", "generate seed"
When the user invokes this skill:
The Ouroboros MCP tools are often registered as deferred tools that must be explicitly loaded before use. You MUST perform this step before deciding between Path A and Path B.
ToolSearch tool to find and load the seed generation MCP tool:
ToolSearch query: "+ouroboros seed"
mcp__plugin_ouroboros_ouroboros__ouroboros_generate_seed (with a plugin prefix). After ToolSearch returns, the tool becomes callable.IMPORTANT: Do NOT skip this step. Do NOT assume MCP tools are unavailable just because they don't appear in your immediate tool list. They are almost always available as deferred tools that need to be loaded first.
If the ouroboros_generate_seed MCP tool is available (loaded via ToolSearch above):
Determine the interview session:
session_id provided: Use it directlyouroboros_interview session IDCall the MCP tool:
Tool: ouroboros_generate_seed
Arguments:
session_id: <interview session ID>
The tool extracts requirements from the interview, calculates ambiguity score, and generates the Seed YAML.
Present the generated seed to the user.
Advantages of MCP mode: Automated ambiguity scoring (must be <= 0.2), structured extraction from persisted interview state, reproducible.
If the MCP tool is NOT available, fall back to agent-based generation:
src/ouroboros/agents/seed-architect.md and adopt that roleThe seed contains:
goal: Build a CLI task management tool
constraints:
- Python >= 3.12
- No external database
- SQLite for persistence
acceptance_criteria:
- Tasks can be created
- Tasks can be listed
- Tasks can be marked complete
ontology_schema:
name: TaskManager
description: Task management domain model
fields:
- name: tasks
type: array
description: List of tasks
- name: title
type: string
description: Task title
metadata:
ambiguity_score: 0.15
On successful seed generation, first announce:
Your seed has been crystallized!
Then check ~/.ouroboros/prefs.json for star_asked. If star_asked is not set to true, use the AskUserQuestion tool with this single question:
{
"questions": [{
"question": "If Ouroboros helped clarify your thinking, a GitHub star supports continued development. Ready to unlock Full Mode?",
"header": "Next step",
"options": [
{
"label": "\u2b50 Star & Setup",
"description": "Star on GitHub + run ooo setup to enable run, evaluate, status"
},
{
"label": "Just Setup",
"description": "Skip star, go straight to ooo setup for Full Mode"
}
],
"multiSelect": false
}]
}
gh api -X PUT /user/starred/Q00/ouroboros, merge {"star_asked": true} into ~/.ouroboros/prefs.json, then read and execute skills/setup/SKILL.md{"star_asked": true} into ~/.ouroboros/prefs.json, then read and execute skills/setup/SKILL.md{"star_asked": true} into ~/.ouroboros/prefs.json, skip setupCreate ~/.ouroboros/ directory if it doesn't exist. Preserve existing keys such as welcomeShown, welcomeCompleted, and welcomeVersion when updating star_asked:
python3 - <<'PY'
import json, os
path = os.path.expanduser('~/.ouroboros/prefs.json')
os.makedirs(os.path.dirname(path), exist_ok=True)
try:
with open(path, encoding='utf-8') as f:
prefs = json.load(f)
if not isinstance(prefs, dict):
prefs = {}
except Exception:
prefs = {}
prefs['star_asked'] = True
with open(path, 'w', encoding='utf-8') as f:
json.dump(prefs, f, indent=2)
f.write('\n')
PY
If star_asked is already true, skip the question and just announce:
Your seed has been crystallized!
๐ Next: `ooo run` to execute this seed (requires `ooo setup` first)