What problem does it solve? Retiring a public API, argument, behavior, or package location without breaking existing users is hard: vague warnings, duplicated implementations, and premature removals cause downstream breakage. This Skill provides a structured deprecation workflow that keeps old interfaces working as thin compatibility layers while guiding users to a canonical replacement. ## Core Features & Use Cases - Structured Deprecation Planning: Requires an explicit deprecation statement covering the old interface, canonical replacement, reason, transition behavior, migration path, and removal policy before any code changes. - Delegation-Based Compatibility: Guides you to keep one canonical implementation and turn deprecated functions or arguments into thin wrappers that warn and delegate, covering function renames, argument renames, moved functionality, and return-format changes. - Transition Testing and Documentation: Ensures the deprecated path preserves behavior, internal callers migrate to the replacement, documentation teaches the new API, and removal happens as a separate change per project policy. - Use Case: When renaming getRDA() to getJointRDA() in an R package, use this Skill to create a warning wrapper that delegates to the new function, update docs and NEWS, migrate internal callers, and schedule removal for a later release. ## Quick Start Ask the AI to deprecate an old function or argument in favor of its replacement while preserving behavior and emitting a clear migration warning.