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-rename-symbolgit 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-rename-symbol)<a href="https://agentmods.dev/skills/drewalth/claude-xcindex/swift-rename-symbol"><img src="https://agentmods.dev/badge/skills/drewalth/claude-xcindex/swift-rename-symbol/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-rename-symbol"><img src="https://agentmods.dev/badge/skills/drewalth/claude-xcindex/swift-rename-symbol.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.00078 | $0.00877 |
| Opus 5 | $0.00039 | $0.00439 |
| Sonnet 5 | $0.00016 | $0.00175 |
| Haiku 4.5 | $0.00008 | $0.00088 |
Grade A, and why
swift-rename-symbol 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 12d 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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
What this skill does
Performs an index-backed rename: every reference site for the symbol's USR is edited, and only those sites. Same-named tokens in comments, string literals, or unrelated modules are left alone.
The work is delegated to the swift-refactor-specialist subagent. The main session doesn't read 50 files — it gets a short summary back.
How to use
- Confirm with the user that this is an execution step, not a scoping step.
If you're not sure, run
swift-refactor-planfirst and ask. - Announce: "I'll dispatch the rename to the swift-refactor-specialist."
- Hand the subagent: old name, new name, project path (or index store path).
- Review the returned summary; spot-check 2–3 representative sites if the rename touched many files.
What the subagent does
The subagent has find_symbol, find_references, find_definition,
find_overrides, find_conformances, blast_radius, Read, and Edit. It will:
find_symbol(symbolName: "OldName")→ resolve to a USR + definition site.- Confirm the USR is the right kind/module. If multiple match, return to the main session and ask.
find_references(symbolName: "OldName")→ every occurrence.Editeach site precisely. The definition site is handled last and may need a different replacement (e.g. class header vs. body usage).- Return: number of files touched, list of edited paths, anything skipped.
Edge cases the subagent flags
- Overloads — multiple USRs for the same name. Surface the choice; don't guess.
@objcbridging —find_referencesflags.dynamicroles. Objective-C call sites outside the index are invisible; warn the user.- Extensions in other files — included by the index; check
containedByroles in the result so extension headers update with the type. - Protocol conformances and overrides — use
find_overridesandfind_conformancesto avoid leaving a dangling subclass. - Test doubles / mocks —
coveringTestsfromblast_radiusshould also update; the subagent reports any mock site it edits.
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.
- 12d ago First seen · 70 lines · 78 tokens per session scan A 92895eace0ef
swift-rename-symbol is a skill published in the GitHub repository drewalth/claude-xcindex (3 stars, last pushed 1mo ago), licensed MIT. It adds 78 tokens to every session and 877 once invoked, about $0.0004 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
kotlin-patterns
Idiomatic Kotlin patterns, best practices, and conventions for building robust, efficient, and maintainable Kotlin applications with coroutines, null safety, and DSL builders.
kotlin-testing
Kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, and Kover coverage. Follows TDD methodology with idiomatic Kotlin practices.
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…