SKILL·B3D258

lsp-cross-repo

blackwell-systems
Updated 1 month ago
71
3
71
View on GitHub
Othergeneral

About

This skill performs cross-repository analysis to find all callers of a library symbol across multiple consumer codebases. It's essential when refactoring shared libraries to understand downstream usage patterns. The skill leverages LSP capabilities like references and call hierarchy providers through the agent-lsp MCP server.

Quick Install

Claude Code

Recommended
Primary
npx skills add blackwell-systems/agent-lsp -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/blackwell-systems/agent-lsp
Git CloneAlternative
git clone https://github.com/blackwell-systems/agent-lsp.git ~/.claude/skills/lsp-cross-repo

Copy and paste this command in Claude Code to install this skill

Documentation

Requires the agent-lsp MCP server.

lsp-cross-repo

Multi-root cross-repo caller analysis for library + consumer workflows. Finds all usages of a library symbol across one or more consumer codebases in a single call.

Read-only — does not modify any files.

When to use

  • Before changing a library API: find all callers in every consumer
  • Before deleting a symbol: verify it has no cross-repo dependents
  • When a change in repo A might break repo B or C
  • Auditing how internal packages are used across services

Use /lsp-impact instead for single-repo blast-radius analysis.

Workflow

Step 1 — Initialize the primary workspace

Start the language server on the library root if not already running:

mcp__lsp__start_lsp({ "root_dir": "/path/to/library" })

Step 2 — Locate the library symbol

Find the symbol's definition to get file_path, line, and column:

mcp__lsp__find_symbol({ "query": "<symbol-name>" })

Pick the result in the library repo (not a test file).

Step 3 — Find all cross-repo references (primary step)

Call get_cross_repo_references with the symbol location and all consumer repo roots. This adds each consumer as a workspace folder, waits for indexing, runs find_references across all roots, and returns results partitioned by repo:

mcp__lsp__get_cross_repo_references({
  "symbol_file": "/abs/path/to/library/file.go",
  "line": <line>,
  "column": <column>,
  "consumer_roots": [
    "/abs/path/to/consumer-a",
    "/abs/path/to/consumer-b"
  ]
})

Returns:

  • library_references — usages within the library itself
  • consumer_references — a map of consumer-root → [file:line ...]
  • warnings — any roots that could not be indexed (check these manually)

Decision after Step 3:

ResultAction
No consumer refsSafe to change — verify warnings is empty first
Consumer refs foundRun /lsp-impact on each call site before editing
warnings non-emptyRe-add that root manually and retry Step 3

Step 4 — Callers and implementations (optional)

For a deeper look at how consumers call the symbol:

mcp__lsp__find_callers({
  "file_path": "<library-file>",
  "line": <line>,
  "column": <column>,
  "direction": "incoming"
})

For interfaces — all consumer-side implementations:

mcp__lsp__go_to_implementation({
  "file_path": "<library-file>",
  "line": <line>,
  "column": <column>
})

Output format

## Library-internal references
- file:line — brief context

## Consumer references

### /path/to/consumer-a
- file:line — brief context

### /path/to/consumer-b
- file:line — brief context

Decision guide

SituationAction
No consumer refs, warnings emptySafe to change
Consumer refs foundRun /lsp-impact on each call site before editing
warnings lists a consumer rootThat root failed indexing — check LSP logs
Consumer uses interface, not concrete typeUse go_to_implementation to find all implementors

Example

# Refactoring ParseConfig in a shared config library used by 3 services

start_lsp(root_dir="/repos/config-lib")
find_symbol(query="ParseConfig")        # find definition → file:42:6
get_cross_repo_references(
  symbol_file="/repos/config-lib/pkg/config/parser.go",
  line=42, column=6,
  consumer_roots=["/repos/api-service", "/repos/worker-service", "/repos/batch-job"]
)
# → library_references: 2
# → consumer_references: {api-service: [main.go:14, app.go:31], worker-service: [runner.go:8]}
# → warnings: []

GitHub Repository

blackwell-systems/agent-lsp
Path: skills/lsp-cross-repo
0
agentskillsai-agentsai-toolingclaudeclaude-codecode-intelligence
FAQ

Frequently asked questions

What is the lsp-cross-repo skill?

lsp-cross-repo is a Claude Skill by blackwell-systems. Skills package instructions and resources that Claude loads on demand, so Claude can perform lsp-cross-repo-related tasks without extra prompting.

How do I install lsp-cross-repo?

Use the install commands on this page: add lsp-cross-repo to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.

What category does lsp-cross-repo belong to?

lsp-cross-repo is in the Other category, tagged general.

Is lsp-cross-repo free to use?

Yes. lsp-cross-repo is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.

Related Skills

llamaguard
Other

LlamaGuard is Meta's 7-8B parameter model for moderating LLM inputs and outputs across six safety categories like violence and hate speech. It offers 94-95% accuracy and can be deployed using vLLM, Hugging Face, or Amazon SageMaker. Use this skill to easily integrate content filtering and safety guardrails into your AI applications.

View skill
cost-optimization
Other

This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.

View skill
sports-betting-analyzer
Other

This Claude Skill analyzes sports betting markets including spreads, over/unders, and prop bets by examining historical trends and situational statistics to identify value bets. It provides structured markdown output with actionable recommendations for educational purposes. Developers should use this for sports betting analysis tools while noting it's designed for entertainment/education only.

View skill
quantizing-models-bitsandbytes
Other

This skill quantizes LLMs to 8-bit or 4-bit precision using bitsandbytes, achieving 50-75% memory reduction with minimal accuracy loss. It's ideal for running larger models on limited GPU memory or accelerating inference, supporting formats like INT8, NF4, and FP4. The skill integrates with HuggingFace Transformers and enables QLoRA training and 8-bit optimizers.

View skill