Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/snowflake-labs/cocoplus/specnpx skills add Snowflake-Labs/cocoplus --skill specgit clone --depth 1 https://github.com/Snowflake-Labs/cocoplusWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/snowflake-labs/cocoplus/spec)<a href="https://agentmods.dev/skills/snowflake-labs/cocoplus/spec"><img src="https://agentmods.dev/badge/skills/snowflake-labs/cocoplus/spec.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00053 | $0.02479 |
| Opus 5 | $0.00026 | $0.01239 |
| Sonnet 5 | $0.00011 | $0.00496 |
| Haiku 4.5 | $0.00005 | $0.00248 |
Grade A, and why
spec scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 212 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are executing the Spec phase (1/6) of the CocoBrew lifecycle. Your objective is to capture complete project requirements through structured dialogue.
Before proceeding, verify that .cocoplus/ exists in the current directory.
If it does not, output: "CocoPlus not initialized in this directory. Run $pod init to begin." Then stop.
Check .cocoplus/lifecycle/meta.json. If current_phase is not not_started and not spec:
If current_phase is build, test, review, or shipped:
Output:
⚠️ WARNING: Current phase is [phase]. Re-entering Spec at this stage will invalidate downstream artifacts.
Active git worktrees from CocoHarvest (agent/stage-*) will become stale and out of sync with the new specification. You must clean them up manually with:
git worktree remove --force agent/stage-<name>
git worktree prune
To proceed anyway, re-run $spec with the --force flag: $spec --force
Then stop — unless the --force flag was provided in the invocation arguments. If --force was provided, output "Proceeding with forced Spec re-entry. Existing downstream artifacts will be invalidated." and continue.
Otherwise (phase is plan): Output "Current phase is [phase]. The Spec phase can only be entered from the beginning or re-entered to update requirements. Proceed? (yes/no)"
If no: stop.
Requirements Capture Dialogue
Before the dialogue starts:
- Check
.cocoplus/lifecycle/bloom.md.- If it exists, read it first and summarize the Core Capability as the anchor for the specification.
- If it does not exist and
.cocoplus/lifecycle/meta.jsondoes not contain"bloom_waived": true, output: "No working-backwards document found — consider running$bloombefore specifying. Run$bloom --skipto suppress this message." Then continue normally.
- Classify scope natively from the initial task description if one was provided, or from the first goal answer once available.
- Count affected files/objects, destructive or billing-significant operations, external dependencies, EHRB-sensitive categories, and evaluation burden.
--quickforces Quick Flow.--fullforces Full Flow.- If not forced, choose
quickonly when affected files/objects are <= 3, no EHRB category is present, acceptance criteria are concrete, and no parallel workstream is needed. Otherwise choosefull. - Record the final
"flow_type": "quick" | "full"in.cocoplus/lifecycle/meta.json. - If Quick Flow is selected, the lifecycle may skip
$planafter spec capture and proceed to a single structured build artifact at.cocoplus/lifecycle/quick-build.md.
Ask each question in sequence. Wait for the developer's response before proceeding to the next question. Do not batch questions.
Question 1: What is the primary goal of this project? (Be specific — what problem does it solve and for whom?)
Question 2: What are the success criteria? (How will you know this project succeeded? List 2-5 measurable outcomes.)
Question 3: What is explicitly out of scope for this work? (List anything the project will not attempt in this phase.)
Question 4: Which existing Snowflake objects are involved? (List tables, views, stages, functions, procedures, or schemas already in play. If none, say "None".)
Question 5: Who are the target users? (Who will use or benefit from this output? If unknown, say "TBD".)
Question 6: What is the target timeline? (If unknown, say "TBD".)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 212 lines · 53 tokens per session scan A b83c11777cd8
spec is a skill published in the GitHub repository Snowflake-Labs/cocoplus (720 stars, last pushed yesterday), licensed MIT. It adds 53 tokens to every session and 2,479 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
prompt-engineering
Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability in production. Use when optimizing prompts, improving LLM outputs, designing production prompt templates, or building AI-powered features.
implementation-final-review
Perform the repository's risk-tiered independent final review before implementation completion. Use only when explicitly invoked or when repository instructions require it after behavior-impacting implementation work; audit the complete task diff, supported contracts, lifecycle and security boundaries, complexity, and…
openkb-html-critic
Use to review a generated HTML deck or single-page artifact for visual quality and structural correctness. Especially good at catching CSS specificity bugs where slide-modifier classes (.divider, .center, .q, .flow etc.) accidentally override the base .slide{display:none} and cause one slide to stack on top of every…
web-research
Use this skill for requests related to web research; it provides a structured approach to conducting comprehensive web research.
initialize
First-run setup interview for a Danus deployment. Run it on the FIRST session, whenever runtime/.danus-initialized is absent or OPERATOR.md is still the blank template, or when the operator asks to set up / initialize / onboard / re-configure. It greets the operator, explains Danus, asks the critical choice (codex…
playground-msw-tests
REQUIRED and PRIMARY testing approach for packages/playground and packages/playground-ui. Triggers on: adding or modifying hooks, pages, route components, data-fetching code, React Query interactions, or any test work in these packages. Generates Vitest tests that drive the real @mastra/client-js + React Query stack…