seed
Scannednpx machina-cli add skill Q00/ouroboros/seed --openclaw/ouroboros:seed
Generate validated Seed specifications from interview results.
Usage
ooo seed [session_id]
/ouroboros:seed [session_id]
Trigger keywords: "crystallize", "generate seed"
Instructions
When the user invokes this skill, choose the execution path:
Path A: MCP Mode (Preferred)
If the ouroboros_generate_seed MCP tool is available:
-
Determine the interview session:
- If
session_idprovided: Use it directly - If no session_id: Check conversation for a recent
ouroboros_interviewsession ID - If none found: Ask the user
- If
-
Call 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.
Path B: Plugin Fallback (No MCP Server)
If the MCP tool is NOT available, fall back to agent-based generation:
- Read
agents/seed-architect.mdand adopt that role - Extract structured requirements from the interview Q&A in conversation history
- Generate a Seed YAML specification
- Present the seed to the user
Seed Components
The seed contains:
- GOAL: Clear primary objective
- CONSTRAINTS: Hard limitations (e.g., Python 3.14+, no external DB)
- ACCEPTANCE_CRITERIA: Measurable success criteria
- ONTOLOGY_SCHEMA: Data structure definition (name, fields, types)
- EVALUATION_PRINCIPLES: Quality principles with weights
- EXIT_CONDITIONS: When the workflow should terminate
- METADATA: Version, timestamp, ambiguity score, interview ID
Example Output
goal: Build a CLI task management tool
constraints:
- Python 3.14+
- 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
After Seed Generation
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
}]
}
- Star & Setup: Run
gh api -X PUT /user/starred/Q00/ouroboros, save{"star_asked": true}to~/.ouroboros/prefs.json, then read and executeskills/setup/SKILL.md - Just Setup: Save
{"star_asked": true}to~/.ouroboros/prefs.json, then read and executeskills/setup/SKILL.md - Other (user provides custom text): Save
{"star_asked": true}, skip setup
Create ~/.ouroboros/ directory if it doesn't exist.
If star_asked is already true, skip the question and just announce:
Your seed has been crystallized! Run `ooo run` to execute (requires `ooo setup` first).
Overview
Seed crystallizes interview results into a structured YAML specification. It defines GOAL, CONSTRAINTS, ACCEPTANCE_CRITERIA, ONTOLOGY_SCHEMA, and EVALUATION_PRINCIPLES to guide implementation. The process supports automated MCP-based generation or a plugin fallback for reproducible seeds.
How This Skill Works
When invoked, MCP mode uses ouroboros_generate_seed to extract requirements, compute ambiguity, and output a Seed YAML. If MCP isn’t available, a plugin fallback assigns the seed-architect role and derives the Seed from interview Q&A to produce the YAML. The resulting seed includes metadata like version, timestamp, and interview ID.
When to Use It
- You’ve completed an interview and need a formal, structured Seed to start a project
- You require automated ambiguity scoring (aiming for <= 0.2) and reproducibility
- Your interview state is persisted and can be reconstituted into a seed
- MCP server/tool is unavailable and you must rely on agent-based generation
- You need to specify GOAL, CONSTRAINTS, ACCEPTANCE_CRITERIA, ONTOLOGY_SCHEMA, and EVALUATION_PRINCIPLES before implementation
Quick Start
- Step 1: Run ooo seed [session_id] to start the seed generation process
- Step 2: If the MCP tool is available, let it produce the Seed YAML automatically; otherwise adopt the seed-architect role and generate from interviews
- Step 3: Save and review the Seed YAML (goal, constraints, acceptance criteria, ontology, evaluation principles)
Best Practices
- Start with a clear GOAL to anchor all other components
- Make CONSTRAINTS explicit and testable (versions, limits, platforms)
- Define ONTOLOGY_SCHEMA with concrete field names and types
- Assign objective EVALUATION_PRINCIPLES with measurable weights
- Validate the seed against the interview data and update ambiguities as needed
Example Use Cases
- Seed for a CLI task manager: GOAL to build a command-line tool with task tracking and persistence; constraints include Python 3.11+, no external DB, and SQLite for persistence.
- Seed for a note-taking app: GOAL to store notes offline with search; constraints include local storage, encryption, responsive sync.
- Seed for a project tracker: GOAL to manage milestones and tasks; acceptance criteria cover creation, listing, and status updates.
- Seed for a user-profile service: GOAL to model user profiles with privacy constraints; ONTOLOGY_SCHEMA defines user_id, name, email, preferences.
- Seed for a data ingestion pipeline: GOAL to ingest and validate streaming data; constraints include schema validation and error handling.