Installs into .claude/skills of the current project.
Are you the author of Api Surface Evolution?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jpcaparas-api-surface-evolution)
---
name: laravel:api-surface-evolution
description: Evolve APIs safely using versioned DTOs/transformers, deprecations, and compatibility tests
---
# API Surface Evolution
Design for change without breaking clients.
## Versioning Strategy
- Choose explicit versioning (URI `/v1/...` or header negotiation)
- Default to additive changes; never break a released contract
## DTOs & Transformers
- Define versioned DTOs; map from models/services via transformers
- Keep controller thin—validate → transform → respond
## Deprecations
- Mark fields as deprecated in docs and responses (e.g., headers)
- Provide sunset timelines; add metrics to see remaining usage
## Testing
- Contract tests per version (request/response shapes)
- Backward compatibility tests for commonly used flows