What problem does it solve? Changing a package's public interface—renaming functions, altering arguments, defaults, or return types—risks breaking downstream users and creating API churn. This Skill enforces a disciplined process so every public contract change is justified, narrowly scoped, and paired with an appropriate compatibility strategy. ## Core Features & Use Cases - Structured API Change Statement: Requires documenting the current contract, the concrete problem, the proposed contract, and the compatibility plan before any implementation begins. - Strategy Guidance per Change Type: Provides dedicated procedures for function renames, argument renames, default changes, return-type changes, and adding or removing arguments, each with preservation boundaries. - Maturity-Based Compatibility: Matches transition strategies (hard change, alias, delegation, deprecation) to package maturity, from pre-release to widely used stable APIs. - Use Case: When renaming an exported function like getRDA() to getJointRDA() to avoid an ecosystem naming collision, this Skill ensures the rename changes only the name—delegating the old name, preserving behavior, updating tests and docs, and keeping refactors in separate PRs. ## Quick Start Ask the AI to plan renaming an exported function in your package while preserving backward compatibility and updating tests and documentation.