Codebase orientation agent for Claude Code — powered by rskim.
Skimmer is a Claude Code plugin that orients you in unfamiliar codebases. It uses rskim (tree-sitter) to extract code structure without implementation noise, then searches for task-relevant files and patterns. The result is a structured orientation report: project type, directory layout, relevant files, key functions, integration points, and a suggested approach.
-
Add the marketplace (registers the plugin catalog):
/plugin marketplace add dean0x/skimmer -
Install the plugin:
/plugin install skimmer@dean0x-skimmer
# Orient for a specific task
/skim add JWT authentication
# General codebase orientation
/skim
Claude also auto-invokes Skimmer when it detects you need codebase orientation — no command needed.
With a task description, Skimmer focuses its search on files, functions, and patterns relevant to that task and suggests where to integrate.
Without arguments, it produces a general orientation: project type, directory structure, key modules, and entry points.
Skimmer generates a structured report:
| Section | Content |
|---|---|
| Project Type | Language, framework, dependencies |
| Token Statistics | Original vs skimmed token counts |
| Directory Structure | Source directories and their purpose |
| Relevant Files | Files matching the task with key exports |
| Key Functions/Types | Specific signatures related to the task |
| Integration Points | Where new code connects to existing code |
| Patterns Observed | Existing conventions to follow |
| Suggested Approach | Recommendation based on codebase structure |
- Verify rskim — checks
npx rskim --versionbefore starting - Detect project type from manifest files (
package.json,Cargo.toml, etc.) - Map source directories and skim them with
npx rskim --mode structure - Search for task-relevant code using Grep/Glob for file discovery, then
npx rskim --mode signaturesfor structure extraction - Identify integration points — entry points, public exports, configuration patterns
- Generate the orientation report
All source code reading goes through rskim — the agent never falls back to cat or Read for source files. If rskim isn't available, the agent reports the error and falls back to Glob/Grep for manual exploration.
rskim is invoked via npx rskim (auto-downloads if not installed). Alternatives:
- npm (global):
npm install -g rskim - Cargo:
cargo install rskim
No configuration needed — the agent handles tool detection and fallback automatically.
- skim — main project (issues, contributions, full documentation)
- rskim on npm
- rskim on crates.io