# Publish

Publish Seed specification as GitHub Issues for team-based project management

- Repository: https://github.com/Q00/ouroboros (6302 stars)
- Category: Git and review
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Q00/ouroboros --skill publish -g -a claude-code -y`
Codex: `npx skills add Q00/ouroboros --skill publish -g -a codex -y`
Cursor: `npx skills add Q00/ouroboros --skill publish -g -a cursor -y`
Gemini CLI: `npx skills add Q00/ouroboros --skill publish -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Q00/ouroboros`

## Description

Publish Seed specification as GitHub Issues for team-based project management

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /ouroboros:publish

Convert a Seed into a GitHub Epic issue plus Task issues. Works entirely through the `gh` CLI (no MCP), creates new issues only, and never modifies existing ones.

```
ooo publish [seed_path]
/ouroboros:publish [seed_path]
```

## Instructions

Run commands with the active runtime's `run_shell` capability and ask every question with the active runtime's `ask_user` capability.

### Step 1: Prerequisites

Run `command -v gh`. If missing, tell the user to install it from https://cli.github.com/ and stop. Run `gh auth status`; if not authenticated, tell the user to run `gh auth login` and stop.

### Step 2: Locate the Seed

Seeds live in `~/.ouroboros/seeds/`: interview Seeds as `{seed_id}.yaml`, PM Seeds as `pm_seed_{id}.json`. In priority order:

1. An explicit `.yaml` or `.json` path argument.
2. The most recent files from `ls -t ~/.ouroboros/seeds/*.yaml ~/.ouroboros/seeds/*.json 2>/dev/null | head -5`; if several exist, ask the user to choose.
3. A Seed path reported by `ooo seed` or `ooo pm` earlier in this conversation.

If none is found, tell the user to run `ooo seed` or `ooo pm` first, and stop.

### Step 3: Parse the Seed

Detect the format by extension. Omit any section whose field is missing or empty rather than failing.

YAML Seed (`ooo interview` + `ooo seed`):

| Field | Use |
|-------|-----|
| `goal` | Epic title and Goal section |
| `constraints` | Constraints section |
| `acceptance_criteria` | Epic checklist, distributed to Task issues |
| `ontology_schema` | Ontology table (field, type, description) |
| `evaluation_principles` | Evaluation Principles table (name, weight, description) |
| `exit_conditions` | Exit Conditions (Definition of Done) |
| `metadata.ambiguity_score` | Confidence indicator |
| `metadata.seed_id` | Duplicate detection |

JSON PM Seed (`ooo pm`, `PMSeed` schema):

The rest: https://github.com/Q00/ouroboros/blob/HEAD/skills/publish/SKILL.md
