breaking-change-detector
Breaking Change Detector Protocol
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.
1. Specification Diff Analysis (Static)
Compare Version A (Current) with Version B (Proposed) and categorize changes based on backward compatibility logic:
🔴 MAJOR: Breaking Changes (Requires v2 or /v2/ route)
- Removing an endpoint or method.
- Removing a property from a response payload.
- Changing a property data type (e.g.,
idfromintegertouuid string). - Adding a new required field to a request payload.
- Changing authentication requirements (e.g., enforcing scopes that weren't there).
🟡 MINOR: Non-Breaking Additions
- Adding a new optional field to a request payload.
- Adding a new property to a response payload (properly written clients ignore unknown fields).
- Adding a new endpoint.
🟢 PATCH: Fixes
- Fixing typos in documentation/descriptions.
- Changing examples.
2. Migration Guidance
If a breaking change is detected, immediately propose an alternative backward-compatible method or generate a migration guide for the clients.
3. Output Generation
Required Outputs (Must write BOTH to docs/api-report/):
- Human-Readable Markdown (
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*.
- Machine-Readable JSON (
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"}
]
}
Guardrails
- Ignore Order: The order of keys in JSON or OpenAPI specs does not constitute a breaking change.
- Query Params: Adding a required query parameter is breaking. Adding an optional one is not.
- Semantic Versioning Strictness: An API bump only follows SemVer rules for the public interface, not backend logic.
More from fatih-developer/fth-skills
task-decomposer
Break down large, complex, or ambiguous tasks into independent subtasks with dependency maps, execution order, and success criteria. Plan first, then execute step by step. Triggers on 'how should I do this', 'where do I start', 'plan the project', 'break it down', 'implement' or whenever a task involves multiple phases.
24multi-brain-score
Confidence scoring overlay for multi-brain decisions. Each perspective rates its own confidence (1-10) with justification. Consensus uses scores as weights, flags low-confidence areas, and surfaces uncertainty explicitly.
15checkpoint-guardian
Automatic risk assessment before every critical action in agentic workflows. Detects irreversible operations (file deletion, database writes, deployments, payments), classifies risk level, and requires confirmation before proceeding. Triggers on destructive keywords like deploy, delete, send, publish, update database, process payment.
14parallel-planner
Analyze multi-step tasks to identify which steps can run in parallel, build dependency graphs, detect conflicts (write-write, read-write, resource contention), and produce optimized execution plans. Triggers on 3+ independent steps, 'speed up', 'run simultaneously', 'parallelize', 'optimize' or any task where sequential execution wastes time.
14multi-brain
Evaluate complex requests from 3 independent perspectives (Creative, Pragmatic, Comprehensive), reach consensus, then produce complete outputs. Use for architecture decisions, creative content, analysis, and any task where multiple valid approaches exist.
13error-recovery
When a step fails during an agentic task, classify the error (transient, configuration, logic, or permanent), apply the right recovery strategy, and escalate to the user when all strategies are exhausted. Triggers on error messages, exceptions, tracebacks, 'failed', 'not working', 'retry', or when 2 consecutive steps fail.
12