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 commands/valpere/chorus/huntgit clone --depth 1 https://github.com/valpere/chorusWrote 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/commands/valpere/chorus/hunt)<a href="https://agentmods.dev/commands/valpere/chorus/hunt"><img src="https://agentmods.dev/badge/commands/valpere/chorus/hunt.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.00013 | $0.02159 |
| Opus 5 | $0.00006 | $0.01079 |
| Sonnet 5 | $0.00003 | $0.00432 |
| Haiku 4.5 | $0.00001 | $0.00216 |
Grade A, and why
hunt 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 3d 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 — 240 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Main job-hunter loop: scan → score → cover letter → apply → track.
Raw arguments: $ARGUMENTS
Parse flags from $ARGUMENTS:
--platform <name>→ only scan this platform (skip others)--dry-run→ score and display table, but do not apply or write to tracking--limit N→ stop after N vacancies per platform per query (default: 20)
Pre-flight
-
Check profile exists:
node "$CLAUDE_PLUGIN_ROOT/scripts/profile.mjs" existsIf exits 1: tell user to run
/job-hunter:setupfirst. Stop. -
Load profile:
node "$CLAUDE_PLUGIN_ROOT/scripts/profile.mjs" loadParse the JSON output as
profile. -
Verify Playwright MCP is available by taking a browser snapshot:
browser_snapshotIf this fails (tool not available), stop and tell the user: "Playwright MCP is required. Install it via
claude mcp add playwrightand restart." -
Determine active platforms: if
--platformwas specified, use only that platform (verify it is enabled in profile). Otherwise use all platforms whereenabled: true.
Scan each platform
Process platforms sequentially to avoid browser conflicts. For each active platform, run its scan section below.
Djinni (https://djinni.co)
For each query in profile.platforms.djinni.queries:
-
Load session:
node "$CLAUDE_PLUGIN_ROOT/scripts/profile.mjs" load-session djinniIf not null, inject non-HttpOnly cookies viabrowser_evaluate(note: HttpOnly cookies cannot be set via JavaScript and are silently ignored):// for each cookie { name, value, domain } document.cookie = `${name}=${value}; path=/`;After injecting, navigate to
https://djinni.coand check for a logged-in indicator (e.g. user avatar or account menu). If not logged in, warn the user that the saved session has expired and they should re-run/job-hunter:setupto refresh it. -
Navigate to search URL:
https://djinni.co/jobs/?primary_keyword=<url-encoded-query>&employment=remote
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.
- 3d ago First seen · 240 lines · 13 tokens per session scan A 214ef906b1a0
hunt is a command published in the GitHub repository valpere/chorus (10 stars, last pushed 3mo ago), licensed MIT. It adds 13 tokens to every session and 2,159 once invoked, about $0.0001 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-31.
Other commands, from other repositories
update-ai-versions
Look up the latest published versions of the AI coding assistants pinned in the Dockerfile and update the ARG lines in place.
yapper-help
The /yapper-help command displays full documentation for the Yapper plugin, including all modes, commands, behaviours, configuration options, and usage examples. This command is itself rendered in Professor mode by default, because a help document that is not thoroughly elaborated would be somewhat contrary to the…
yapper-review
The /yapper-review command performs a thorough, multi-line pull request review. Rather than posting terse inline comments like "this is wrong" or "use X instead," yapper-review produces fully-explained feedback that describes the issue, the reasoning behind the concern, the potential impact, and a concrete suggested…
yapper-commit
The /yapper-commit command generates a verbose, fully-explained Git commit message for the current change or a described change. The resulting commit message explains not just what changed, but why it changed, what problem it solves, and how the solution works — providing maximum context for future readers of the git…
yapper
The /yapper command activates the Yapper verbosity system. Once active, all subsequent responses in the session will be substantially expanded, elaborated, and enriched with definitions, transitions, and restatements.
mem-last
Prints latest memory cards for the current project.