with one click
with one click
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | seed |
| description | Generate validated Seed specifications from interview results |
| mcp_tool | ouroboros_generate_seed |
| mcp_args | {"session_id":"$1"} |
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)