Skip to content
Back to skills

Ide Api Deprecation Tracker

ASecurity

Find all @deprecated APIs in the workspace, count their callers, and extract migration guidance. Produces a prioritized report sorted by call count so you know which deprecations to tackle first.

  • 30 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 2, 2026
ai-agentspythongoapi

Works with

  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add Oolab-labs/patchwork-os --skill ide-api-deprecation-tracker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ide Api Deprecation Tracker?

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

Security grade badge for Ide Api Deprecation Tracker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/oolab-labs-ide-api-deprecation-tracker/badge)](https://www.skillsdirectory.com/skills/oolab-labs-ide-api-deprecation-tracker)

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: ide-api-deprecation-tracker
description: Find all @deprecated APIs in the workspace, count their callers, and extract migration guidance. Produces a prioritized report sorted by call count so you know which deprecations to tackle first.
context: fork
agent: general-purpose
effort: low
argument-hint: "[optional: file, directory, or package name to scope the search]"
---

# IDE API Deprecation Tracker

## Prerequisites

1. Check if `getToolCapabilities` is available.
   - **Not available**: tell the user this skill requires the Claude IDE Bridge, then stop.
   - **Available**: call it. If `extensionConnected` is false: show the same message and stop. If true: proceed.

## Goal

Produce a Markdown report of all deprecated APIs ranked by caller count, with migration paths extracted from JSDoc.

## Workflow

### Phase 1: Find deprecated symbols

1. Note the argument: `$ARGUMENTS`
   - If a scope is given, pass it as the `include` glob to `searchWorkspace`
   - Otherwise, search workspace-wide

2. Call `searchWorkspace` with pattern `@deprecated` to find all files containing deprecation annotations. This catches:
   - `/** @deprecated ... */` JSDoc comments
   - `@deprecated` in TSDoc, Python docstrings, Go comments, etc.

3. For each match, call `getHover` at the annotated symbol's position to extract:
   - The full deprecation message (migration guidance)
   - The symbol name and type signature

### Phase 2: Count callers

4. For each deprecated symbol found in Phase 1:
   - Call `searchWorkspaceSymbols` to locate the symbol's definition precisely
   - Call `findReferences` on the definition to count all call sites
   - Record: symbol name, file, line, reference count, deprecation message

### Phase 3: Extract migration paths

5. For symbols with a migration path mentioned in `@deprecated` (e.g., "use `newFunction` instead"):
   - Extract the replacement symbol name from the hover text
   - Call `searchWorkspaceSymbols` to verify the replacement exists

### Phase 4: Report

```
## API Deprecation Report

Workspace: [project name]
Deprecated APIs found: N
Total call sites to migrate: M

### High Priority (>10 callers)

| API | File | Callers | Replacement | Deprecation message |
|-----|------|---------|-------------|---------------------|
| `oldFn()` | src/utils.ts:42 | 47 | `newFn()` ✓ | Use newFn() — supports async |
| ...

### Medium Priority (3–10 callers)

| API | File | Callers | Replacement | Deprecation message |
|-----|------|---------|-------------|---------------------|
| ...

### Low Priority (1–2 callers)

| API | File | Callers | Replacement |
|-----|------|---------|-------------|
| ...

### No Migration Path

These are deprecated with no documented replacement:
| API | File | Callers | Message |
|-----|------|---------|---------|
| ...

### Summary
- APIs to migrate: N
- Call sites to update: M
- APIs with clear migration path: K / N
- Suggestion: Start with high-priority APIs — they have the most callers and the clearest migration paths.
```

## Guidelines

- A "caller" is any `findReferences` result that is not the definition itself and not in a `*.test.ts` / `*_test.go` / `test_*.py` file (test-only callers are noted separately but don't count toward priority)
- If a replacement symbol is mentioned but `searchWorkspaceSymbols` finds nothing: flag as "replacement not found" — the migration target may have been renamed or removed
- Cap the report at 50 deprecated APIs; note total if more exist
- Keep the full report under 80 lines for readability

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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.