code-intelligence skill
Navigates and refactors code by selecting between LSP, exact-text, and semantic search tools based on the specific task requirements.
- GitHub 스타
- 49
- 파일
- 4
- 마지막 커밋
- 2026년 11월 10일
- 라이선스
- Apache-2.0
- 허용된 도구
- —
code-intelligence skill은 무엇을 하나요?
code-intelligence은(는) agent skill입니다. Navigates and refactors code by selecting between LSP, exact-text, and semantic search tools based on the specific task requirements.
skill의 SKILL.md에서 생성된 요약입니다.
code-intelligence skill 정보
Navigating and refactoring codebases across any language is the primary function of this skill. It provides developers with a structured way to choose between different search and navigation methods based on the specific requirements of a coding task. Instead of relying on a single method, an agent uses this skill to decide whether to employ a Language Server Protocol (LSP) for symbol relationships, ripgrep (rg) for exact text matches, or semantic search for conceptual discovery.
When an agent needs to perform complex operations like renaming symbols or finding call hierarchies, it uses the LSP by anchoring calls to specific file positions. If the language server is unavailable or fails to return results after a cold-start retry, the skill manages a degradation gate to transition to text-based searching. It ensures that any tool substitutions are clearly disclosed to the user, including the intended tool, the actual tool used, and the impact on confidence or completeness.
agent가 수행할 수 있는 작업
- 1Perform safe symbol renamingAsk the agent to rename a function across a workspace using language-specific semantics.
- 2Verify language server responsivenessDetermine if a language server is actually working when symbol lookups return no results.
skill의 SKILL.md를 기반으로 작성되었습니다. 모든 사용 사례는 해당 문서의 인용구와 대조 확인되었습니다.
code-intelligence skill 설치 방법
각 명령은 skill 폴더를 클라이언트의 skills 디렉터리에 복사합니다. 클라이언트를 재시작하거나 새 세션을 시작하여 로드하세요.플러그인에 code-intelligence skill 설치
/plugin marketplace add antonbabenko/agent-plugins /plugin install code-intelligence@antonbabenko
Claude Code에 code-intelligence skill 설치
~/.claude/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.claude/skills/code-intelligenceClaude Code (project)에 code-intelligence skill 설치
.claude/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence .claude/skills/code-intelligenceCodex에 code-intelligence skill 설치
~/.agents/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.agents/skills/code-intelligenceGemini CLI에 code-intelligence skill 설치
~/.gemini/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.gemini/skills/code-intelligenceClaude.ai에 code-intelligence skill 설치
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
GitHub에서 보기Code 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.
이 스킬의 파일
4code-intelligence skill 질문
Claude Code에 code-intelligence skill을 어떻게 설치하나요?
npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.claude/skills/code-intelligence를 실행합니다. Claude Code는 ~/.claude/skills(모든 프로젝트) 또는 .claude/skills(한 프로젝트)에서 skills를 로드하며, 설명이 작업과 일치할 때 skill을 사용합니다.
code-intelligence skill을 사용할 수 있는 클라이언트는 무엇인가요?
Agent Skills 형식을 읽는 모든 클라이언트(Claude Code, Codex, Gemini CLI, claude.ai(ZIP으로 업로드))가 사용할 수 있습니다. skill 내 스크립트는 클라이언트가 코드 실행을 허용하는 경우에만 실행됩니다.
When should I use a Language Server (LSP) instead of text search?
Use LSP for symbol relationships such as definitions, references, call sites, and safe renames, provided a running server and indexed workspace are available.
How should I handle a situation where an LSP call returns no results?
Do not immediately conclude the tool is unavailable. Verify if the server is responsive using documentSymbol, ensure the call was position-anchored, and retry once to account for cold starts.
What is the required format for disclosing tool substitutions?
Substitutions must be stated on the first line of the response using the format: Intended: <tool>. Actual: <tool>. Reason: <why>. Impact: <completeness/confidence>.