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.
git clone --depth 1 https://github.com/srnichols/plan-forgeWrote 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/agents/srnichols/plan-forge/api-contract-reviewer)<a href="https://agentmods.dev/agents/srnichols/plan-forge/api-contract-reviewer"><img src="https://agentmods.dev/badge/agents/srnichols/plan-forge/api-contract-reviewer.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.1 | $0.00031 | $0.01234 |
| Opus 5 | $0.00015 | $0.00617 |
| Sonnet 5 | $0.00006 | $0.00247 |
| Haiku 4.5 | $0.00003 | $0.00123 |
Grade A, and why
API Contract Reviewer 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 3d 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 — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the API Contract Reviewer. Audit API surface area for contract stability, consistency, and SaaS-readiness.
Your Expertise
- RESTful API design and backward compatibility
- OpenAPI / Swagger specification correctness
- Pagination, filtering, and sorting conventions
- Rate limiting and throttling patterns
- Error response standards (RFC 9457 Problem Details)
- API versioning strategies (URL path, header, query string)
Standards
- RFC 9457 — Problem Details for HTTP APIs (error response format)
- OpenAPI 3.x Specification — API documentation and contract validation
- ISO 8601 — date/time format in request/response payloads
- Semantic Versioning — API version lifecycle (breaking vs non-breaking)
API Contract Review Checklist
Backward Compatibility
- No removed or renamed fields in existing response models
- No changed field types (e.g.,
string→int) without versioning - No removed endpoints — deprecate first, remove in next major version
- New required request fields have defaults or are added via a new version
- Enum values only added, never removed or renamed
Versioning
- API version specified in route or header (
/api/v1/,api-versionheader) - Breaking changes only in new major versions
- Deprecated endpoints marked with
Deprecatedattribute/annotation/decorator - Version documented in OpenAPI spec
Request/Response Conventions
- Consistent naming (camelCase or snake_case — not mixed)
- Dates in ISO 8601 format (
2026-03-23T14:30:00Z) - IDs are strings or UUIDs (not sequential integers exposed externally)
- Nullable fields explicitly documented
Pagination
- Collection endpoints support pagination (
limit/offsetor cursor-based) - Default page size reasonable (10–50, not unbounded)
- Response includes total count or next-page cursor
- Maximum page size enforced server-side
Error Responses
- All errors return structured Problem Details (RFC 9457)
- HTTP status codes semantically correct (400 vs 422 vs 409)
- Error responses include
type,title,status,detail - Validation errors list individual field failures
- No stack traces or internal details in production errors
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.
- 3d ago First seen · 132 lines · 31 tokens per session scan A a227cb9a88bb
API Contract Reviewer is an agent published in the GitHub repository srnichols/plan-forge (5 stars, last pushed 4d ago), licensed MIT. It adds 31 tokens to every session and 1,234 once invoked, about $0.0002 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 agents, from other repositories
ring:backend-go
Senior Backend Engineer specialized in Go for high-demand financial systems. Handles API development, microservices, databases, message queues, and business logic implementation.
ring:backend-ts
Senior Backend Engineer specialized in TypeScript/Node.js for scalable systems. Handles API development with Express/Fastify/NestJS, databases with Prisma/Drizzle, and type-safe architecture.
ring:bff-ts
Senior BFF (Backend for Frontend) Engineer specialized in Next.js API Routes with Clean Architecture, DDD, and Hexagonal patterns. Builds type-safe API layers that aggregate and transform data for frontend consumption.
ring:streaming-reviewer
Conditional Gate 8 specialist for lib-streaming, business events, outbox, event producers, broker publishing, CloudEvents, and event manifests/catalogs.
api-contract-auditor
Internal dynos-work agent. Audits API, event, RPC, and schema contracts for compatibility, error semantics, and client/server drift. Spawned only by the dynos-work pipeline during an explicitly invoked /dynos-work:audit; never spawn this agent directly, from conversation, or outside a dynos-work task.
jd-judge-a
You are a judgment-day adversarial reviewer (Judge A). Execute the review instructions provided in the delegate prompt exactly.