Claude Code plugin providing 15 skills for API Platform development. Each skill teaches Claude the current, canonical way to do something in API Platform 4.x — verified against the core source, covering both the Symfony and Laravel integrations.
/plugin marketplace add api-platform/skillset
/plugin install api-platform@api-platform-skillset
Skills load automatically when relevant; they appear namespaced as api-platform:<skill>.
| Skill | Covers |
|---|---|
api-resource |
Resources, DTOs, Object Mapper, nested sub-resources, custom operations |
api-filter |
Collection filters with QueryParameter — the canonical post-4.4 filter set, legacy #[ApiFilter] migration |
state-provider |
Custom read logic, decorating Doctrine providers, computed fields |
state-processor |
Custom write logic, soft-delete, file downloads, side effects |
operations |
Operation security expressions, validation groups, parameter validation, deprecation |
securing-collections |
Multi-tenant isolation with Doctrine extensions and link handlers |
custom-validator |
Custom validation constraints for business rules |
serialization-groups |
Serialization contexts and #[Groups] — with guidance on when DTOs are the better choice |
pagination |
Page-based, partial, and cursor pagination |
errors |
RFC 7807 Problem Details, #[ErrorResource], exception-to-status mapping |
graphql |
GraphQL operations, resolvers, Relay pagination |
mercure |
Real-time updates over Mercure (Symfony) |
api-platform-mcp |
Exposing resources to AI agents via the Model Context Protocol — #[McpTool], McpToolCollection, #[McpResource] |
api-docs |
OpenAPI customization, hiding operations, factory decoration |
api-test |
Functional tests with ApiTestCase (Symfony) and HTTP tests (Laravel) |
The plugin format is specific to Claude Code. For any other agent, copy this repo's AGENTS.md into the root of your API Platform project — it is the de-facto file Cursor, GitHub Copilot, OpenAI Codex and Gemini read when a session starts. It points the agent at the canonical documentation instead of stale training data.
AGENTS.md is intentionally lean: instructions plus a topic index. The 15 skills above go deeper, with verified code for each topic — that depth is currently Claude-only. A thin CLAUDE.md (@AGENTS.md) keeps Claude users on the same baseline before the plugin's skills layer on top.
Skills are framework-aware: shared API Platform concepts are presented once, and where the integrations differ (Eloquent filters, Laravel validation rules, policies, config/api-platform.php), skills carry dedicated Laravel sections. Mercure is currently Symfony-only.
Bump happens through the marketplace:
/plugin marketplace update api-platform-skillset
Skills live in skills/<name>/SKILL.md. Conventions: imperative voice, verified APIs only (checked against api-platform/core), imports at the top of every code block, no bare references to core test paths — inline the relevant extract instead.