agentsclimarketplace

Opro

Skill OrangeproAI/orangepro-mcp/skills/opro

Use when generating grounded tests or doing PR/branch test-review for a LOCAL repo with OrangePro (the `opro` / `orangepro-local` CLI + MCP). Builds a local evidence graph from a checkout, targets the behaviors a diff touches, and returns runnable, source-referenced test drafts with run hints — BYOK, no source upload.From its SKILL.md

Install
npx -y skills add OrangeproAI/orangepro-mcp --skill opro

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.3 KB, as published. Nobody here has run it

opro — OrangePro

opro (alias orangepro-local) builds a local, metadata-only evidence graph from a checkout, then generates grounded test drafts for the behaviors you ask about. It reads source in-process but never stores or uploads code. Test generation uses the developer's own model key (BYOK).

You (the agent) are the test runner. opro returns test code plus run hints; you write the file and run it with your own shell tools. opro never writes into or runs the repo under test.

Default workflow (non-mutating)

Run these in the repo you're reviewing:

opro init                      # one-time: create the local workspace
opro analyze .                 # build/refresh the evidence graph (reads source in-process only)
opro generate --base <ref>     # generate ONLY for behaviors the diff vs <ref> touches

--base <ref> is the default, non-mutating path for PR and branch review. It uses a read-only diff against <ref> (e.g. --base main). It does not change your working tree, switch branches, or pull anything. Use it for almost everything.

For the current branch's diff against its base, use opro generate --changed.

Each generated test carries:

  • grounding.source_refs — the real repo entities it was grounded on.
  • evidence / evidence_summary — citations validated against the local graph.
  • run_hints — a suggested_path to write the test and a run_command to run it.

After generating: write each test's body to its suggested_path, run its run_command from the package that owns that directory, then report pass/fail and propose fixes for failures. If a test ships with runnable: false, treat it as a grounded DRAFT plus its unresolved_reason diagnostic — do not invent an import to make it "run"; fix the import from the real module or leave it as a draft for review.

Important: keep it non-mutating by default

  • Prefer --base <ref> (read-only diff). It is enough for PR review and never touches your tree.
  • The --pr <n> flag is a MUTATING escape hatch: it switches your working tree to the PR branch. Do NOT run it on a user's behalf without their explicit go-ahead — it refuses on a dirty tree and requires --yes/--force or an interactive confirmation, and you should let the user make that call. When in doubt, check out the PR yourself is unnecessary: just pass --base <the PR base> and diff in place.

When to use which command

SituationCommand
Review a PR / branch without disturbing the treeopro generate --base <pr-base>
Test the current branch's diff vs its baseopro generate --changed
Generate for a specific behavior idopro generate --target REQ-001
See readiness / coverage / gapsopro score, opro gaps, opro status
Explain a generated test's groundingopro explain <generated_test_id>
Use from another agent/tool over MCPopro mcp (the MCP server is read-only: base_ref diff, never a checkout)

Run opro (no args) for full help.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.