From api-platform
Audite un projet API Platform existant et produit un rapport de bonnes pratiques, performances et sécurité
How this skill is triggered — by the user, by Claude, or both
Slash command
/api-platform:auditsonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Audite un projet API Platform existant pour vérifier les bonnes pratiques, la sécurité, les performances et la cohérence de configuration.
Audite un projet API Platform existant pour vérifier les bonnes pratiques, la sécurité, les performances et la cohérence de configuration.
IMPORTANT : Exécute ce workflow étape par étape :
composer.json pour la version d'API Platform installéeconfig/packages/api_platform.yaml ou config/packages/api_platform.php#[ApiResource] via GrepVérifier pour chaque resource :
Configuration :
Sécurité :
security défini sur les opérations sensibles (POST, PUT, PATCH, DELETE)nelmio_cors)Performances :
pagination_enabled: false sur de grandes collections)Architecture :
Vérifier dans config/packages/api_platform.yaml :
api_platform:
title: 'Mon API' # Titre défini
version: '1.0.0' # Version définie
formats: # Formats explicites
jsonld: ['application/ld+json']
defaults:
pagination_items_per_page: 30 # Pagination par défaut raisonnable
pagination_client_enabled: true # Contrôle client de la pagination
mapping:
paths: ['%kernel.project_dir%/src/Entity']
tests/ avec Grepcomposer.lockGénérer un rapport structuré :
## Rapport d'audit API Platform
### Résumé
- Resources API : {nombre}
- Opérations totales : {nombre}
- Score global : {score}/100
### Resources auditées
| Resource | Opérations | Sécurité | Sérialisation | Filtres | Tests |
|----------|-----------|----------|---------------|---------|-------|
| Product | 6/6 | OK | OK | 3 | Oui |
| User | 4/6 | WARN | MISSING | 0 | Non |
### Problèmes critiques
1. [CRITIQUE] Resource User sans sécurité sur POST
2. [CRITIQUE] Mot de passe exposé dans la sérialisation User
### Avertissements
1. [WARN] Pas de groupes de sérialisation sur Product
2. [WARN] Pagination désactivée sur LargeCollection
### Recommandations
1. Ajouter security: "is_granted('ROLE_ADMIN')" sur User POST
2. Ajouter #[Groups(['user:read'])] et exclure le mot de passe
3. Configurer le HTTP caching pour les resources en lecture seule
### Couverture de tests
- Resources testées : {x}/{total}
- Tests manquants : {liste}
### Versions
- api-platform/core: {version} (dernière: {dernière})
- symfony/framework-bundle: {version}
| Critère | Points |
|---|---|
| Security sur opérations d'écriture | 15 |
| Pas de données sensibles exposées | 10 |
| Validation sur les inputs | 10 |
| CORS configuré | 5 |
| Critère | Points |
|---|---|
| Groupes de sérialisation | 10 |
| Opérations explicites | 10 |
| DTOs quand nécessaire | 5 |
| Documentation OpenAPI | 5 |
| Critère | Points |
|---|---|
| HTTP caching | 5 |
| Pagination configurée | 5 |
| Pas de N+1 queries | 5 |
| Critère | Points |
|---|---|
| Couverture des resources | 10 |
| Tests de sécurité | 5 |
docs/audit/ si demandénpx claudepluginhub atournayre/claude-personas --plugin api-platformTest API Platform resources with ApiTestCase; assert collections, items, filters, JSON schema, and authentication.
Reviews API designs for best practices, consistency, and issues in REST, GraphQL, gRPC, OpenAPI specs, or code files.
API and backend code review — REST conventions, auth, validation, error handling, pagination, rate limiting, test coverage. Use when asked to "review this API", "code review", "review backend", or "pre-launch backend check".