skills/breaking-change-detector/SKILL.md
Compares two OpenAPI/API specification versions (V1 vs V2) to detect breaking changes and backward compatibility issues.
npx skillsauth add fatih-developer/fth-skills breaking-change-detectorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill acts as the API gatekeeper. It prevents accidental deployment of changes that would break existing mobile apps, web clients, or 3rd-party integrations by comparing API contracts offline.
Core assumption: Once an API is published, you no longer control the clients. Removing a field or changing its type will cause production crashes.
Compare Version A (Current) with Version B (Proposed) and categorize changes based on backward compatibility logic:
id from integer to uuid string).If a breaking change is detected, immediately propose an alternative backward-compatible method or generate a migration guide for the clients.
Required Outputs (Must write BOTH to docs/api-report/):
docs/api-report/breaking-change-report.md)### 🚨 API Version Diff Assessment
- **Status:** FAILED / BREAKING DETECTED
- **Recommended SemVer:** MAJOR BUMP (`v1.4.0` -> `v2.0.0`)
#### 🔴 Breaking Changes
1. **Endpoint `GET /users/{id}`:** Response type of `status` changed from `boolean` to `string (enum)`. This will crash strongly-typed clients (like Swift/Kotlin).
2. **Endpoint `POST /orders`:** Added new **required** field `shipping_address`. Existing clients will start receiving `400 Bad Request`.
#### 💡 Migration / Remediation Strategy
- **Fix for POST /orders:** Make `shipping_address` optional in the database, or provide a default fallback on the server.
- **Fix for GET /users:** Create a new field `status_text` and leave `status` as a boolean, marked as *deprecated*.
docs/api-report/breaking-change-output.json){
"skill": "breaking-change-detector",
"has_breaking_changes": true,
"recommended_bump": "MAJOR",
"breaking_changes": [
{"type": "response_type_change", "path": "/users/{id}", "field": "status", "old": "boolean", "new": "string"},
{"type": "required_field_added", "path": "/orders", "field": "shipping_address"}
]
}
tools
Create, optimize, critique, and programmatically structure prompts for AI systems. Use this skill whenever the user is designing or improving a static prompt, system prompt, coding prompt, agent prompt, workflow prompt, MCP-oriented prompt package, or an algorithmic prompt optimization pipeline. Also use it when the user asks to turn vague AI behavior into a precise instruction set, tool policy, agent spec, evaluation metric, or prompt architecture.
testing
Assumption-first architecture review skill to stress-test project plans and expose hidden risks.
testing
Enforce and manage DESIGN.md specifications, extract design systems from URLs, and combine design reasoning with token roles to prevent drift.
testing
Forces the agent to act with a Claude-like product mindset, prioritizing user journey, UX states, and visual quality before coding.