Skill code-intelligence
Navega y refactoriza código seleccionando entre herramientas de LSP, búsqueda de texto exacto y búsqueda semántica según los requisitos específicos de la tarea.
- Estrellas en GitHub
- 49
- Archivos
- 4
- Último commit
- 10 nov 2026
- Licencia
- Apache-2.0
- Herramientas permitidas
- —
¿Qué hace la skill code-intelligence?
code-intelligence es una agent skill. Navega y refactoriza código seleccionando entre herramientas de LSP, búsqueda de texto exacto y búsqueda semántica según los requisitos específicos de la tarea.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill code-intelligence
La función principal de este SKILL es la navegación y refactorización de bases de código en cualquier lenguaje. Proporciona a los desarrolladores una forma estructurada de elegir entre diferentes métodos de búsqueda y navegación según los requisitos específicos de una tarea de programación. En lugar de depender de un único método, un agente utiliza este SKILL para decidir si emplea un Language Server Protocol (LSP) para relaciones de símbolos, ripgrep (rg) para coincidencias de texto exacto o búsqueda semántica para el descubrimiento conceptual.
Cuando un agente necesita realizar operaciones complejas como renombrar símbolos o encontrar jerarquías de llamadas, utiliza el LSP anclando las llamadas a posiciones de archivo específicas. Si el language server no está disponible o no devuelve resultados tras un reintento de arranque en frío, el SKILL gestiona una etapa de degradación para pasar a la búsqueda basada en texto. Se asegura de que cualquier sustitución de herramientas se comunique claramente al usuario, incluyendo la herramienta prevista, la herramienta utilizada realmente y el impacto en la confianza o integridad de la operación.
Lo que un agente puede hacer con ella
- 1Realizar renombramientos de símbolos segurosPide al agente que renombre una función en todo el espacio de trabajo utilizando semántica específica del lenguaje.
- 2Verificar la capacidad de respuesta del language serverDetermina si un language server está funcionando realmente cuando las búsquedas de símbolos no devuelven resultados.
Escrito a partir del SKILL.md de la skill. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar la skill code-intelligence
Cada comando copia la carpeta de la skill al directorio de skills del cliente. Reinicia el cliente o inicia una nueva sesión para cargarla.Instalar la skill code-intelligence en Plugin
/plugin marketplace add antonbabenko/agent-plugins /plugin install code-intelligence@antonbabenko
Instalar la skill code-intelligence en Claude Code
~/.claude/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.claude/skills/code-intelligenceInstalar la skill code-intelligence en Claude Code (project)
.claude/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence .claude/skills/code-intelligenceInstalar la skill code-intelligence en Codex
~/.agents/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.agents/skills/code-intelligenceInstalar la skill code-intelligence en Gemini CLI
~/.gemini/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.gemini/skills/code-intelligenceInstalar la skill code-intelligence en Claude.ai
npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence code-intelligence && zip -r code-intelligence.zip code-intelligence # claude.ai → Customize → Skills → + → Create skill → Upload a skill → code-intelligence.zip
SKILL.md
Ver en GitHubCode Intelligence
Pick the search tool by task, not by habit. Generic and language-agnostic;
domain skills extend it with server capability matrices and ecosystem
prerequisites - for example the terraform-skill plugin (same marketplace)
owns the terraform-ls capability matrix and Terraform setup. It is
model-triggered guidance, not enforcement.
Tool Precedence
| Goal | Use | Tradeoff |
|---|---|---|
| Symbol relationships: definition, references, call sites, rename safety | Language server (LSP) at a position | Needs a running server + indexed workspace |
| Exact text, known name, exhaustive enumeration, config/value files | rg then Read |
No semantic scope; matches strings in comments too |
| Conceptual / fuzzy / "where might this live" / cross-repo discovery | A semantic/neural search tool, if the host provides one | Not exact; never use for counts or completeness claims |
Detail: Precedence Table, When LSP Is Wrong.
Calling the LSP
- DO call at a position (
file:line:character). Anchor the position with a text search for a known occurrence first. - DON'T pass a bare symbol name and expect resolution. A name-only call that returns empty is a usage defect, not server failure.
- DO Read the returned locations for source text; LSP returns locations and symbols, not the lines.
- DO retry once on a cold start: the first call after launch may return empty while the server indexes.
- DO prefer the server's own operation when it advertises it: use
rename/prepareRenamefor renames and call hierarchy for callers - they carry language-specific semantics a manual pass misses. - DON'T report an unsupported operation as a finding. When the server lacks
one, redirect:
findReferences(then filter to call sites) instead of call hierarchy; enumerate references then hand-edit instead of a rename provider.
Detail: Position Anchoring, Unsupported Operations.
Degradation Gate
Two distinct cases:
- No LSP at all (host exposes no language-server tool, or the server fails to start): that IS unavailability. Disclose it on the first line (see below) and use text search. The gate does not apply - there is nothing to gate.
- LSP callable but a position-anchored call returns empty: do NOT conclude
"unavailable" yet. Pass ALL three:
documentSymbolon an in-scope file returns symbols -> server responsive (responsiveness only, NOT proof of complete reference coverage).- The failing call was position-anchored (not symbol-name-only).
- That anchored call still returned empty after a cold-start retry.
Only after the three-part case passes is a disclosed text fallback warranted.
Detail: Degradation Gate.
Disclose Substitutions
State any tool substitution OR omission on the FIRST line of the response, not in a later summary (post-hoc accounting is a rule violation):
Intended: <tool>. Actual: <tool>. Reason: <why>. Impact: <completeness/confidence>.
Detail: Disclosure Format.
Do Not Invent a Missing Tool
Before claiming a tool (e.g. rg) is shimmed, aliased, or absent, prove it:
type -a <tool>, ls -l the resolved path, <tool> --version shows the
expected banner. An unproven "tool is missing" claim followed by a fallback is
a verification failure, not a sanctioned substitution.
If genuinely absent or aliased: prefer the LSP for semantic tasks; for exact
text use the host-approved text search; git grep / grep only as an
explicitly disclosed last resort, never the default substitute.
Detail: Anti-Phantom-Shim Proof.
Archivos de esta skill
4Preguntas sobre la skill code-intelligence
¿Cómo instalo la skill code-intelligence en Claude Code?
Ejecuta npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.claude/skills/code-intelligence. Claude Code carga las skills desde ~/.claude/skills (todos los proyectos) o .claude/skills (un proyecto) y usa una skill cuando su descripción coincide con la tarea.
¿Qué clientes pueden usar la skill code-intelligence?
Cualquier cliente que lea el formato Agent Skills: Claude Code, Codex, Gemini CLI y claude.ai (subir como ZIP). Los scripts de la skill se ejecutan solo donde el cliente permite la ejecución de código.
¿Cuándo debería usar un Language Server (LSP) en lugar de una búsqueda de texto?
Usa LSP para relaciones de símbolos como definiciones, referencias, sitios de llamada y renombramientos seguros, siempre que haya un servidor en ejecución y un espacio de trabajo indexado disponible.
¿Cómo debo manejar una situación en la que una llamada de LSP no devuelve resultados?
No concluyas inmediatamente que la herramienta no está disponible. Verifica si el servidor responde usando documentSymbol, asegúrate de que la llamada esté anclada a una posición y reintenta una vez para considerar posibles arranques en frío.
¿Cuál es el formato requerido para informar sobre la sustitución de herramientas?
Las sustituciones deben indicarse en la primera línea de la respuesta usando el formato: Intended: <tool>. Actual: <tool>. Reason: <why>. Impact: <completeness/confidence>.