From coco
Generate a feature design (design.md) in specs/{feature}/ with user stories, acceptance criteria, technical approach, API contracts, and research decisions.
npx claudepluginhub skullninja/coco-workflow --plugin cocoThis skill uses the workspace's default tool permissions.
Generate a feature design from a natural language description, combining specification (what to build) and implementation planning (how to build it) into a single artifact.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Generate a feature design from a natural language description, combining specification (what to build) and implementation planning (how to build it) into a single artifact.
/coco:phase (Step A) or /coco:planning-session tacticalspecs/{feature}/ before task generationFor single-issue fixes, use the hotfix skill instead.
.coco/config.yaml for project.specs_dir (default: specs).feature/* git branch, extract the feature name from the branch.coco/memory/constitution.md if it exists..coco/templates/design-template.md if it exists, otherwise use ${CLAUDE_PLUGIN_ROOT}/templates/design-template.md.{specs_dir}/{feature-name}/discovery.md if it exists. When present, this discovery brief provides pre-validated user intent, scope decisions, and constraints gathered via the interview skill.{specs_dir}/{feature-name}/Read pr.branch.feature_prefix from .coco/config.yaml (default: feature).
git checkout -b {feature_prefix}/{feature-name}
mkdir -p {specs_dir}/{feature-name}
The branch is feature/{feature-name} (e.g., feature/user-auth). The spec directory is {specs_dir}/{feature-name}/ (without the prefix).
Fill the design template following this workflow:
Specification phase (WHAT and WHY):
discovery.md exists, use it as the primary source for actors, goals, scope, and constraints -- treat the discovery brief as pre-validated input.[NEEDS CLARIFICATION: specific question] if the choice significantly impacts scope or UX and no reasonable default existsdiscovery.md exists, since most ambiguities should already be resolved), prioritized by: scope > security > UX > technicaldiscovery.md exists, derive user stories from the User Intent and Scope sections.Technical planning phase (HOW):
Write the design document to {specs_dir}/{feature-name}/design.md.
Only generate data-model.md if the feature involves significant data modeling (3+ entities with relationships, state transitions, or complex validation rules). Skip for UI-only features or simple CRUD.
If generated, extract from design.md Key Entities:
Write to {specs_dir}/{feature-name}/data-model.md.
Run inline validation against these criteria (no separate checklist file):
Specification quality:
[NEEDS CLARIFICATION] markers remain (or max 3 critical ones)Technical quality:
Fix issues (max 3 iterations). If [NEEDS CLARIFICATION] markers remain (max 3), present them to the user as a table with options and implications. Wait for responses, then update the design.
After design generation, perform a structured ambiguity scan. When discovery.md exists, narrow the scan to categories NOT already covered in the discovery brief -- skip categories where the discovery brief provides clear, validated answers.
Ambiguity Scan: Check coverage across these categories, marking each as Clear / Partial / Missing:
If no meaningful ambiguities found: Report "No critical ambiguities detected" and skip to Report.
If Partial/Missing categories found: Present up to 5 sequential clarification questions:
Impact * Uncertainty. Cover highest-impact unresolved categories first.Integrate Answers: After each accepted answer:
## Clarifications section exists in the design (create after the overview section if missing)### Session YYYY-MM-DD, append: - Q: <question> -> A: <answer>Output:
tasks skill automatically -- skills are NOT slash commands, so never suggest /coco:tasks)When invoked for a Light-tier feature (1-3 files, single user story, no internal dependencies):
import skill automatically -- skills are NOT slash commands, so never suggest /coco:import)Light mode is triggered by:
/coco:planning-session tactical routing to Light tier/coco:phase classifying the feature as Light tiertasks skill