spec

spec is a skill for Claude Code, Codex from Snowflake-Labs/cocoplus. It costs 53 tokens per session (2,479 once invoked), scanned A, original, MIT.

A guided requirements process that records a project's goal, success measures, limits, people involved, data sources, and deliverables in a specification file.

In plain words
What is it for?
Use it to gather project requirements and create a versioned specification for the later planning and build phases.
Why use it?
It helps clarify what should be built and how success will be judged before implementation starts.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/snowflake-labs/cocoplus/spec
Any agent
npx skills add Snowflake-Labs/cocoplus --skill spec
Clone the repo
git clone --depth 1 https://github.com/Snowflake-Labs/cocoplus

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for spec

README.md
[![agentmods](https://agentmods.dev/badge/skills/snowflake-labs/cocoplus/spec.svg)](https://agentmods.dev/skills/snowflake-labs/cocoplus/spec)
Your own site
<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>
Per session 53 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,479 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce 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

Measured yesterday against content hash b83c11777cd8, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

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.

.cortex/skills/cocobrew/spec.skill.md · 212 lines

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:

  1. 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.json does not contain "bloom_waived": true, output: "No working-backwards document found — consider running $bloom before specifying. Run $bloom --skip to suppress this message." Then continue normally.
  2. 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.
    • --quick forces Quick Flow. --full forces Full Flow.
    • If not forced, choose quick only when affected files/objects are <= 3, no EHRB category is present, acceptance criteria are concrete, and no parallel workstream is needed. Otherwise choose full.
    • Record the final "flow_type": "quick" | "full" in .cocoplus/lifecycle/meta.json.
    • If Quick Flow is selected, the lifecycle may skip $plan after 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".)

Read the full file on GitHub · 212 lines

Changes

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.

  1. yesterday First seen · 212 lines · 53 tokens per session scan A b83c11777cd8

Subscribe to this mod's changes

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.

Related

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.

wpank/ai · 44 tokens

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…

openai/openai-agents-python · 58 tokens

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…

VectifyAI/OpenKB · 132 tokens

web-research

Use this skill for requests related to web research; it provides a structured approach to conducting comprehensive web research.

shibing624/agentica · 24 tokens

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…

frenzymath/Danus · 141 tokens

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…

mastra-ai/mastra · 121 tokens