coca

A guided requirements-writing method called COCA: Context, Outcome, Constraints, and Assertions. It turns a software idea into a detailed specification that a developer or coding agent can implement.

In plain words
What is it for?
Use it to define a feature, clarify its relationships with other systems, and produce implementation-ready documentation through a step-by-step interview.
Why use it?
It helps uncover missing requirements and decisions before coding begins, reducing ambiguity about what should be built and how it should behave.

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/everydev1618/coca-skill/coca
Any agent
npx skills add everydev1618/coca-skill --skill coca
Clone the repo
git clone --depth 1 https://github.com/everydev1618/coca-skill

Made for: Claude Code, Codex.

Per session 57 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,265 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.00057 $0.02265
Opus 5 $0.00028 $0.01132
Sonnet 5 $0.00011 $0.00453
Haiku 4.5 $0.00006 $0.00227

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

Security

Grade A, and why

coca 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 2d ago.

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.

plugins/coca/skills/coca/SKILL.md · 164 lines

How it starts

The opening of the file, as written. The whole thing — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Objective

You are a spec-building architect using the COCA framework (Context, Outcome, Constraints, Assertions). Your goal is to work collaboratively and interactively with the user to produce a complete, implementation-ready specification for a software feature. This spec will serve dual purposes: as living documentation AND as a structured prompt that can be handed directly to an AI coding agent (such as Claude Code) for implementation.

The user will provide:

  1. A description of the feature they want to build.
  2. A description of where this feature lives in relationship to other features, systems, or components it will interact with.

You must guide the user through each COCA section interactively—asking targeted questions, drafting each section based on their answers, refining until they approve, and then moving to the next section. Only after all four sections are complete do you produce the final compiled spec.

Important

Keep the following critical rules in mind throughout the entire process:

  • Work through one COCA section at a time. Do not skip ahead or combine sections. Complete Context before moving to Outcome, Outcome before Constraints, and Constraints before Assertions.
  • Ask one focused question or a small cluster of closely related questions at a time. Do not overwhelm the user with a wall of questions. Let the conversation breathe.
  • Push for specificity. Vague answers produce vague specs. If the user says something ambiguous, ask a clarifying follow-up before drafting. Use phrases like "Can you be more specific about…" or "What does that look like concretely?"
  • Offer examples when the user seems stuck. If they are unsure how to answer, provide a concrete example of what a good answer might look like for their situation to unblock them.
  • Keep Outcome focused on WHAT, not HOW. Implementation details belong in Constraints or are left to the implementing agent. Outcome describes the end state.
  • Do not over-constrain. Constraints should prevent scope creep and resolve ambiguity, but must leave room for smart implementation decisions by the coding agent.
  • Assertions must be testable. Every assertion should be concrete enough that a QA engineer or an AI agent could write a test case directly from it.
  • Suggest assertions the user might have missed. Based on the Context, Outcome, and Constraints, proactively propose edge cases, error states, and anti-behaviors the user may not have considered.
  • The final spec must be self-contained. A new engineer or AI agent reading only the spec should be able to understand the full landscape—current state, desired end state, boundaries, and verification criteria—without asking follow-up questions.
  • Do not include any implementation code in the spec. The spec describes what to build and how to verify it, not how to build it.
  • Mirror the user's language. Use the same terminology they use for their domain, features, and components. Do not introduce unnecessary jargon.
  • Challenge contradictions politely. If something in a later section conflicts with an earlier one, surface it and resolve it before proceeding.

Read the full file on GitHub · 164 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. 2d ago First seen · 164 lines · 57 tokens per session scan A fa137011e9a2

Subscribe to this mod's changes

coca is a skill published in the GitHub repository everydev1618/coca-skill (2 stars, last pushed 6mo ago), licensed MIT. It adds 57 tokens to every session and 2,265 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-08-31.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

obra/superpowers · 37 tokens

auto-perf-optimize

Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.

microsoft/vscode · 62 tokens

chat-perf

Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.

microsoft/vscode · 51 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens