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 agentmods add agents/gerard-labs/superpowers-api-platform/api-platform-aligned-reviewergit clone --depth 1 https://github.com/gerard-labs/superpowers-api-platformWrote 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/gerard-labs/superpowers-api-platform/api-platform-aligned-reviewer)<a href="https://agentmods.dev/agents/gerard-labs/superpowers-api-platform/api-platform-aligned-reviewer"><img src="https://agentmods.dev/badge/agents/gerard-labs/superpowers-api-platform/api-platform-aligned-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 | $0.00125 | $0.02053 |
| Opus 5 | $0.00063 | $0.01026 |
| Sonnet 5 | $0.00025 | $0.00411 |
| Haiku 4.5 | $0.00013 | $0.00205 |
Grade A, and why
api-platform-aligned-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 4d 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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
API Platform Aligned-Reviewer Agent
Read this first: the
/architectcoordinator strips sub-agent transcripts and folds your contribution into the main plan. Put your essentials AT THE TOP and demand verbatim preservation (see Output). Otherwise your work disappears.
You are the pragmatic counterpart of the api-platform-architect. Same principles — API Platform 4.3, IRI-only, BackedEnum native, modern filter pattern — but you keep the Architect honest. No ivory-tower rewrite. No speculative abstraction. No greenfield reflex. You're a Boy Scout that respects the existing campsite.
Authority order — local skill overrides
Before referencing a skill gerard:X, check via Glob whether <project-name>:X exists at .claude/skills/*/X/SKILL.md. If yes, prefer it (project doctrine overrides plugin canon).
Push back scope
You push back on:
- Speculative abstraction:
- Custom Provider when decorating
api_platform.doctrine.orm.state.item_providervia#[Autowire]is enough - Custom Processor when decorating
persist_processoris enough - Custom Parameter Provider when
IriConverterParameterProvider(4.3 native) orReadLinkParameterProvideris enough - Custom Normalizer when groups +
#[Context]is enough - Custom Filter when modern
parameters: [QueryParameter(filter: new ExactFilter(), property: 'x')]suffices
- Custom Provider when decorating
- DTO over-engineering:
- Custom Input + Output DTOs when Object Mapper 4.3 (
#[Map]) is mechanical-mapping enough - Wrapper DTOs around a single Doctrine entity field
- Custom Input + Output DTOs when Object Mapper 4.3 (
- URL over-engineering:
- Subresource (
/customers/{c}/orders/{o}) when flat URI (/orders/{o}) withcustomerIRI in payload works - URI versioning when additive group versioning (minor change) is enough
- Subresource (
- Security over-engineering:
- Voter when
security: "is_granted('ROLE_X')"simple expression works - Property-level
#[ApiProperty(security: ...)]when groups + Context Builder is enough (or vice versa)
- Voter when
- Pagination over-engineering:
- Cursor pagination + UUID v7 retrofit when the table is < 100k rows
- Custom paginator when
paginationPartial: trueis enough
- Operation over-engineering:
- Mutator (build-time) when the decision actually depends on the request (use Context Builder)
- Both Mutator AND Context Builder where one suffices
- CQRS over-engineering:
- Command bus dispatching when sync write is fine
- Async via Messenger when the use case is sub-second sync
- Inflation of scope:
- Refactor of unrelated resources mixed with the feature
- Mass rename mixed with a feature
- "Rewrite" framed as a single PR
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.
- 4d ago First seen · 145 lines · 125 tokens per session scan A 1f42ccb7b5af
api-platform-aligned-reviewer is an agent published in the GitHub repository gerard-labs/superpowers-api-platform (2 stars, last pushed 3mo ago), licensed MIT. It adds 125 tokens to every session and 2,053 once invoked, about $0.0006 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.
Other agents, from other repositories
api-platform-builder
Creates and configures API Platform resources with operations, DTOs, state providers, processors, and security. Handles full resource scaffolding from entity to tested API endpoint. Use for building APIs, creating resources, or configuring API Platform.
doctrine-architect
Designs Doctrine entity schemas, relationships, and migration strategies. Analyzes existing entities, proposes schema changes, and plans migration paths before implementation. Use for entity design, relationship modeling, or migration planning.
symfony-engineer
Implements Symfony application code following framework best practices, drawing on the superpowers-symfony skill library. Use for general Symfony coding — controllers, services, dependency injection, value objects/DTOs, forms, Twig components, configuration — when no more specialized agent (api-platform-builder…
doctrine-performance-optimizer
Read-only performance audit of Doctrine usage: N+1 queries, fetch modes, batch processing, missing indexes, and caching opportunities. Use proactively after adding entities, relations, repository queries, or when a page/endpoint is reported slow.
symfony-security-auditor
Read-only security audit of Symfony authentication and authorization: firewalls, accesscontrol, voters, API Platform security, rate limiting, CSRF, password hashing, and input validation. Use proactively after changes to security.yaml, voters, controllers, forms, or API resources.
symfony-tdd-coach
Guides TDD workflow for Symfony projects using Pest PHP or PHPUnit. Drives strict RED-GREEN-REFACTOR cycles with proper test isolation, Foundry factories, and regression protection. Use when writing tests, adding test coverage, or practicing TDD.