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 skills add kreek/consult --skill contract-firstgit clone --depth 1 https://github.com/kreek/consultWrote 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/kreek/consult/contract-first)<a href="https://agentmods.dev/skills/kreek/consult/contract-first"><img src="https://agentmods.dev/badge/skills/kreek/consult/contract-first/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kreek/consult/contract-first"><img src="https://agentmods.dev/badge/skills/kreek/consult/contract-first.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00028 | $0.00896 |
| Opus 5.5 | $0.00011 | $0.00358 |
| Sonnet 5.5 | $0.00006 | $0.00179 |
| Haiku 4.5 | $0.00003 | $0.00090 |
Grade A, and why
contract-first 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 16d 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.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Contract First
Iron Law
CALLER-FACING INTERFACES AND SHARED STRUCTURE MUST BE APPROVED BEFORE IMPLEMENTATION.
When to Use
- A task defines or materially changes a caller-facing interface or shared structure: exported function, public type, HTTP endpoint, CLI/env/config surface, event payload, file format, database schema, migration step, package/module boundary, project layout, or the public surface of a significant new module.
- Reviewing whether implementation started before contract approval.
When NOT to Use
- Internal helper changes, local file moves, or private organization with no boundary future work will depend on.
- Typos, formatting, comment-only, or docs-only edits.
- The approach or solution direction is still unsettled; settle it in
specifyfirst.
Rules
- A contract is any shape concrete enough that another caller, process, service, user, migration step, package, or future module will depend on it. An export with no caller outside the change is not yet a contract. Working out the actual signatures, types, and shapes is this skill's job.
- The gate scales with reversal cost. Gate a shape when outside callers will bind to it and changing it later means breakage or migration. An additive, easily reversed change gets its shape stated in the close-out and continues; do not stop the work for it.
- Approval covers the named shape only. Compatibility (renames, removals, aliases, shims, deprecation paths) needs its own explicit decision.
- An approving design or RFC approves the direction, not the concrete shapes. The list of proposed surfaces with evidence is the approval.
- Silence is not approval. Wait for an explicit approve, revise, or reject. When no human can answer in this run (headless, scheduled, or delegated sessions), do not deadlock: build the most conservative version, mark the contract provisional, and flag the pending decision in the close-out.
- If implementation discovers a materially different contract, reopen the gate.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 16d ago Changed · +1 tokens per session 58f1948f6189
- 1mo ago Changed · -30 lines 3ae3856f997c
- 1mo ago First seen · 110 lines · 27 tokens per session scan A 7cfe0c8be2e3
contract-first is a skill published in the GitHub repository kreek/consult (1 stars, last pushed 17d ago), licensed MIT. It adds 28 tokens to every session and 896 once invoked, about $0.0001 per session on Opus 5.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.
Other skills, from other repositories
arch-review
Team baseline for architecture, design-doc, and RFC review — produces summary, strengths, concerns, and open questions. Auto-triggers when you say review this design, review this architecture, review this proposal, review my RFC, poke holes in this proposal, is this design sound, or critique this tech spec. Defers to…
clarify
Lightweight spec clarification scan for jig projects — a six-category ambiguity audit that asks up to five prioritized questions and appends them to the spec's ## Clarifications section. Auto-triggers when you say clarify this spec, audit this spec for ambiguities, is this spec ready for review, find unknowns in this…
explain
Explain jig vocabulary and artifacts in plain language. Three modes: term mode defines one lexicon term; artifact mode walks through a spec or ADR and its linked references; passage mode explains pasted jig output. Output is ephemeral (chat-only). Auto-triggers when you say explain this term, walk me through this…
pr-review
Team baseline for PR and code review — produces scope, blockers, nits, and strengths. Auto-triggers when you say review this PR, check this diff, review these changes, pre-review before I share, what do you think of this PR, or review the diff on this branch. Defers to any other installed skill whose description…
security-review
Team baseline for security review — a best-effort heuristic security pass over a diff or change-set. Auto-triggers for review this for security, any vulnerabilities here, security pass on this diff, is this code secure, check this for security issues, or security review this. Uses installed scanners when available…
contracts
Team baseline for external-interface contract artifacts: OpenAPI, JSON Schema, AsyncAPI, .proto, and GraphQL SDL, with spectral, ajv, buf, and graphql-inspector validation. Nudges devs toward contract-first artifacts; never writes them and never scaffolds a contracts/ directory. Auto-triggers for what contract should…