Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/bendrucker/claude/sessionnpx skills add bendrucker/claude --skill sessiongit clone --depth 1 https://github.com/bendrucker/claudeWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00076 | $0.02628 |
| Opus 5 | $0.00038 | $0.01314 |
| Sonnet 5 | $0.00015 | $0.00526 |
| Haiku 4.5 | $0.00008 | $0.00263 |
Grade A, and why
claude-code:session scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Session
Search and analyze Claude Code conversation history via a DuckDB index over JSONL session files.
Current session ID: ${CLAUDE_SESSION_ID}
Arguments
Map any arguments to the mechanisms below:
--refresh: force a rescan viarefresh.ts --refreshbefore querying. Default: the incremental refresh described in Refresh.--host <label>: scope queries to one imported machine through thehostparam. Default: span every host, includinglocal. See Cross-Machine History.--since <date>: pass as theafter_dateparam to scope queries from that date forward. Default: the full index.
Database
The session index is a DuckDB database at ${CLAUDE_PLUGIN_DATA}/session.duckdb. That path is stable: use it directly in every query and agent prompt. refresh.ts prints the same path, resolved, for callers outside this skill.
Refresh
Run refresh.ts before querying. It scans ~/.claude/projects/**/*.jsonl plus any imported hosts, imports files whose mtime or size changed, drops rows for deleted files, and prints the DB path. When a prior refresh finished within --max-age (default 300 seconds), it prints the path and exits without opening the database, so calling it before every query is cheap. Pass --refresh to rescan regardless when the user asks for the latest data.
bun ${CLAUDE_SKILL_DIR}/scripts/refresh.ts
Querying
After refresh, query with the duckdb CLI or any DuckDB client, always -readonly. Querying never writes, and a read-write open would block refreshes and other readers. Named SQL files in resources/queries/ provide common queries. Use SET VARIABLE for parameterization and getvariable('key') in SQL. Quote variable names that are reserved words: SET VARIABLE limit = 5 is a parser error (limit is reserved), SET VARIABLE "limit" = 5 works. getvariable('limit') is unaffected either way.
duckdb -readonly ${CLAUDE_PLUGIN_DATA}/session.duckdb "SELECT model, SUM(output_tokens) FROM message_usage GROUP BY model"
duckdb -readonly ${CLAUDE_PLUGIN_DATA}/session.duckdb < ${CLAUDE_SKILL_DIR}/resources/queries/stats.sql
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- CLAUDE.md 11 KB
- fixtures/plans/feature-plan.md 344 B
- fixtures/plans/quick-plan.md 136 B
- fixtures/sessions/-Users-test-health/health.jsonl 3.0 KB
- fixtures/sessions/-Users-test-project-feature/feature.jsonl 445 B
- fixtures/sessions/-Users-test-project/attribution.jsonl 509 B
- fixtures/sessions/-Users-test-project/basic.jsonl 781 B
- fixtures/sessions/-Users-test-project/delegation.jsonl 4.6 KB
- fixtures/sessions/-Users-test-project/hooks.jsonl 18 KB
- fixtures/sessions/-Users-test-project/malformed.jsonl 429 B
- fixtures/sessions/-Users-test-project/multiple.jsonl 1.1 KB
- fixtures/sessions/-Users-test-project/no-container.jsonl 1.3 KB
- fixtures/sessions/-Users-test-project/plan-iterations.jsonl 3.2 KB
- fixtures/sessions/-Users-test-project/plan-outcomes.jsonl 3.8 KB
- fixtures/sessions/-Users-test-project/plans.jsonl 1.8 KB
- fixtures/sessions/-Users-test-project/replay.jsonl 1.8 KB
- fixtures/sessions/-Users-test-project/review.jsonl 4.2 KB
- fixtures/sessions/-Users-test-project/ship.jsonl 510 B
- fixtures/sessions/-Users-test-project/skills.jsonl 2.7 KB
- fixtures/sessions/-Users-test-project/subagents/agent-inherit1.jsonl 4.0 KB
- fixtures/sessions/-Users-test-project/subagents/agent-mine-hooks.jsonl 1.3 KB
- fixtures/sessions/-Users-test-project/subagents/agent-override2.jsonl 4.0 KB
- fixtures/sessions/-Users-test-project/subagents/agent-pinned3.jsonl 4.0 KB
- fixtures/sessions/-Users-test-project/subagents/workflows/wf_attribution/agent-nested.jsonl 1012 B
- fixtures/sessions/-Users-test-project/summary.jsonl 1.1 KB
- fixtures/sessions/-Users-test-project/tools.jsonl 3.1 KB
- fixtures/sessions/-Users-test-trope/trope.jsonl 1.9 KB
- fixtures/sessions/-Users-test-webapp/webapp.jsonl 482 B
- fixtures/skills/cache/test-marketplace/review/aaa/skills/inbox/SKILL.md 126 B
- fixtures/skills/cache/test-marketplace/review/aaa/skills/peer/SKILL.md 110 B
- fixtures/skills/cache/test-marketplace/review/bbb/skills/inbox/SKILL.md 126 B
- fixtures/skills/cache/test-marketplace/review/bbb/skills/peer/SKILL.md 110 B
- fixtures/skills/cache/test-marketplace/solo/ccc/skills/solo/SKILL.md 98 B
- fixtures/skills/project/scratch/SKILL.md 107 B
- fixtures/skills/user/never-used/SKILL.md 133 B
- package.json 240 B
- README.md 1.8 KB
- references/blind-spots.md 1.5 KB
- references/catalog.md 28 KB
- references/cross-machine.md 2.1 KB
- references/discovery.md 11 KB
- references/schema-discovery.md 745 B
- references/workflows.md 978 B
- resources/extensions.sql 476 B
- resources/import.sql 2.2 KB
- resources/queries/activity.sql 3.0 KB
- resources/queries/already-allowed-still-prompting.sql 1.2 KB
- resources/queries/catalog-reinjection-thrash-sessions.sql 2.3 KB
- resources/queries/delegation.sql 7.9 KB
- resources/queries/diagnostics.sql 955 B
- resources/queries/errors.sql 814 B
- resources/queries/fields.sql 1.2 KB
- resources/queries/files.sql 986 B
- resources/queries/frontmatter.sql 1.3 KB
- resources/queries/hook-block-then-retry-success.sql 2.3 KB
- resources/queries/hook-blocks.sql 4.3 KB
- resources/queries/hook-config-vs-observed.sql 5.9 KB
- resources/queries/hook-origin-split.sql 1.8 KB
- resources/queries/hook-self-timing.sql 3.0 KB
- resources/queries/hooks.sql 4.1 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 169 lines · 76 tokens per session scan A 5f9a28716bba
claude-code:session is a skill published in the GitHub repository bendrucker/claude (16 stars, last pushed 2d ago), licensed MIT. It adds 76 tokens to every session and 2,628 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
agent-host-chat-contributions
Build and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.