From xcindex
Find every semantic reference to a Swift or Objective-C symbol via Xcode's pre-built index — no false positives from comments, string literals, or similarly-named symbols in unrelated modules. Use this when planning a change to scope its surface, before grep/ripgrep, and before reading files to trace call chains.
How this skill is triggered — by the user, by Claude, or both
Slash command
/xcindex:swift-find-referencesWhen to use
Trigger on phrasing like "where is X called", "what uses X", "find all references to X", "callers of fetchUser", "who calls this", "what depends on Y", "trace the callers of Z", "estimate the impact of changing the signature of X". Reach for this skill BEFORE running rg/grep on .swift files, BEFORE reading multiple files to trace a call chain, and BEFORE editing any public API. For broader scoping (sites + risks + recommended execution path) use swift-refactor-plan instead. Skip only when the symbol is obviously local to a single file or the user is searching string literals/comments (use Grep for those).
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Maps a symbol name to its semantic reference set using the Xcode IndexStoreDB.
Maps a symbol name to its semantic reference set using the Xcode IndexStoreDB.
The index distinguishes a UserService class from a userService variable, from
a UserService token in a comment, and from UserService defined in another
module. Grep cannot.
Disambiguate first. Call find_symbol with the name to get candidate USRs.
Find references. Call find_references with the symbolName.
maxResults: 100 is the default and covers most symbols.200–500.Read surgically. Open only the files in the result, and only ±10 lines around each reported occurrence. Do not read whole files — the index already told you the lines that matter.
BAD: rg "UserService" --include="*.swift"
→ 40 noisy matches, 8 full file reads, unrelated comment hits
GOOD: find_references("UserService")
→ 6 exact locations, 6 focused ±10-line reads
User: "What calls fetchUser?"
find_symbol(symbolName: "fetchUser") → USR s:9MyApp...fetchUseryySiFfind_references(symbolName: "fetchUser") → 4 call sitesfind_references will
silently miss new sites. The MCP server appends a freshness warning when it
detects stale results; honor it.npx claudepluginhub drewalth/claude-xcindex --plugin xcindexSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.