Skip to content

/seed

Generate validated Seed specifications from interview results

From plugin
ouroboros
5.8k22 skills21 agents3 hooks1 MCP
Install
$ npx -y skills add Q00/ouroboros --skill seed --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seed

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate validated Seed specifications from interview results

SKILL.md

seed.SKILL.md
name: seed
description: "Generate validated Seed specifications from interview results"
aliases: [crystallize]
mcp_tool: ouroboros_generate_seed
mcp_args:
  session_id: "$1"

/ouroboros:seed

Generate validated Seed specifications from interview results.

Required Skill Capabilities

  • `ask_user` — ask human-judgment questions through the active runtime's user-question surface.
  • `inspect_code` — read repo-local agent roles and recover exact context from local files before guessing.
  • `call_mcp` — use available Ouroboros MCP tools directly, including runtime tool discovery when a deferred MCP surface must be loaded.
  • `run_shell` — run bounded local commands for audit-trail writes and setup steps.
  • `refine_answer` — confirm free-form user decisions before treating them as accepted seed revisions.
  • `maintain_ledger` — keep QA scores, candidate decisions, rejected proposals, and audit trail keys visible.

Usage

ooo seed [session_id]
/ouroboros:seed [session_id]

**Trigger keywords:** "crystallize", "generate seed"

Instructions

When the user invokes this skill:

Python Runtime (Required)

Before running any shell snippet below, define this resolver in the same shell. It accepts only Python 3.12 or newer, prefers `python3` and then `python`, and uses uv as the final fallback. Call `ouroboros_python` directly and quote every argument passed to it; the function preserves arguments and heredoc/stdin input. Only the probe and child interpreter discard inherited CPython path-selection overrides; the caller shell keeps its environment unchanged.

<!-- ouroboros-python-resolver:start -->

ouroboros_python() {
  if command -v python3 >/dev/null 2>&1 &&
    (unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python3 -c 'import sys; raise SystemExit(sys.version_info < (3, 12))') >/dev/null 2>&1
  then
    (unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python3 "$@")
    return
  fi
  if command -v python >/dev/null 2>&1 &&
    (unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python -c 'import sys; raise SystemExit(sys.version_info < (3, 12))') >/dev/null 2>&1
  then
    (unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command python "$@")
    return
  fi
  if command -v uv >/dev/null 2>&1; then
    (unset PYTHONHOME PYTHONPATH PYTHONPLATLIBDIR PYTHONEXECUTABLE __PYVENV_LAUNCHER__; command uv run --no-project --quiet --python '>=3.12' python "$@")
    return
  fi
  printf '%s\n' 'Ouroboros skills require Python >= 3.12 or uv on PATH.' >&2
  return 127
}

<!-- ouroboros-python-resolver:end -->

Load MCP Tools (Required before Path A/B decision)

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.**

1. Use the active runtime's `call_mcp` capability to find and load the seed generation MCP tool through runtime tool discovery when needed:

   tool discovery query: "+ouroboros seed"

2. The tool will typically be named `mcp__plugin_ouroboros_ouroboros__ouroboros_generate_seed` (with a plugin prefix). After runtime tool discovery returns, the tool becomes callable through the active runtime's `call_mcp` capability. 3. If the tool is callable — already exposed, or loaded by discovery — proceed to **Path A**. An empty discovery result for an already-exposed tool is expected, not a failure. Proceed to **Path B** only if the tool is genuinely absent (no Ouroboros MCP server).

**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.

**CRITICAL — deferred-schema guard (prevents "Invalid tool parameters"):** This skill makes `ouroboros_*` MCP calls across multiple turns, and each turn runs in a fresh tool context. A deferred tool's schema loaded on one turn is NOT guaranteed to still be loaded on the next. If you call any `ouroboros_*` MCP tool while its schema is not loaded in the **current** turn, the runtime rejects the call with **"Invalid tool parameters"** before it ever reaches the server. Therefore: **immediately before EVERY `ouroboros_*` MCP call in this skill, re-run the tool-discovery load query for the specific MCP tool you are about to call** (idempotent — a no-op when the schema is already loaded) so the correct schema is guaranteed present for that call. Use `"+ouroboros seed"` before `ouroboros_generate_seed`, `"+ouroboros qa"` before `ouroboros_qa`, and `"+ouroboros lateral"` before `ouroboros_lateral_think`. If a load ever returns no matching tool (and the tool is not already callable — an empty load for an already-exposed tool is an expected no-op, not absence), switch to the documented fallback / Path B instead of retrying the failing call.

Path A: MCP Mode (Preferred)

If the `ouroboros_generate_seed` MCP tool is available (loaded via runtime tool discovery above):

1. Determine the interview session:

  • If `session_id` provided: Use it directly
  • If no session_id: Check conversation for a recent `ouroboros_interview` session ID
  • If none found but THIS conversation already settled the goal, the

constraints, and verifiable success criteria (a lateral decision, a brownfield scan, or plain discussion that converged): take the **interview-less path** below. Do not send the user to `ooo interview` just to repeat what they already told you.

  • If none found and the material is not settled: Ask the user

**Interview-less path** (`session_context`):

   Tool: ouroboros_generate_seed
   Arguments:
     session_context:
       goal: <the user's own settled wording — verbatim, never your paraphrase>
       acceptance_criteria: [<verifiable checks: a c
Read more
Ships withouroboros

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode, Copilot, Kiro and more.

Get the whole plugin, auto-invoked

Other skills on ouroboros.