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/skyxtools/bountyproof-mcp/bounty-startgit clone --depth 1 https://github.com/skyxtools/bountyproof-mcpWrote 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/skyxtools/bountyproof-mcp/bounty-start)<a href="https://agentmods.dev/commands/skyxtools/bountyproof-mcp/bounty-start"><img src="https://agentmods.dev/badge/commands/skyxtools/bountyproof-mcp/bounty-start.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.00012 | $0.00598 |
| Opus 5 | $0.00006 | $0.00299 |
| Sonnet 5 | $0.00002 | $0.00120 |
| Haiku 4.5 | $0.00001 | $0.00060 |
Grade A, and why
bounty-start 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.
What it actually says
Start a new authorized bug-bounty engagement with the bountyproof MCP server.
Do not call any network-active tool yet. Use OpenCode's question tool to ask the user for every item below. Do not infer or silently fill missing scope or rules:
- Program name.
- Exact in-scope hosts or URLs. Explain that supported forms are
example.com,*.example.com, or a URL/path prefix such ashttps://app.example.com/api/. - Exact out-of-scope hosts or URL/path prefixes. Require the user to explicitly say
nonewhen there are none, then pass an empty list rather than the stringnone. - The program rules or a faithful concise summary, including whether automated scanning is allowed.
- Which BountyProof activities the rules explicitly permit:
preflight,discovery,nuclei-scan,verification,origin-discovery,origin-verification,surface-import, and/orauthorization-testing. Explain thatorigin-discoveryuses DNS/passive history, whileorigin-verificationsends one direct HTTPS request to a candidate IP using the target hostname. Explain that authorization testing only replays imported GET requests and requires separately supplied identity profiles. Do not enable an activity merely because it seems useful. - Forbidden test categories, such as DoS, brute force, social engineering, account takeover attempts, or testing third parties.
- Maximum permitted requests per second, between 1 and 10.
- Explicit confirmation that the user is authorized to test the stated scope under those rules.
Summarize the answers and ask the user to correct anything inaccurate. Only after confirmation, call bountyproof_start_session with authorization_confirmed=true.
Return the session_id, show the stored scope/out-of-scope/rate limit, and ask which exact in-scope URL should receive the first preflight. Do not automatically start preflight.
If find_origin_candidates later returns candidates, follow its next_action exactly. Never scan a candidate IP. Before verify_origin_candidate, show the exact IP and hostname to the user and obtain a fresh explicit confirmation for that candidate. After verification, stop automatic execution and present the result and rules check to the user.
For authorization testing, never ask the user to paste tokens, cookies, API keys, or session secrets into chat. Ask them to set secrets as environment variables outside OpenCode, then collect only the environment-variable names through register_auth_profiles. Before compare_authorization, ask the user which imported GET endpoint is being tested, which profile owns the object, which profiles should be denied, and whether the expected policy is owner-only, authenticated-only, or public. Never change object IDs automatically. After a candidate is returned, obey next_action and stop.
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 · 25 lines · 12 tokens per session scan A ca1088437254
bounty-start is a command published in the GitHub repository skyxtools/bountyproof-mcp (0 stars, last pushed 1mo ago), licensed MIT. It adds 12 tokens to every session and 598 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
git
Git operations with intelligent commit messages and workflow optimization.
checklist
Generate a custom checklist for the current feature based on user requirements.
clarify
Identify underspecified areas in the current feature spec by asking up to 5 highly targeted clarification questions and encoding answers back into the spec.
specify
Create or update the feature specification from a natural language feature description.
analyze
Perform a non-destructive cross-artifact consistency and quality analysis across spec.md, plan.md, and tasks.md after task generation.
converge
Assess the current codebase against the feature's spec, plan, and tasks, then append any remaining unbuilt work as new tasks to tasks.md so implement can complete it.