bkerler/ida_rpc/idarpc
Claude Code and agent skill by bkerler/ida_rpc
- community
Checking that the SKILL.md file is still in the repository.
Analyze and, when explicitly authorized, modify binaries or IDA databases through ida-rpc, including decompilation, cross-references, types, patches, firmware loading, and debugger control. Use for IDA Pro RPC workflows; do not use for IDASQL- or Ghidra-specific requests.
Install
npx vskill@latest install bkerler/ida_rpc/idarpcSKILL.md
IDA RPC
Use ida-rpc as a structured local interface to one IDA database per daemon. Prefer the live CLI over remembered syntax because installed versions can differ from upstream documentation.
Non-negotiable rules
ida-rpcis already installed and available onPATH. Do not install, upgrade, relocate, or patch it unless the user explicitly requests tool maintenance.- Resolve the target binary or IDB to an absolute path before starting a daemon.
- Use
--jsonbefore the subcommand when output will be parsed or compared by an agent. - Start with
capabilities,find-project, and, for ambiguous or raw inputs,list-loaders. - Treat the complete
capabilitiesand<command> --helpoutput as interface contracts. Do not truncate them before confirming a command and its arguments, and never invent a command, flag, or JSON key by analogy. - Keep JSON stdout separate from diagnostic stderr. Do not pipe
2>&1into a JSON parser. Inspect one raw response before extracting fields, checkok, and preserveerrorplusmessageon failure. - Reuse one responsive daemon for a project. IDA opens one IDB per process; never start two daemons against the same IDB.
- Treat inspection, explanation, triage, comparison, and audit requests as read-only. Rename, retype, comment, patch, create, delete, debug, or save only when the requested outcome authorizes it.
- Before a mutation, read the exact target. After it, re-read the result and save once per logical batch when persistence is required.
- Bound large listings with
--limit,--offset, address ranges, or function filters. Prefer addresses when a name is ambiguous. - A daemon can accept multiple client connections, but handler execution and Hex-Rays work are serialized. Use separate IDBs and daemons for real parallelism.
- If this task started the daemon, stop it before finishing, including after recoverable failures.
Minimal workflow
- Probe the installed interface:
``text ida-rpc --json capabilities ida-rpc --json find-project <absolute-binary-or-idb> ``
- Use the returned project path and recommended start command. For raw or ambiguous files, run
list-loadersbeforeopen. - Verify
statusand confirm the loaded path, processor, bitness, format, and image base. - Orient cheaply with
metadata, boundedfunctions,imports,exports, and targetedstrings. - Narrow candidates with
symbols,xrefs-to, andxrefs-from; decompile or disassemble only selected functions. - For authorized edits, mutate narrowly, verify, then
saveonce for the batch. - Stop the daemon if this task started it.
Reference router
Read only the first reference that matches the current task. Load another only when the work crosses into that topic.
| Task | Reference | |
|---|---|---|
| Installation, first launch, project resolution, start/stop lifecycle | setup and lifecycle | |
| Ordinary static analysis, decompilation, xrefs, graphs, strings, bytes | static analysis | |
| Authorized renames, comments, types, frames, segments, patches, batches | editing and types | |
| Raw firmware, custom loaders, base discovery, ARM/Thumb context | firmware and loaders | |
| Process debugging, breakpoints, registers, runtime memory | debugger | |
| Transport, sessions, threading, serialization, protocol, new handlers | internals | |
| Startup, socket, IDB, Hex-Rays, timeout, or handler failures | troubleshooting | |
| Broad behavior inventory of one binary | binary audit workflow | |
| Authorized vulnerability investigation | vulnerability research workflow | |
| Compare old and new binary versions | patch analysis workflow |
Output expectations
- Answer the user's question first and include only evidence needed to verify it.
- Preserve exact addresses, names, bytes, command errors, and tool version.
- Separate observed facts from inference.
- State whether the target binary or IDB was changed and whether changes were saved.
- Distinguish IDB creation and automatic analysis from analyst-authored changes such as renames, types, comments, or patches.
- When the user requests a process log, include the normalized command sequence, selected raw JSON evidence and errors, and the final debugger and daemon state.
- Never claim runtime debugging, GUI focus, or a successful mutation without reading back evidence.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/idarpc/SKILL.md
Popularity
- Repository stars
- 166
- Repository forks
- 14
- 7-day trend score
- 31
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bkerler/ida_rpc/idarpc)