Skip to content
Back to skills

Cocoseed

ASecurity

Evaluate all pending seed trigger conditions against current project state and show which ideas are ready to promote and which are still waiting

  • 724 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentsgit

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add Snowflake-Labs/cocoplus --skill cocoseed --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cocoseed?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cocoseed
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/snowflake-labs-cocoseed-cocoplus/badge)](https://www.skillsdirectory.com/skills/snowflake-labs-cocoseed-cocoplus)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: seed-list
description: Evaluate all pending seed trigger conditions against current project state and show which ideas are ready to promote and which are still waiting
version: 1.0.2
user-invocable: true
command: $seed list
author: "CocoPlus"
tags:
  - cocoplus
feature: CocoSeed (Feature 29)
---

# $seed list

Evaluate all stored seeds against current project state. Shows two sections: seeds Ready to Promote (trigger has fired) and seeds Waiting (trigger not yet met).

## Preconditions

- `.cocoplus/` must be initialized
- `.cocoplus/seeds/` directory may be empty (outputs "No pending seeds" if so)

## Step-by-Step Behavior

1. **Verify initialization:** Check `.cocoplus/` exists. If not, output: "CocoPlus not initialized. Run `$pod init` first." and exit.

2. **Read all seed files:** Load all `.yaml` files from `.cocoplus/seeds/` with `status: pending` or `status: triggered`. Skip seeds with `status: promoted` or `status: discarded`.

3. **If no seeds found:** Output: "No pending seeds. Add ideas with `$seed add`." and exit.

4. **Evaluate each trigger condition** against current project state:

   **Filesystem presence checks:**
   - "when coco-map.json exists" / "when CocoMap is committed" → check `.cocoplus/map/coco-map.json`
   - "when [feature] is active" → check corresponding mode flag in `.cocoplus/modes/`
   - "when [filename] exists" → check for that file in `.cocoplus/`

   **Lifecycle phase checks:**
   - "when Build phase completes" → read `.cocoplus/lifecycle/meta.json`, check if `build` phase is in completed phases
   - "when Ship phase completes" → check if lifecycle phase is "shipped"
   - "when [phase] phase begins" → check current phase field

   **Mode flag checks:**
   - "when [feature] is enabled" → check `.cocoplus/modes/[feature].on`

   **Manual conditions** (plain language not matching above patterns):
   - Always show as "pending manual confirmation" — do not auto-trigger

5. **Update triggered status:** For any seed whose condition just fired (was `pending`, now evaluates as triggered), update its `.yaml` file: set `status: triggered`, add `triggered_date: [ISO8601]`.

6. **Display output** in two sections:

```
Seeds Ready to Promote ([N]):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[seed-id] — [idea]
  Triggered: [trigger condition that fired]
  Captured during: [captured_phase] phase on [captured_date]
  Promote with: $seed promote [seed-id]

[repeat for each triggered seed]

Seeds Waiting ([N]):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[seed-id] — [idea]
  Waiting for: [trigger condition]
  Status: [not yet / pending manual confirmation]
  Captured during: [captured_phase] phase on [captured_date]

[repeat for each waiting seed]
```

7. **If no triggered seeds:** Display only the Waiting section with message: "No seeds are ready yet. Trigger conditions are still pending."

## Error Cases

- **Seeds directory missing:** Output "No seeds directory found. Add ideas with `$seed add`." and exit
- **Corrupt YAML file:** Skip and warn: "Could not read [filename]. Check file format."

## Exit Criteria

This skill is complete when:
- All seeds are evaluated against current state
- Triggered seeds have been updated in their YAML files
- Two-section display is shown to developer

## Anti-Rationalization

Do NOT:
- Automatically promote any seed — that is always `$seed promote`
- Create any git commit
- Modify seed content (idea or trigger) — only `status` and `triggered_date` are updated

Files in this skill

  • seed-add.skill.md3 KB
  • seed-list.skill.md3.6 KB
  • seed-promote.skill.md3.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…