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.
npx skills add drewalth/claude-xcindex --skill swift-refactor-plangit clone --depth 1 https://github.com/drewalth/claude-xcindexWrote 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.
[](https://agentmods.dev/skills/drewalth/claude-xcindex/swift-refactor-plan)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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:
- What's the target? A specific symbol, or a file as a unit.
- What sites will change? Every reference, grouped by file and line.
- What can go wrong? Overrides, conformances,
@objcbridging, public API crossing module boundaries, missing test coverage. - 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
fetchUsertoloadUser" → symbol. - "What if I split
NetworkClient.swiftinto two files" → file. - "Migrate from
OldAuthAPItoNewAuthAPI" → 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:
find_symbol(symbolName: <name>)→ resolve to a USR. If multiple results, pick the one matching the user's stated module/kind, or ask.find_definition(usr: <usr from step 1>)→ confirm the definition site.find_references(symbolName: <name>, maxResults: 200)→ every reference.- If the symbol is a method or property:
find_overrides(usr: <usr from step 1>)— subclass overrides break silently if missed. - If the symbol is a protocol or protocol requirement:
find_conformances(usr: <usr from step 1>)— every conformer must update.
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.
- 9d ago First seen · 215 lines · 102 tokens per session scan A 9238dbb4e4ce
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.
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.
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…
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…
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…
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.
bitcoin-libraries-bitcoinj
Java/Kotlin Bitcoin library. Long-standing (since 2011). Used in many JVM-based wallets.