Move a triggered seed into the CocoBrew planning cycle by writing it to lifecycle/spec.md under a "Backlog Items" section. Marks the seed as promoted.
Preconditions
.cocoplus/must be initialized- Seed
<id>must exist and havestatus: triggered(not pending, promoted, or discarded) lifecycle/spec.mdshould exist (creates Backlog Items section if file exists; warns if spec.md does not yet exist)
Arguments
<id>(required): The seed ID to promote (e.g.,seed-20260505-143200)
Step-by-Step Behavior
- Verify initialization: Check
.cocoplus/exists. If not, output: "CocoPlus not initialized. Run$pod initfirst." and exit.
-
Validate seed ID: Read
.cocoplus/seeds/[id].yaml.- If file does not exist, output: "No seed with ID [id]. Run
$seed listto see available seeds." and exit. - If
statusispending, output: "Seed [id] has not triggered yet. Trigger condition: [condition]. Use$seed listto check status." and exit. - If
statusispromoted, output: "Seed [id] was already promoted on [promoted_date]." and exit. - If
statusisdiscarded, output: "Seed [id] was discarded. If you want to re-activate it, add it again with$seed add." and exit.
- If file does not exist, output: "No seed with ID [id]. Run
-
Read idea and metadata: Extract from YAML:
idea,trigger,captured_phase,captured_date,triggered_date. -
Write to spec.md: Open
.cocoplus/lifecycle/spec.md.- If
spec.mddoes not exist, output: "Warning:spec.mdnot found. Run$specfirst to create the specification. Seed saved as triggered — promote again after completing$spec." and exit. - If
spec.mdexists: check if a## Backlog Itemssection already exists.- If yes: append the idea as a new bullet under that section.
- If no: append a new
## Backlog Itemssection at the end of the file with the idea as the first bullet.
Backlog item format:
## Backlog Items - **[seed-id]:** [idea text] _(Captured during [captured_phase] phase — triggered: [trigger condition] on [triggered_date])_ - If
-
Update seed status: Write updated YAML with
status: promotedandpromoted_date: [ISO8601]. -
Confirm to developer:
✓ Seed [seed-id] promoted to spec backlog. Idea: [idea text] Added to: .cocoplus/lifecycle/spec.md → Backlog Items Run $spec to incorporate it into the next spec cycle.
Error Cases
- Seed file not found: Output message with suggestion to run
$seed list - Seed not triggered: Output status and trigger condition; do not promote
- spec.md not found: Warn and exit without promoting; seed remains
triggeredfor re-promotion - Cannot write to spec.md: Output filesystem error; do not update seed status
Exit Criteria
This skill is complete when:
- Idea is appended to
spec.mdunder Backlog Items - Seed YAML file is updated with
status: promoted - Developer has received confirmation
Anti-Rationalization
Do NOT:
- Automatically run
$specafter promotion — that is always an explicit developer action - Delete the seed file — it stays with
status: promotedas a record - Create a standalone git commit — spec.md changes are committed with the next
$specinvocation