一键导入
breaking-change-detector
Detects breaking changes to public APIs, interfaces, and exported symbols, and blocks shipping without a migration path.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Detects breaking changes to public APIs, interfaces, and exported symbols, and blocks shipping without a migration path.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Detects files that always change together, exposing hidden coupling that inflates Lead Time for Change and makes every PR bigger than it needs to be.
Generates a deployment-specific checklist before any code ships, covering rollout, monitoring, communication, and rollback. Directly reduces Change Failure Rate and Mean Time to Restore.
Requires a feature flag for any user-facing change, giving teams an instant kill switch without a deployment.
Identifies flaky tests in the affected test suite before shipping, because flaky tests kill Deployment Frequency by making CI untrustworthy.
Blocks shipping code where test coverage for changed files drops below threshold, and flags untested paths that directly raise Change Failure Rate.
Audits any new dependency before it enters the codebase, covering license, maintenance health, CVEs, and bundle impact.
| name | breaking-change-detector |
| description | Detects breaking changes to public APIs, interfaces, and exported symbols, and blocks shipping without a migration path. |
| when_to_use | Apply automatically when modifying any public API, exported function, interface, event schema, or shared contract. |
A breaking change is any modification that requires consumers of your code to change their code to keep working. Breaking changes in internal platform code, shared libraries, or public APIs are a leading cause of cross-team incidents and deployment coordination failures.
This skill detects them before they ship.
Always breaking:
Breaking depending on consumers:
Non-breaking:
When a breaking change is detected:
## Breaking Change Detected
**Symbol / endpoint / schema changed:** [name]
**Change type:** [removed / signature changed / schema changed / renamed]
**Classification:** [BREAKING / POTENTIALLY BREAKING]
### What Breaks
[Describe concretely what stops working for consumers of this interface.]
### Known Consumers
[List files, services, or teams that depend on this contract, based on codebase search.]
[If consumers are external (API clients, other services), flag that the blast radius is unknown.]
### Migration Path Required
Choose one of the following before this change merges:
Option A — Versioned migration
Add a v2 endpoint / v2 interface alongside v1.
Deprecate v1 with a sunset date.
Remove v1 only after all known consumers have migrated.
Option B — Compatibility shim
Keep the old signature as a wrapper that calls the new one.
Mark it @deprecated with a migration note.
Schedule removal for [next major version or sprint].
Option C — Coordinated cutover
All consumers are internal and can be updated in the same PR or deployment window.
List every consumer that must be updated, and confirm all are included in this change.
Option D — Explicit breaking release
This is an intentional breaking change in a major version bump.
Confirm: semver major version has been incremented.
Confirm: CHANGELOG entry documents the break and the migration path.
Confirm: consumers have been notified.
### Verdict
[BLOCKED — choose a migration option above before proceeding]
When a breaking change is confirmed and approved:
package.json, pyproject.toml, go.mod, Cargo.toml, or equivalent has been bumped to the next MAJOR versionFor every confirmed breaking change, generate a CHANGELOG entry:
## [MAJOR.0.0] - [date]
### Breaking Changes
- **[symbol/endpoint name]**: [what changed and why]
- **Migration:** [what consumers need to do]
- **Removed in:** [this version]
- **Deprecated since:** [prior version, if applicable]