Skill code-intelligence
Menavigasi dan melakukan refactor kode dengan memilih antara tool LSP, exact-text, dan semantic search berdasarkan kebutuhan spesifik tugas Anda.
- Bintang GitHub
- 49
- File
- 4
- Commit terakhir
- 10 Nov 2026
- Lisensi
- Apache-2.0
- Tool yang diizinkan
- —
Apa fungsi skill code-intelligence?
code-intelligence adalah agent skill. Menavigasi dan melakukan refactor kode dengan memilih antara tool LSP, exact-text, dan semantic search berdasarkan kebutuhan spesifik tugas Anda.
Ringkasan dibuat dari SKILL.md skill ini.
Tentang skill code-intelligence
Menavigasi dan melakukan refactor codebase di berbagai bahasa pemrograman adalah fungsi utama dari skill ini. Skill ini memberikan cara terstruktur bagi developer untuk memilih di antara berbagai metode pencarian dan navigasi berdasarkan kebutuhan spesifik dari sebuah tugas coding. Alih-alih hanya mengandalkan satu metode, sebuah agent menggunakan skill ini untuk memutuskan apakah akan menggunakan Language Server Protocol (LSP) untuk hubungan antar simbol, ripgrep (rg) untuk pencocokan teks eksak, atau semantic search untuk penemuan konseptual.
Ketika agent perlu melakukan operasi kompleks seperti me-rename simbol atau mencari call hierarchy, ia akan menggunakan LSP dengan menjangkar pemanggilan pada posisi file tertentu. Jika language server tidak tersedia atau gagal mengembalikan hasil setelah mencoba kembali pasca cold-start, skill ini akan mengelola degradation gate untuk beralih ke pencarian berbasis teks. Skill ini memastikan bahwa setiap penggantian tool diinformasikan dengan jelas kepada Anda, termasuk tool yang direncanakan, tool yang sebenarnya digunakan, serta dampaknya terhadap tingkat kepercayaan atau kelengkapan hasil.
Apa yang bisa dilakukan agent dengannya
- 1Melakukan safe symbol renamingMinta agent untuk me-rename sebuah fungsi di seluruh workspace menggunakan semantik spesifik bahasa pemrograman.
- 2Verifikasi responsivitas language serverMenentukan apakah language server benar-benar berfungsi ketika pencarian simbol tidak mengembalikan hasil.
Ditulis dari SKILL.md milik skill tersebut. Setiap use case diverifikasi dengan kutipan darinya.
Cara install skill code-intelligence
Setiap perintah menyalin folder skill ke direktori skills client. Restart client atau mulai sesi baru untuk memuatnya.Install skill code-intelligence di Plugin
/plugin marketplace add antonbabenko/agent-plugins /plugin install code-intelligence@antonbabenko
Install skill code-intelligence di Claude Code
~/.claude/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.claude/skills/code-intelligenceInstall skill code-intelligence di Claude Code (project)
.claude/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence .claude/skills/code-intelligenceInstall skill code-intelligence di Codex
~/.agents/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.agents/skills/code-intelligenceInstall skill code-intelligence di Gemini CLI
~/.gemini/skills/code-intelligence/SKILL.md
$ npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.gemini/skills/code-intelligenceInstall skill code-intelligence di 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
Lihat di 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.
Berkas dalam skill ini
4Pertanyaan seputar skill code-intelligence
Bagaimana cara install skill code-intelligence di Claude Code?
Jalankan npx degit antonbabenko/agent-plugins/plugins/code-intelligence/skills/code-intelligence ~/.claude/skills/code-intelligence. Claude Code memuat skill dari ~/.claude/skills (semua proyek) atau .claude/skills (satu proyek) dan menggunakan skill saat deskripsinya cocok dengan tugas.
Client mana saja yang bisa menggunakan skill code-intelligence?
Client apa pun yang membaca format Agent Skills: Claude Code, Codex, Gemini CLI, dan claude.ai (unggah sebagai ZIP). Script dalam skill hanya berjalan di client yang mengizinkan eksekusi kode.
Kapan saya harus menggunakan Language Server (LSP) alih-alih text search?
Gunakan LSP untuk hubungan antar simbol seperti definisi, referensi, call sites, dan rename yang aman, selama server yang berjalan dan workspace yang terindeks tersedia.
Bagaimana jika pemanggilan LSP tidak mengembalikan hasil apa pun?
Jangan langsung menyimpulkan bahwa tool tersebut tidak tersedia. Verifikasi apakah server merespons menggunakan documentSymbol, pastikan pemanggilan tersebut terjangkar pada posisi tertentu, dan coba sekali lagi untuk mengantisipasi proses cold start.
Apa format yang diperlukan untuk menginformasikan penggantian tool?
Penggantian tool harus dinyatakan pada baris pertama respons menggunakan format: Intended: <tool>. Actual: <tool>. Reason: <why>. Impact: <completeness/confidence>.