Skip to content
Back to skills

Breaking Changes

ASecurity

Detects breaking changes between two git refs and generates a migration guide

  • 10 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 1, 2026
ai-agentsbashgitapidatabase

Works with

  • api

Security analysis

A100/100

Scanned June 1, 2026

npx -y skills add berkcangumusisik/claude-code-practices --skill breaking-changes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Breaking Changes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Breaking Changes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/berkcangumusisik-breaking-changes/badge)](https://www.skillsdirectory.com/skills/berkcangumusisik-breaking-changes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: breaking-changes
description: Detects breaking changes between two git refs and generates a migration guide
argument-hint: <base-ref> [head-ref]
user-invocable: true
allowed-tools: Bash Read
effort: medium
---

## Breaking Change Detection

Base: **$1** (e.g., `v1.2.0`, `main`)
Head: **$2** (default: current HEAD)

1. Get the diff:
```bash
git diff $1 ${2:-HEAD} -- src/ --name-only
git diff $1 ${2:-HEAD} -- src/
```

2. Analyze changes for breakage:

**Public API changes** (exports):
- Removed exported functions/types
- Changed function signatures (added required params, changed types)
- Changed return types

**Database changes:**
- Removed columns (app code still references them?)
- Renamed columns/tables
- Changed column types

**Config/env changes:**
- Renamed environment variables
- New required env vars without defaults

**Behavior changes:**
- Changed default values
- Changed error types/messages (if consumers check these)

3. For each breaking change, write a migration step:
```markdown
## Breaking Changes in v2.0.0

### `createUser()` now requires `role` parameter
**Before:** `createUser({ name, email })`
**After:** `createUser({ name, email, role: 'user' })`
**Migration:** Add `role: 'user'` as default to all call sites.
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…