К основному содержанию
скилл CX Codex

lsp-cross-repo — скилл для Claude Code: что делает и как установить

Находит вызовы символов общей библиотеки во всех зависимых репозиториях через LSP. Помогает оценить последствия рефакторинга до внесения ломающих правок.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add blackwell-systems/agent-lsp --skill lsp-cross-repo -a claude-code
Открыть на GitHub

Что делает lsp-cross-repo

Скилл подключает несколько репозиториев к языковому серверу и находит места использования библиотечных функций, типов или интерфейсов. Работает в режиме только для чтения и файлы не модифицирует. Для анализа одного проекта автор советует брать /lsp-impact, тогда как lsp-cross-repo рассчитан на связку библиотеки и зависимых сервисов.

Сначала скилл запускает LSP в корне библиотеки через инструмент mcp__lsp__start_lsp и определяет координаты символа с помощью mcp__lsp__find_symbol. Затем через mcp__lsp__get_cross_repo_references добавляет каталоги зависимых проектов как папки рабочего пространства, дожидается индексации и собирает ссылки, разделяя их по репозиториям. При необходимости проверяются входящие вызовы через mcp__lsp__find_callers или реализации интерфейсов через mcp__lsp__go_to_implementation.

Без запущенного MCP-сервера agent-lsp инструмент работать не будет. Сервер языка также должен поддерживать возможность referencesProvider. Если индексация какого-то проекта завершилась сбоем, путь к нему попадёт в список предупреждений warnings.

Какие задачи решает

  • Найти вызовы функции библиотеки во всех зависимых микросервисах
  • Проверить зависимости перед удалением устаревшего метода или типа
  • Найти все реализации библиотечного интерфейса в коде потребителей
  • Собрать список мест правок перед изменением сигнатуры API

Примеры запросов агенту

  • Найди все вызовы функции ParseConfig из /repos/config-lib в проектах /repos/api-service и /repos/worker.
  • Проверь, использует ли кто-то интерфейс DataStore из библиотеки перед его рефакторингом.
  • Покажи всех потребителей метода ValidateToken в сервисах из каталога /repos/auth-client.

Как установить lsp-cross-repo

1Через Skills CLI (Vercel)

npx skills add blackwell-systems/agent-lsp --skill lsp-cross-repo -a claude-code

2Вручную: положить файлы

~/.claude/skills/lsp-cross-repo/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/lsp-cross-repo/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о lsp-cross-repo

Как установить lsp-cross-repo в Claude Code?

Выполните команду npx skills add blackwell-systems/agent-lsp --skill lsp-cross-repo -a claude-code. Скилл запишется в файл ~/.claude/skills/lsp-cross-repo/SKILL.md.

Что делает lsp-cross-repo?

Скилл находит точные ссылки на выбранный символ библиотеки в одном или нескольких репозиториях-потребителях. Он группирует результаты по проектам и показывает предупреждения, если отдельный репозиторий не удалось проиндексировать.

Что требуется для работы скилла?

Требуется настроенный MCP-сервер agent-lsp. Используемый языковой сервер должен поддерживать capability referencesProvider.

Исходный текст

SKILL.md · MIT
---
name: lsp-cross-repo
description: Cross-repository analysis — find all callers of a library symbol in one or more consumer repos. Use when refactoring a shared library and need to understand how consumers use it.
argument-hint: "[symbol-name] in [library-file:line:col] used by [consumer-root ...]"
user-invocable: true
allowed-tools: mcp__lsp__start_lsp mcp__lsp__find_symbol mcp__lsp__get_cross_repo_references mcp__lsp__add_workspace_folder mcp__lsp__list_workspace_folders mcp__lsp__go_to_implementation mcp__lsp__find_callers mcp__lsp__inspect_symbol
license: MIT
compatibility: Requires the agent-lsp MCP server (github.com/blackwell-systems/agent-lsp)
metadata:
  required-capabilities: referencesProvider
  optional-capabilities: implementationProvider callHierarchyProvider workspaceSymbolProvider
---

> 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:**

| Result | Action |
|--------|--------|
| No consumer refs | Safe to change — verify `warnings` is empty first |
| Consumer refs found | Run `/lsp-impact` on each call site before editing |
| `warnings` non-empty | Re-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

| Situation | Action |
|-----------|--------|
| No consumer refs, warnings empty | Safe to change |
| Consumer refs found | Run `/lsp-impact` on each call site before editing |
| `warnings` lists a consumer root | That root failed indexing — check LSP logs |
| Consumer uses interface, not concrete type | Use `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: []
```

© blackwell-systems · MIT · blackwell-systems/agent-lsp

Похожие скиллы

Все скиллы по теме «Код-ревью и рефакторинг» →
improve-codebase-architecture Matt Pocock Скилл ищет архитектурные узкие места в кодовой базе и показывает варианты углубления модулей в HTML-отчёте. Подойдёт для ревью перед рефакторингом. 1 163 035установок tdd Matt Pocock Скилл управляет циклом красный-зелёный в TDD: проверяет, что тесты пишутся до кода, держит их на уровне публичных интерфейсов и не завязывает на внутреннюю структуру. 1 141 062установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. 990 453установок codebase-design Matt Pocock Скилл помогает проектировать модули с небольшим интерфейсом и скрытой внутри сложностью. Подходит для рефакторинга, тестируемости и поиска чистого seam. 850 344установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. 774 700установок

Из того же набора25

lsp-explore Собирает сведения о символе: определение, тип, реализации, вызывающие функции и ссылки. Пригодится, когда нужно разобраться в незнакомом коде. CX Codex +1 ★ 165звёзд репо lsp-edit-symbol Меняет функцию, тип или переменную по имени, когда точный файл и позиция неизвестны. Работает через MCP-сервер agent-lsp. CX Codex +1 ★ 165звёзд репо lsp-edit-export Пошаговый сценарий безопасного изменения публичных функций, типов и API. Сначала находит все вызовы через LSP, запрашивает подтверждение и проверяет сборку. CX Codex +1 ★ 165звёзд репо lsp-docs Скилл ищет сведения о символе через LSP, документацию локального toolchain и исходное определение. Выручает, когда hover пустой или зависимость не индексируется. CX Codex +1 ★ 165звёзд репо lsp-dead-code Скилл перечисляет экспортируемые символы файла и проверяет каждый на ссылки по всему проекту. Помогает понять, какие экспорты можно удалять. CX Codex +1 ★ 165звёзд репо lsp-concurrency-audit Скилл проверяет поля типа или файла на доступ из конкурентных контекстов и выдаёт отчёт по безопасности. Пригодится перед рефакторингом или при разборе потенциальных гонок данных. CX Codex +1 ★ 165звёзд репо lsp-architecture Собирает структурный обзор кодовой базы: языки, пакеты, точки входа, зависимости и горячие файлы. Один вызов вместо ручного обхода репозитория. CX Codex +1 ★ 165звёзд репо agent-lsp Координирует языковые серверы и предоставляет агенту 65 инструментов для работы с кодом на 32 языках без постоянного повторного сканирования. CX Codex +1 ★ 165звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой