bob-evaluate-runner

bob-evaluate-runner is a skill for Claude Code from vmihalis/hacker-bob. It costs 25 tokens per session (23,772 once invoked), scanned A, original, Apache-2.0.

The orchestration runtime behind the Hacker Bob security-evaluation command. It coordinates security-evaluation agents, authentication capture, verification, grading, and reporting across web targets, code repositories, and blockchain contracts.

In plain words
What is it for?
Use it indirectly through `/bob-evaluate` to evaluate a URL, local repository, or contract, with options for authentication, scanning mode, network access, internal hosts, RPC endpoints, and resuming sessions.
Why use it?
It organizes the separate stages and target types of a security evaluation so they can be run and resumed as one workflow.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions subagents; mentions Claude Code.

Install

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.

agentmods
npx agentmods add skills/vmihalis/hacker-bob/bob-evaluate-runner
Any agent
npx skills add vmihalis/hacker-bob --skill bob-evaluate-runner
Clone the repo
git clone --depth 1 https://github.com/vmihalis/hacker-bob

Made for: Claude Code.

Wrote 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.

agentmods badge for bob-evaluate-runner

README.md
[![agentmods](https://agentmods.dev/badge/skills/vmihalis/hacker-bob/bob-evaluate-runner.svg)](https://agentmods.dev/skills/vmihalis/hacker-bob/bob-evaluate-runner)
Your own site
<a href="https://agentmods.dev/skills/vmihalis/hacker-bob/bob-evaluate-runner"><img src="https://agentmods.dev/badge/skills/vmihalis/hacker-bob/bob-evaluate-runner.svg" alt="Measured on agentmods" height="20"></a>
Per session 25 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 23,772 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00025 $0.23772
Opus 5 $0.00013 $0.11886
Sonnet 5 $0.00005 $0.04754
Haiku 4.5 $0.00003 $0.02377

Measured 6d ago against content hash b76e0722cf78, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

bob-evaluate-runner scanned grade A with 1 finding 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 6d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

Dispatch `browser_behavior_probe` (the browser-shaped sibling of HTTP `behavior_probe`) when the surface is best exercised through the Patchright session driver: web SPA targets with heavy client-side JS or routing, WebA
.claude/skills/bob-evaluate-runner/SKILL.md · 457 lines

How it starts

The opening of the file, as written. The whole thing — 457 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are the ORCHESTRATOR for Bob, an autonomous security evaluation system. Coordinate agents, auth capture, verification, grading, and reporting. Do not evaluate yourself. Input: $ARGUMENTS (target URL, local repo path, a contract token (CAIP-10 namespace:reference:address or ergonomic family:chainId:address), or resume [domain] [force-merge], optionally --no-auth, --private-targets, one of --normal|--paranoid|--yolo, --deep, --egress <profile>, --block-internal-hosts, --allow-internal-hosts, --rpc family:chainId=url, and the repo-mode flags --build, --allow-network, --target-id <id>)

Target-axis branching (web, OSS repo, contract)

The non-flag tokens of $ARGUMENTS are a multi-axis target set; the first non-flag token's axis at the highest precedence (web > repo > contract, O-P6) selects the PRIMARY axis and the remaining tokens attach as companions:

  • It is a URL when it starts with http:// or https://. Web mode is in force; derive target_domain from the parsed URL hostname exactly (ASCII-normalized and without scheme or port), call bob_init_session({ target_domain, target_url, ... }) in SETUP, and dispatch HTTP-shaped lenses (seed_mapping, surface_scout, behavior_probe, browser_behavior_probe, control_check, claim_development, impact_correlation, reproduction_check, evidence_capture, coverage_closeout). For an explicitly operator-attested --private-targets URL, preserve the loopback/RFC1918 IPv4 hostname byte-for-byte (for example http://127.0.0.1:8081/... uses target_domain: "127.0.0.1"); never invent a localhost-* slug or include the port. Repo and contract modes own their separate slug derivations below.
  • It is a local repo path when it does not start with http:// / https://, starts with /, ~, or ./, and resolves to a local directory. OSS repo mode is in force; call bob_init_repo_session({ repo_path, ... }) in SETUP and dispatch the OSS lenses (code_surface_scout, taint_trace, fuzz_run) per O-D5 / O.6.
  • It is a contract when it is a CAIP-10 namespace:reference:address (e.g. eip155:1:0x...) or the ergonomic family:chainId:address form (family in the chain families). A PURE chain:addr target (no url/repo present) is contract mode: call bob_init_contract_session({ contracts: [...] }) in SETUP. A MIXED target attaches contracts as companions to the primary: web primary → bob_init_session({ target_url, contracts: [...] }), repo primary → bob_init_repo_session({ repo_path, contracts: [...] }). Both axes bind (chain authority + one smart_contract surface per contract, unioned into the frontier) while the web/repo and chain scope gates stay INDEPENDENT (O-P6) — a companion never widens HTTP/PSL scope or grants cross-axis authority. The --rpc family:chainId=url flag binds a chain's RPC endpoint and is public-HTTPS-only.
  • Refuse remote paths (anything that looks like git@host:owner/repo.git, git+https://..., ssh://..., a host: prefix, or a bare GitHub owner/repo slug). Per O-P1, this entry point never performs a git clone. Tell the operator to check out the repo locally and re-invoke /bob-evaluate <local-path>. Per O-P2, source visibility is not permission to attack the hosted instance. Repo mode does NOT authorize HTTP probing of any deployed sibling of the codebase. If the operator wants to mix repo evaluation with live HTTP work, they MUST pass an explicit second target URL (cross-mode session per O-P6); never infer a target_url from a package.json, README, or repo metadata.

Read the full file on GitHub · 457 lines

Changes

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.

  1. 6d ago First seen · 457 lines · 25 tokens per session scan A b76e0722cf78

Subscribe to this mod's changes

bob-evaluate-runner is a skill published in the GitHub repository vmihalis/hacker-bob (97 stars, last pushed 7d ago), licensed Apache-2.0. It adds 25 tokens to every session and 23,772 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories