swift-refactor-plan

swift-refactor-plan is a skill for Claude Code from drewalth/claude-xcindex. It costs 102 tokens per session (2,138 once invoked), scanned A, original, MIT.

A written plan for changing Swift or Objective-C code, covering every affected reference, file, risk, and recommended execution path.

In plain words
What is it for?
It plans symbol renames, method-signature changes, type extraction, protocol splitting, and API migrations, using indexed code references where available.
Why use it?
It shows the full impact of a refactor before code is edited, including risks from inheritance, protocol adoption, Objective-C bridging, public APIs, and missing tests.

Skill for Claude Code

Written for Claude Code: when-to-use in frontmatter. Also seen: mentions subagents.

Part of the xcindex plugin — 4 skills, 2 commands, 1 agent, 3 hooks, 1 MCP server shipped together

Good fit It plans symbol renames, method-signature changes, type extraction, protocol splitting, and API migrations, using indexed code references where available.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/drewalth/claude-xcindex/swift-refactor-plan
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add drewalth/claude-xcindex --skill swift-refactor-plan
Clone the repo
git clone --depth 1 https://github.com/drewalth/claude-xcindex

Made for: Claude Code.

Or install xcindex, the plugin that ships this one along with the rest of its 4 skills, 2 commands, 1 agent, 3 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for swift-refactor-plan

README.md
[![agentmods](https://agentmods.dev/badge/skills/drewalth/claude-xcindex/swift-refactor-plan/github.svg)](https://agentmods.dev/skills/drewalth/claude-xcindex/swift-refactor-plan)
Your own site
<a href="https://agentmods.dev/skills/drewalth/claude-xcindex/swift-refactor-plan"><img src="https://agentmods.dev/badge/skills/drewalth/claude-xcindex/swift-refactor-plan/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for swift-refactor-plan

Your own site · 80×15
<a href="https://agentmods.dev/skills/drewalth/claude-xcindex/swift-refactor-plan"><img src="https://agentmods.dev/badge/skills/drewalth/claude-xcindex/swift-refactor-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 102 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,138 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00102 $0.02138
Opus 5 $0.00051 $0.01069
Sonnet 5 $0.00020 $0.00428
Haiku 4.5 $0.00010 $0.00214

Measured 9d ago against content hash 9238dbb4e4ce, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

swift-refactor-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/swift-refactor-plan/SKILL.md · 215 lines

How it starts

The opening of the file, as written. The whole thing — 215 lines — stays where its author put it; the contents beside it link to each section on GitHub.

What this skill does

Builds a written plan for a Swift refactor. It does not edit code. The plan is what you hand to the user (or to swift-rename-symbol) so the actual edits can happen with full context.

A good plan answers four questions:

  1. What's the target? A specific symbol, or a file as a unit.
  2. What sites will change? Every reference, grouped by file and line.
  3. What can go wrong? Overrides, conformances, @objc bridging, public API crossing module boundaries, missing test coverage.
  4. How should it be executed? A specific recommended path — swift-rename-symbol, manual edits in N files, or "this needs more design work first."

The xcindex MCP tools provide the raw data; this skill orchestrates the queries and turns the result into a plan.

How to use

Step 1 — Decide the target shape

The user's phrasing tells you whether the unit is a symbol or a file.

  • "Rename fetchUser to loadUser" → symbol.
  • "What if I split NetworkClient.swift into two files" → file.
  • "Migrate from OldAuthAPI to NewAuthAPI" → multiple symbols (treat each separately, then aggregate).

If the user named only a file but the change is really about a symbol inside it (e.g. "what if I change the signature of the function in Auth.swift"), disambiguate before querying.

Step 2 — Gather data

Run only the queries that match the target shape. Skip anything irrelevant.

Symbol target:

  1. find_symbol(symbolName: <name>) → resolve to a USR. If multiple results, pick the one matching the user's stated module/kind, or ask.
  2. find_definition(usr: <usr from step 1>) → confirm the definition site.
  3. find_references(symbolName: <name>, maxResults: 200) → every reference.
  4. If the symbol is a method or property: find_overrides(usr: <usr from step 1>) — subclass overrides break silently if missed.
  5. If the symbol is a protocol or protocol requirement: find_conformances(usr: <usr from step 1>) — every conformer must update.

Read the full file on GitHub · 215 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago First seen · 215 lines · 102 tokens per session scan A 9238dbb4e4ce

Subscribe to this mod's changes

swift-refactor-plan is a skill published in the GitHub repository drewalth/claude-xcindex (3 stars, last pushed 1mo ago), licensed MIT. It adds 102 tokens to every session and 2,138 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

null-safety

Use when annotating nullability in Spring Boot 3 / Spring Framework 6 code, integrating Kotlin, or adding static nullability checks without assuming Spring Framework 7 JSpecify defaults.

rrezartprebreza/spring-boot-skills · 41 tokens

swift-ci-scaffold

Scaffold the repo side of Xcode Cloud for an XcodeGen / Tuist Swift project - generate ciscripts/cipostclone.sh (regen + guarded CIBUILDNUMBER stamping), propose a unit-test-only CI scheme, print the exact App Store Connect workflow checklist, and optionally install an opt-in .githooks/pre-push gate. Shows diffs and…

charlesjones-dev/claude-code-plugins-dev · 82 tokens

swift-concurrency-review

Review Swift 6 strict-concurrency and SwiftUI code for idiom and build-breaking issues - non-Sendable across actor boundaries, @MainActor witness vs nonisolated protocol requirements, Combine/ObservableObject usage, force-unwraps, #Predicate macro limits, the 6.3.x Binding IRGen crash, missing #if os() guards, and…

charlesjones-dev/claude-code-plugins-dev · 94 tokens

swift-verify

Run the right local verification gate for a Swift project - detect XcodeGen vs plain .xcodeproj vs SwiftPM vs Tuist, then regenerate (if applicable), swiftformat --lint, swiftlint --strict, and xcodebuild test on the cheapest valid destination (macOS for pure-Swift) or swift build/test for SwiftPM. Reports each stage…

charlesjones-dev/claude-code-plugins-dev · 86 tokens

bitcoin-libraries-bdk

Bitcoin Dev Kit (BDK): high-level Rust wallet library. Descriptor-based wallets, multiple chain backends (Esplora, Electrum, RPC), PSBT, fee estimation, coin selection. Bindings to Swift / Kotlin / Python / Flutter. USE WHEN: building wallets in Rust or via BDK bindings, integrating descriptor wallets into apps.

claude-dev-suite/claude-dev-suite · 81 tokens

bitcoin-libraries-bitcoinj

Java/Kotlin Bitcoin library. Long-standing (since 2011). Used in many JVM-based wallets.

claude-dev-suite/claude-dev-suite · 51 tokens