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 apigit 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/api)<a href="https://agentmods.dev/skills/kreek/consult/api"><img src="https://agentmods.dev/badge/skills/kreek/consult/api/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/api"><img src="https://agentmods.dev/badge/skills/kreek/consult/api.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.00026 | $0.01255 |
| Opus 5.5 | $0.00010 | $0.00502 |
| Sonnet 5.5 | $0.00005 | $0.00251 |
| Haiku 4.5 | $0.00003 | $0.00126 |
Grade A, and why
api 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 — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
API
Iron Law
DEFINE THE CONTRACT FIRST. PRESERVE SHIPPED CALLERS. PICK STATUS BY FAILURE.
When to Use
- Adding, removing, renaming, or reviewing REST endpoints, fields, status codes, webhooks, auth, pagination, rate limits, or idempotency.
- Writing or changing OpenAPI, JSON Schema, public SDK boundaries, or integration contracts external callers depend on.
When NOT to Use
- Internal function signatures with no caller contract; use
domain-modeling. - Auth, secrets, or trust-boundary review beyond API shape; use
security. - Database schema; use
database. - gRPC, GraphQL, or message-queue APIs: use
architecturefor the style decision and that ecosystem's conventions for shape.
Rules
- Sketch new or changed caller-visible behavior in OpenAPI or the repo's
contract source before controller code, then implement from it. For a fix
that restores existing behavior, use the current contract as the source of
truth. Make every response shape explicit, including errors, empty states,
pagination, and auth failures. Durable API interfaces route through
contract-first. Additive changes old callers cannot notice (a new optional field, param, or endpoint) proceed without a stop; state the shape in the close-out. - Preserve shipped contracts with independent callers. Optional fields, params, headers, methods, and endpoints evolve in place when old callers can ignore them. When they alter a shipped contract, renames, removals, required additions, status-code changes, and semantic changes need a successor contract or a deprecation path with an overlap window. An explicitly unstable contract, or one whose change no running caller can observe, may change in place. Open browser tabs and installed apps are independent running callers. Use one versioning strategy per service; compatible additions never re-version.
- Use
4xxfor caller-side conditions such as invalid input, missing resources, authorization, or rate limits; use5xxwhen this service or a dependency cannot fulfill a valid request. Never mix origins in one response or leak raw upstream or internal errors. - Preserve an existing service's representation and error contract. For a new REST resource API with no established format, default to JSON:API unless a domain standard or client interoperability need favors another documented choice. New APIs use the chosen model's native error shape; document deviations.
- Non-idempotent mutations define idempotency key scope, replay window, duplicate response, and conflict semantics, or are documented as unsafe to retry.
- Lists have bounded pagination, stable ordering, and explicit invalid-token behavior. A bad token never silently restarts, rewinds, or skips position.
- External webhooks are signed, timestamped, replay-protected, versioned, and deduplicable.
- Middleware is for transport-wide concerns (logging, tracing, rate limits). Endpoint-specific validation, ownership checks, privileged authorization, and domain invariants stay at the route or domain boundary.
- Tests exercise the public boundary. Source-of-truth docs are updated, not generated output by hand.
What ships with it
8 files 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 924afdf3bec5
- 23d ago Changed · +8 lines f116de92b9f9
- 1mo ago Changed · -58 lines b7041d4a1baa
- 1mo ago First seen · 154 lines · 25 tokens per session scan A 35cf670c8610
api is a skill published in the GitHub repository kreek/consult (1 stars, last pushed 17d ago), licensed MIT. It adds 26 tokens to every session and 1,255 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
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…
build-falco-web-app
Build or modify a Falco web application in idiomatic F#, using functional routing, request and response helpers, explicit ASP.NET Core integration, security boundaries, and focused tests.
build-giraffe-web-app
Build or modify a Giraffe web application in idiomatic F#, using composable HttpHandler functions, explicit ASP.NET Core integration, configuration, authentication, and focused endpoint tests.
build-oxpecker-web-app
Build or modify an Oxpecker web application in idiomatic F#, using endpoint routing, functional EndpointHandler and EndpointMiddleware composition, ASP.NET Core metadata, and focused endpoint tests.
swift-openapi-client-workflow
Build, integrate, test, and diagnose Swift OpenAPI Generator clients in Apple-platform apps and Swift packages using OpenAPIURLSession, OpenAPIRuntime, URLSessionTransport, SwiftPM plugins, Apple docs, Dash docsets, and clear handoffs to server-side Swift OpenAPI workflows when the API contract or server transport…
build-acp-agent
Design, implement, test, and package an ACP agent/server. Use for protocol negotiation, sessions, streaming updates, tool rendering, permissions, authentication, SDK choice, and registry submission.