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 skills add OrangeproAI/orangepro-mcp --skill oprogit clone --depth 1 https://github.com/OrangeproAI/orangepro-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/skills/orangeproai/orangepro-mcp/opro)<a href="https://agentmods.dev/skills/orangeproai/orangepro-mcp/opro"><img src="https://agentmods.dev/badge/skills/orangeproai/orangepro-mcp/opro/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/orangeproai/orangepro-mcp/opro"><img src="https://agentmods.dev/badge/skills/orangeproai/orangepro-mcp/opro.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00018 | $0.00487 |
| Opus 5.5 | $0.00007 | $0.00195 |
| Sonnet 5.5 | $0.00004 | $0.00097 |
| Haiku 4.5 | $0.00002 | $0.00049 |
Grade A, and why
opro 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 yesterday.
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
Use the OrangePro MCP tools for local evidence-graph analysis and grounded test generation.
- Start with
orangepro_startfor the current checkout. - If OrangePro reports a large-repo scope breakdown, prefer a focused scope for AI/generation; full deterministic analysis is still allowed.
- For PR work, call
orangepro_generate_testswithbase_ref=main. - For baseline work, call
orangepro_find_test_gaps, pick one high-priority gap, then callorangepro_generate_testsfor that target. - Write only generated tests that include
run_hints; drafts are context, not runnable claims. - Run the suggested command from the owning package directory.
- After a pass, take the
prove_runargs returned byorangepro_generate_testsand pass them toorangepro_proveso OrangePro can dynamically prove the target. Userecord_runonly for static diagnostics. - Report status as Proven, Reproven, Runs under tests, Linked, Unconfirmed, or No test found. Never promote Linked, Unconfirmed or AI links to Proven. A successful
orangepro_provereturnsproven: trueand stores the ledger statusreproven, including the first time. Proven is the report count of behaviors with that certificate. Reproven (this run) is the traceability label for the same certificate. It does not mean the function was proved before.
For JavaScript or TypeScript, orangepro_prove needs target_symbol in the form sym:<file>#<Symbol>, test_path, and replacement set to an empty body or a single literal return such as return null;. An async function also needs replacement_mode promise-json. Set runner to the repo's runner (jest, vitest, or mocha). Example: target_symbol sym:index.js#run, test_path index.test.js, replacement return null;, replacement_mode promise-json, runner jest.
OrangePro may use weak AI grounding when a provider key is configured, but AI links are suggestions for generation only and never change Proven coverage.
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.
- yesterday Changed dc6d6121c556
- 5d ago Changed · +2 lines 7c4d4d0ed485
- 2mo ago First seen · 18 lines · 18 tokens per session scan A 8cba79a973f8
opro is a skill published in the GitHub repository OrangeproAI/orangepro-mcp (20 stars, last pushed yesterday), licensed MIT. It adds 18 tokens to every session and 487 once invoked, about $0.0001 per session on Opus 5.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.
opro compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| oproOrangeproAI/orangepro-mcp | Skill | 20 | yesterday | MIT | A | 18 | Claude Code |
| Changelog Test MapperPramodDutta/qaskills | Skill | 246 | 7d ago | MIT | A | 28 | Claude Code, Codex |
| Error Boundary TesterPramodDutta/qaskills | Skill | 246 | 7d ago | MIT | A | 26 | Claude Code, Codex |
| Website AuditPramodDutta/qaskills | Skill | 246 | 7d ago | MIT | A | 33 | Claude Code, Codex |
| Agent Browser AutomationPramodDutta/qaskills | Skill | 246 | 7d ago | MIT | A | 37 | Claude Code, Codex |
| Behat BDD TestingPramodDutta/qaskills | Skill | 246 | 7d ago | MIT | A | 37 | Claude Code, Codex |
| playwright-apiPramodDutta/qaskills | Skill | 246 | 7d ago | MIT | A | 30 | Claude Code |