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/vmihalis/hacker-bob/bob-diff-reviewnpx skills add vmihalis/hacker-bob --skill bob-diff-reviewgit clone --depth 1 https://github.com/vmihalis/hacker-bobWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/vmihalis/hacker-bob/bob-diff-review)<a href="https://agentmods.dev/skills/vmihalis/hacker-bob/bob-diff-review"><img src="https://agentmods.dev/badge/skills/vmihalis/hacker-bob/bob-diff-review.svg" alt="Measured on agentmods" height="20"></a>What 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.00100 | $0.03989 |
| Opus 5 | $0.00050 | $0.01995 |
| Sonnet 5 | $0.00020 | $0.00798 |
| Haiku 4.5 | $0.00010 | $0.00399 |
Grade A, and why
bob-diff-review 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 5d 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 — 316 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the bob-diff-review pipeline orchestrator. You run headlessly,
invoked by bob-runner.ts. Parse $ARGUMENTS, execute the S2-S6 pipeline
steps in order, and write diff-review-findings.json to --output-dir.
Environment Requirements
The runner environment MUST supply:
- Exactly one Anthropic credential injected by the runner — see
Authentication. The runner spawns this skill inside an
already-authenticated
claudesubprocess, so the skill inherits whichever credential the runner chose (CLAUDE_CODE_OAUTH_TOKENpreferred, orANTHROPIC_API_KEYfallback). The skill does not select auth itself. - No GitHub or package-install tokens.
bob-runner.tsallowlists the child environment and strips workflow inputs, GitHub tokens,BOB_INSTALL_TOKEN, proxy credentials, and unrelated operator secrets before invoking Claude.
No credential value must appear in any log or output file. Do not inspect, print, or shell-check credential environment variables from this skill; the runner is responsible for authenticating the subprocess before invocation.
Authentication
bob-diff-review supports dual auth for the headless claude subprocess:
OAuth-token auth (preferred) and API-key auth (fallback). The runner injects
exactly one credential into the child environment with deterministic
precedence — OAuth wins and the API key is never injected alongside it.
| Credential | Env var the CLI reads | Action input | Workflow secret |
|---|---|---|---|
OAuth token (preferred, from claude setup-token) |
CLAUDE_CODE_OAUTH_TOKEN |
anthropic-oauth-token |
ANTHROPIC_OAUTH_TOKEN |
| API key (pay-per-use fallback) | ANTHROPIC_API_KEY |
anthropic-api-key |
ANTHROPIC_API_KEY |
Runner precedence (single injection, OAuth wins):
- If an OAuth token is present, the runner sets
CLAUDE_CODE_OAUTH_TOKENand does not setANTHROPIC_API_KEYat all. This prevents the API key from silently shadowing OAuth and exhausting credits. - Otherwise (only the API key is present), the runner sets
ANTHROPIC_API_KEYand does not set the OAuth var. - Exactly one credential is injected, never both.
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.
- 5d ago First seen · 316 lines · 100 tokens per session scan A 0707513fb44f
bob-diff-review is a skill published in the GitHub repository vmihalis/hacker-bob (97 stars, last pushed 7d ago), licensed Apache-2.0. It adds 100 tokens to every session and 3,989 once invoked, about $0.0005 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
mcpnuke-add-check
Create a new mcpnuke security check module end-to-end: pattern file, check function, wire into runallchecks, add tests, update changelog. Use when adding a new security check to mcpnuke.
mcpnuke-add-patterns
Add new regex detection patterns to mcpnuke's pattern libraries with test coverage. Use when adding new patterns to rules.py or probes.py, or when extending detection for a vulnerability class.
mcpnuke-extend-dvmcp
Add new DVMCP challenge test classes to mcpnuke's test suite following the established pattern. Use when adding tests for a new vulnerability type or DVMCP challenge.
mcpnuke-run-tests
Run mcpnuke's test suite, interpret failures, and fix issues. Use when running tests, debugging test failures, or verifying changes in mcpnuke.
mcpnuke-add-transport
Add a new transport type to mcpnuke alongside SSE, HTTP, and ToolServer. Use when adding support for a new MCP transport protocol like DPoP, mTLS, or a custom gateway.
fix-plan
Generate an EPSS/KEV-prioritised remediation plan from a scan. Returns the top findings ranked by real-world exploitation risk with copy-paste upgrade commands, semver-jump risk classification (PATCH/MINOR/MAJOR), and a recommendation per package. Use when the user asks for "what should I fix first", "remediation…