PatchEvergreen Breaking Changes Analyzer
Expert skill for analyzing breaking changes, compatibility issues, and migration planning for programming libraries across multiple languages using the PatchEvergreen database.
Best use case
PatchEvergreen Breaking Changes Analyzer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Expert skill for analyzing breaking changes, compatibility issues, and migration planning for programming libraries across multiple languages using the PatchEvergreen database.
Teams using PatchEvergreen Breaking Changes Analyzer should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/patchevergreen-breaking-changes-analyzer/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How PatchEvergreen Breaking Changes Analyzer Compares
| Feature / Agent | PatchEvergreen Breaking Changes Analyzer | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Expert skill for analyzing breaking changes, compatibility issues, and migration planning for programming libraries across multiple languages using the PatchEvergreen database.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# PatchEvergreen Breaking Changes Analyzer
## Overview
The PatchEvergreen Breaking Changes Analyzer is a specialized skill that helps developers understand, analyze, and plan migrations for library version upgrades. It provides expert guidance on breaking changes, compatibility issues, and migration strategies across multiple programming languages.
This skill works with the PatchEvergreen MCP server to access a comprehensive database of breaking changes for libraries in Python, JavaScript, Java, PHP, Ruby, Go, Rust, and other languages.
## Capabilities
This skill can help you:
- **Analyze Breaking Changes**: Identify and understand breaking changes between library versions
- **Plan Migrations**: Create detailed upgrade plans with step-by-step guidance
- **Assess Compatibility**: Evaluate how breaking changes will impact your codebase
- **Conduct Dependency Audits**: Systematically review all project dependencies for issues
- **Generate Migration Reports**: Create comprehensive reports with actionable recommendations
## Prerequisites
To use this skill, you need:
1. **PatchEvergreen MCP Server**: The skill requires access to the PatchEvergreen MCP server (either stdio or SSE transport)
2. **Library Information**: Know the library name as it appears in package managers (e.g., `requests`, `lodash`, `django`, `phpmailer/phpmailer`)
3. **Language Context**: Identify the programming language of the library
## Library Naming Convention
**Important**: Libraries must be named exactly as they appear in their respective package manager files:
- **Python**: As in `requirements.txt`, `setup.py`, or `pyproject.toml` (e.g., `requests`, `django`, `numpy`)
- **JavaScript/Node.js**: As in `package.json` (e.g., `lodash`, `express`, `react`)
- **PHP**: As in `composer.json` (e.g., `phpmailer/phpmailer`, `symfony/symfony`)
- **Ruby**: As in `Gemfile` (e.g., `rails`, `nokogiri`)
- **Rust**: As in `Cargo.toml` (e.g., `serde`, `tokio`)
- **Java**: As in `pom.xml`, `build.gradle.kts`, or `libs.versions.toml` (e.g., `org.springframework:spring-core`)
- **Go**: As in `go.mod` (e.g., `github.com/gin-gonic/gin`)
## Workflows
### 1. Quick Breaking Changes Check
**When to use**: You need a quick overview of breaking changes for a specific library.
**Process**:
1. Identify the library name and programming language
2. Use the `get_issues_for_library` tool with the library name and language
3. Review the returned breaking changes data
4. Summarize the most critical issues that could affect your codebase
**Example**:
```
Check breaking changes for the Python library "requests"
```
### 2. Comprehensive Breaking Changes Analysis
**When to use**: You need a detailed analysis with migration guidance for a library upgrade.
**Process**:
1. Use the `analyze_breaking_changes` prompt template
2. Provide the library name and language
3. The skill will guide you through:
- Breaking changes summary
- Version impact assessment
- Migration priority ranking
- Code examples (before/after)
- Action plan
- Testing recommendations
- Timeline estimation
**Example**:
```
Analyze breaking changes for django in Python and provide migration guidance
```
### 3. Dependency Audit
**When to use**: You want to audit all dependencies in a project for breaking changes.
**Process**:
1. Use the `dependency_audit_report` prompt template
2. Specify the project's primary programming language
3. For each dependency you provide:
- The skill will fetch breaking changes data
- Classify impact (High/Medium/Low/No Impact)
- Create an update strategy
- Provide timeline and resource planning
**Example**:
```
Create a dependency audit report for my Python project. Dependencies: requests, django, numpy
```
### 4. Version Upgrade Planning
**When to use**: You're planning to upgrade a library from one specific version to another.
**Process**:
1. Use the `version_upgrade_planner` prompt template
2. Provide:
- Library name
- Programming language
- Current version
- Target version
3. The skill will create:
- Pre-upgrade assessment
- Incremental upgrade strategy
- Code impact analysis
- Testing strategy
- Implementation plan
- Change management procedures
**Example**:
```
Plan an upgrade for express (JavaScript) from version 4.17.0 to 5.0.0
```
### 5. Compatibility Impact Summary
**When to use**: You need a focused summary of how breaking changes will affect compatibility.
**Process**:
1. Use the `compatibility_impact_summary` prompt template
2. Provide library name and language
3. The skill will analyze:
- API breaking changes
- Configuration changes
- Behavioral changes
- Integration impact
- Migration effort assessment
- Compatibility recommendations
**Example**:
```
Summarize compatibility impacts for phpmailer/phpmailer in PHP
```
## Best Practices
### Library Name Accuracy
- Always use the exact library name from your package manager file
- For namespaced packages (like PHP's `vendor/package`), include the full namespace
- When in doubt, check your `package.json`, `composer.json`, `requirements.txt`, etc.
### Language Specification
- Use lowercase language names: `python`, `javascript`, `java`, `php`, `ruby`, `go`, `rust`
- For JavaScript, use `javascript` (not `node` or `nodejs`)
- For TypeScript libraries, still use `javascript` as the language
### Incremental Analysis
- Start with a quick check to see if breaking changes exist
- Then use more detailed analysis prompts for libraries with significant changes
- Prioritize high-impact dependencies first
### Version Context
- When planning upgrades, always specify both current and target versions
- Consider intermediate versions if a direct upgrade seems risky
- Review changelogs alongside PatchEvergreen data for complete context
## Integration with MCP Server
This skill is designed to work with the PatchEvergreen MCP server. The server provides:
- **Tool**: `get_issues_for_library(library: str, language: str)` - Fetches breaking changes data
- **Prompts**: Five specialized prompt templates for different analysis scenarios
### MCP Server Connection
**For SSE (Server-Sent Events)**: The server runs on a hosted endpoint and can be accessed via HTTP/SSE transport.
**For stdio**: The server can run locally and communicate via standard input/output.
## Error Handling
If you encounter errors:
1. **Library not found**: Verify the library name matches exactly what's in your package manager file
2. **Language mismatch**: Ensure you're using the correct language identifier (lowercase, standard name)
3. **API errors**: The PatchEvergreen API may be temporarily unavailable; retry after a short delay
4. **No breaking changes**: Some libraries may not have breaking changes recorded in the database
## Examples
### Example 1: Quick Check
```
User: "What breaking changes exist for the Python requests library?"
Skill: Uses get_issues_for_library("requests", "python") and summarizes key breaking changes
```
### Example 2: Migration Planning
```
User: "I need to upgrade Django from 3.2 to 4.2. Help me plan this."
Skill: Uses version_upgrade_planner with library="django", language="python",
current_version="3.2", target_version="4.2" to create comprehensive plan
```
### Example 3: Project Audit
```
User: "Audit my JavaScript project dependencies: express, lodash, axios"
Skill: Uses dependency_audit_report for each library, creates impact matrix,
and prioritizes updates
```
## Limitations
- The PatchEvergreen database may not contain all libraries or all breaking changes
- Some breaking changes may be undocumented or not yet recorded
- The skill provides guidance but cannot guarantee complete coverage
- Always test upgrades in a development environment before production deployment
## Support
For issues, questions, or contributions related to this skill or the PatchEvergreen MCP server, please refer to the project repository.
---
*This skill leverages the PatchEvergreen database to help developers make informed decisions about library upgrades and migrations.*Related Skills
frontend-analyzer
Analyze React/Next.js components to extract typography, colors, layout, fonts, spacing systems, and design tokens. Identifies accessibility issues, responsive breakpoints, and component hierarchies.
error-root-analyzer
Comprehensive error analysis and root cause resolution. Use when programs fail, crash, or produce errors during execution. This skill performs deep debugging by identifying root causes (not just surface-level symptoms), conducting thorough module reviews to uncover related bugs and exceptions, and implementing holistic fixes that address all discovered issues.
codebase-analyzer
Understand existing codebase patterns and context to inform feature judgement.
Codebase Analyzer Skill
Analyze existing code to reverse-engineer specifications (requirements, design, tasks). Use when user wants to document existing code, refactor legacy systems, or understand what has been implemented. Identifies implemented features, architecture, and missing pieces.
code-architecture-analyzer
智能代码架构解读和分析工具。当用户请求分析项目架构、生成架构文档、识别设计模式、分析依赖关系、评估代码质量、或理解复杂项目结构时使用此skill。适用于接手新项目、代码审查、重构规划、技术选型评估等场景。
changeset
Create changesets for version bump, release notes, changelog, PR description, semver patch/minor/major, breaking changes, and documentation updates after code changes
awareness-analyzer
Diagnose audience awareness level and market sophistication using Eugene Schwartz's Breakthrough Advertising framework
ast-analyzer
Deep Abstract Syntax Tree analysis for understanding code structure, dependencies, impact analysis, and pattern detection at the structural level across multiple programming languages
analyzer-architecture-review
analyzerアプリケーションのアーキテクチャレビュー。Port&Adapterアーキテクチャ(ヘキサゴナルアーキテクチャ)のルールに従っているかをチェックします。新しいPort/Adapter/Usecase/Model追加時、PRレビュー時、またはアーキテクチャ違反の検出が必要な時に使用します。Port層の関数型定義、依存関係の方向、New*関数パターン、レイヤー分離などを検証します。
ai-file-analyzer
Analyze Adobe Illustrator (.ai) files to extract design information including text content, fonts, color palettes, vector paths, and generate high-resolution preview images. Use when analyzing logo files, design assets, or any Adobe Illustrator documents that need programmatic inspection.
review-changes
Orchestrate multiple review agents for a comprehensive pre-PR code review. Analyzes diff, verifies intent alignment with linked issues, and checks for broader codebase impacts. Use before opening a PR to catch bugs, security issues, silent failures, and performance problems. Keywords: review, code review, pre-PR, diff review, check changes, audit changes
pdf-analyzer
Analyze PDF, DOCX, and spreadsheet documents using vision models. Converts documents to images and extracts insights with layout preservation. Uses VT Code's native document processor (no container skills required).