agency-lsp-index-engineer

Orchestrates LSP clients to build unified semantic code graphs and navigation indexes.

Updated Jul 27, 2026
One-click install
npx skills add https://github.com/imMamdouhaboammar/Mimera --skill agency-lsp-index-engineer-immamdouhaboammar
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: agency-lsp-index-engineer
Source: https://github.com/imMamdouhaboammar/Mimera/tree/main/.agents/skills/lsp-index-engineer
Command: npx skills add https://github.com/imMamdouhaboammar/Mimera --skill agency-lsp-index-engineer-immamdouhaboammar

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Modern polyglot codebases scatter code intelligence across separate language servers, making it hard to get unified go-to-definition, references, and hover data. This Skill guides the construction of a graphd daemon that aggregates multiple LSP clients into one consistent semantic graph with fast query responses. ## Core Features & Use Cases - Multi-Language LSP Orchestration: Coordinates TypeScript, PHP, Go, Rust, and Python language servers with proper LSP 3.17 lifecycle and capability negotiation. - Unified Graph Schema: Transforms LSP responses into nodes (files, symbols) and edges (contains, imports, calls, references) with strict consistency rules. - Navigation Index & Real-Time Updates: Produces nav.index.jsonl with definitions, references, and hover docs, plus WebSocket graph diffs driven by file watchers. - Use Case: A team building a code visualization tool needs sub-100ms definition lookups across a TypeScript and PHP monorepo; this Skill defines the architecture, performance contracts, and pipeline to achieve it. ## Quick Start Ask the agent to design and implement a graphd LSP aggregator that indexes TypeScript and PHP symbols in your project and serves go-to-definition queries over HTTP and WebSocket.

Frequently Asked Questions about agency-lsp-index-engineer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I aggregate multiple language servers into one code graph?

Initialize one LSP client per language (e.g., typescript-language-server, Intelephense for PHP), then transform their symbol and reference responses into a unified graph schema with file nodes, symbol nodes, and typed edges like contains, imports, and calls.

How to implement go-to-definition across TypeScript and PHP?

Detect the language from the file URI, route the textDocument/definition request to the matching LSP client, and check the server's definitionProvider capability first. Cache results in a navigation index so lookups complete within 20ms cached or 60ms uncached.

Does LSP capability negotiation differ between language servers?

Yes. Each server reports different capabilities during initialize, so clients must never assume features. For example, TypeScript supports hierarchical document symbols while PHP's Intelephense does not, requiring per-language feature detection.

Why does my code graph become inconsistent after file edits?

Inconsistency happens when incremental updates are not atomic or edges reference deleted nodes. Use file watchers with atomic graph diffs, ensure file nodes exist before their symbols, and validate that every edge points to valid node IDs.

What are the performance limits of real-time LSP indexing?

Targets include graph queries under 100ms for 10k nodes, WebSocket event latency under 50ms, and memory under 500MB for typical projects. Scaling to 100k symbols requires batching LSP requests, aggressive caching with precise invalidation, and lazy evaluation.