principle-migrate-callers-then-delete-legacy-apis
An agent skill by cursor, from cursor/plugins. Tags: api, cleanup, development, migration, refactoring.
What it does
Apply when introducing a new internal API while old callers still exist. Migrate callers and delete the old API in the same wave instead of preserving compatibility layers.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add cursor/plugins --skill principle-migrate-callers-then-delete-legacy-apis
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/cursor/plugins
cp -r plugins/pstack/skills/principle-migrate-callers-then-delete-legacy-apis ~/.claude/skills/principle-migrate-callers-then-delete-legacy-apis
Safety box score
Grade A, minimal risk: 7 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill is documentation-only: it ships no scripts, no installers, and no network or privilege-bearing code. Its main effect is to encourage coordinated breaking refactors that delete legacy APIs and any tests tied only to the old implementation.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 0 (none) | The only file is `SKILL.md`; there are no shell commands, scripts, or code-evaluation paths to execute. |
| Network access | 0 (none) | No downloads, uploads, API calls, or remote fetches are present in the skill content. |
| Filesystem reach | 1 (low) | It explicitly tells the agent to modify and delete project files, including `"delete tests that only protect pre-refactor implementation details"`, but the scope is the repository/workspace. |
| Secrets & credentials | 0 (none) | There is no mention of tokens, keys, passwords, `.env` files, keychains, or credential access. |
| Privilege & persistence | 0 (none) | The skill does not request sudo, global installs, service registration, or OS/shell configuration changes. |
| Instruction hijack surface | 0 (none) | It contains no hidden instructions, prompt-injection patterns, or requests to ignore higher-priority guidance. |
| Irreversible actions | 1 (low) | Its purpose is to remove backward-compatibility layers and tests in one wave, but it does not itself push, deploy, publish, or act outside the local codebase. |
| Transparency | 0 (none) | There are no binaries, encoded blobs, or unreviewable/generated payloads; the full content is readable markdown. |
Before installing
- Confirm this skill will only be used on private/internal APIs.
- Check whether the repo has any downstream consumers or published contracts before using it.
- Read `SKILL.md` with the owning team to ensure deleting old tests will not remove important regression coverage.
Rated 2026-10-20 by an automated review of 1 file from the skill's repository.
Source
- Repository
- cursor/plugins (all skills from this repository)
- Path
- pstack/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md
- Branch
- main
- Collection
- cursor
- Updated
- 2026-09-23
Related skills
- deslop — Remove AI-generated code slop and clean up code style
- principle-laziness-protocol — Apply when refactoring, evaluating diff size, or tempted to add abstractions, layers, or signal threading.
- principle-subtract-before-you-add — Apply when sequencing an addition, refactor, or rewrite. Remove dead code, redundant validators, and stub references first, then build on the simpler base.
- app-platform-migration — Migrate applications from Heroku, AWS, Render, Railway, Fly.io, or Docker Compose to DigitalOcean App Platform. Use when converting existing apps.
- cursor-sdk — Guide users building apps, scripts, CI pipelines, or automations on top of the Cursor TypeScript SDK (`@cursor/sdk`).
- expo-dom — Framework (OSS). Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.