lci-code-insight

Navigate, probe, and evaluate lci's code_insight MCP codebase-intelligence report and analyzers.

Updated Apr 27, 2026
One-click install
npx skills add https://github.com/standardbeagle/lci-cpp --skill lci-code-insight-standardbeagle
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: lci-code-insight
Source: https://github.com/standardbeagle/lci-cpp/tree/main/.agents/skills/lci-code-insight
Command: npx skills add https://github.com/standardbeagle/lci-cpp --skill lci-code-insight-standardbeagle

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working on lci's code_insight MCP tool means navigating a 2400-line handler, a dozen analyzers under src/analysis, attribute-scoping gates, and golden tests, with no CLI or HTTP route to fall back on. This Skill maps every surface, code path, config knob, and known trap so you can debug artifacts, re-pin goldens, or benchmark the report without rediscovering the architecture. ## Core Features & Use Cases - Code map and surface table: Entry points, handler dispatch branches, LCF section emitters, and analyzer files (health, layers, modules, features, coupling, naming, clones, dead code, security, impact, error-handling BETA) with exact file:line references. - Probe recipes and test commands: Ready-to-run one-shot MCP stdio calls against the synthetic multi-lang corpus, plus gtest filters and ctest commands for goldens and real-project suites. - Invariants and traps: Documented pitfalls such as call-edge precision limits, dynamic-dispatch over-counting, attribute scoping (D1 fix), hash-order determinism, and stale persistent index servers. - Product comparison: Claim-by-claim comparison axes against SonarQube, CodeScene, CodeQL, lizard, madge, and fallow, with honest gaps (no dataflow, no persisted reports, MCP-only LCF output). - Use Case: You see an inflated cycle count under CYCLES for a Kotlin repo. Use this Skill to trace the artifact to bare-name call resolution, read the quality-plan doc it cites, and verify the fix with the unified probe recipe. ## Quick Start Ask the agent to run the unified code_insight probe against the multi-lang test corpus and explain any surprising section in the output.

Frequently Asked Questions about lci-code-insight

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

FAQPage Schema
How do I run the code_insight MCP tool from the command line?▼

code_insight has no CLI verb or HTTP route; the only transport is `lci mcp` over stdio. Pipe a JSON-RPC tools/call message into `build/release/src/lci mcp -r <corpus>` and read the last line for the LCF report.

How does lci code_insight compare to SonarQube or CodeQL?▼

lci emits a token-budgeted LCF report over MCP with inferred modules and heuristic layers, while SonarQube and CodeQL offer declared rules and dataflow analysis. lci has no taint analysis, no persisted trend history, and no JSON emitter for this tool.

Why does code_insight report inflated cycles or layer violations?▼

Call-edge precision is the usual root cause: bare-name resolution and stdlib name collisions (Kotlin apply, C++ size/find) fabricate edges. Fixes include foreign-receiver rejection and arity-preferring resolution, but same-arity overloads remain a known residual.

Can code_insight detect dead code reliably?▼

Dead-code detection is annotation-curated, not a verdict. Dynamic dispatch makes reachability a lower bound, so `analysis=deadcode flow=true` emits an @lci: annotation worklist that shrinks on re-run rather than a definitive unused-code list.

Why does code_insight return index unavailable on a large repo?▼

A one-shot `lci mcp` run builds the index inline and may answer before it is ready. Also run `lci shutdown --all` after rebuilding, since stale persistent index servers shadow new tool definitions and parameters.

How do I enable the error-handling and resource-management sections?▼

These BETA sections ship dark behind a gate. Set `insight { error_report "on" }` in .lci.kdl or export LCI_ERROR_REPORT=on; with the gate closed, analysis=errors returns available=false with a reason and hint instead of an error.