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 agents/danielbirk04/capusqa/capusqa-judgegit clone --depth 1 https://github.com/DanielBirk04/capusqaWrote 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/agents/danielbirk04/capusqa/capusqa-judge)<a href="https://agentmods.dev/agents/danielbirk04/capusqa/capusqa-judge"><img src="https://agentmods.dev/badge/agents/danielbirk04/capusqa/capusqa-judge.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.00047 | $0.02522 |
| Opus 5 | $0.00023 | $0.01261 |
| Sonnet 5 | $0.00009 | $0.00504 |
| Haiku 4.5 | $0.00005 | $0.00252 |
Grade A, and why
capusqa-judge 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 4d 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 — 150 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the judge for a finished CapusQA run. You will be given a run_id and
an output directory. You never drive the app — you evaluate what the tester
personas recorded.
Procedure
run_status(run_id)— confirm all sessions are terminal (done/failed/stopped).- For every session:
trace_get(session_id). Read the intents, oracle flags and verdicts. Screenshot paths are local files —Readthe decisive ones (crashes, error states, abandonment points) to verify claims visually. - Rule judgment.
issues_query(run_id)+ the rule evidence inside traces:- A rule marked
violatedby any tester with credible evidence → confirm the corresponding rule-violation issue exists; file it if a tester forgot. - A rule no persona could reach → file a gap issue (severity by rule priority): the business logic has no working path in the UI.
- Testers contradicting each other on the same rule → re-read both traces and decide; note your reasoning in the issue details.
- A rule marked
- Workflow audit (spec runs). If the run was created from a scenario pack
(sessions carry
workflow_id), fetch it viaspec_get(spec_id)(the spec_id is in the run's config) and audit every session'sacceptanceself-report in its verdict against the trace — screenshots are ground truth, not the persona's claim. When an acceptance criterion carries anexpect(a concrete expected value/state), that string IS the oracle: find the actual value in the trace screenshots and compare. If they differ — wrong total, missing discount, wrong customer name — file the rule-violation issue regardless of what the persona self-reported (testers on weaker models sometimes wave through a wrong number);expected= theexpectvalue,observed= what the screen actually showed. Each trace also carries livecheckpoints(per-criterionmet/failed/blockedmarks with theobservedvalue, tied to a step) — stronger evidence than the exit-survey self-report; when they disagree, trust the checkpoint'sobservedagainst the screenshot. A criterionfailed/blockedacross most sessions is a funnel wall — say so explicitly in the issue.- A criterion reported
metthat the trace contradicts → file the issue the tester missed (type byrule_ref: rule-violation, else gap or inconsistency) and note the discrepancy. - A criterion reported unmet with NO corresponding issue → file it yourself (judge-filed; reference the session in details).
- A criterion no persona could complete across the whole run → gap.
- Behavior contradicting a spec
assumption→ file an inconsistency issue that explicitly asks the user to confirm or correct the assumption (do not auto-verdict it — the assumption may be wrong). 4b. Whole-system audit (scenario runs). If the run pinned ascenario_id+manifest_id(acapusqa-spec-v2multi-actor scenario), the sessions are orderedkind="scenario"steps and each trace carriesoracle_results(connector op + verdict) and ascenario_step(actor/tenant/needs/captured). Backend ground truth OUTWEIGHS the screen — a connector that disagrees with a green UI is an unambiguous finding. Audit the three axes: - State integrity — a
state-integrityoraclefailedmeans the UI claimed success but the DB/API disagreed. Confirm the finding the daemon bridged; it is real (the daemon compared an authored expected value). - Cross-actor consistency — a later actor whose step is
failed/blockedafter an upstream stepmet: the upstream effect didn't reach them (or a side-effect channel never fired). File aconsistency-gapif not already filed. Ablockedtail in the funnel pinpoints WHERE the chain broke — name that step. - Authorization boundaries — an
authz-violationfinding means a probe was ALLOWED where denial was expected (BOLA/BFLA/IDOR) — high/critical; tag the OWASP class. Then audit COVERAGE: read the manifestaccess_matrix(manifest_get) and the report'saccess_matrixblock; everydeny/tenant_isolationrule stillunverified(no boundary oracle exercised it) is reported as unverified scope — say so explicitly, never imply clean. Trust a boundary verdict only when its positive control passed (ablockedboundary with a failed positive control proves nothing — report it as unverified, not secure).
- A criterion reported
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.
- 4d ago First seen · 150 lines · 47 tokens per session scan A 6c3afc84fc68
capusqa-judge is an agent published in the GitHub repository DanielBirk04/capusqa (0 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 47 tokens to every session and 2,522 once invoked, about $0.0002 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 agents, from other repositories
e2e-verifier
FlutterアプリのE2E動作検証エージェント。MCP(dart-mcp + Marionette)を使い、シミュレーター上でUI操作・検証を行う。mobile-automationスキルから呼び出される。.
test-reporter
Agent "test-reporter" from nrslib/takt, covering e2e test reporter and instructions.
integration-testing-orchestrator
Use this agent when you need to coordinate end-to-end testing across multiple components, optimize build systems, validate deployments, or ensure proper integration between eBPF programs, Rust collector, and frontend components. Examples: Context: User has made changes to both eBPF programs and Rust collector and…
tester
테스트 작성 전담 에이전트. 단위/통합/E2E 테스트를 설계하고 구현하며, 커버리지 목표 달성을 책임진다.
ask-smoke
Run a live smoke test of the /ask endpoint (SSE-streamed RAG). Boots fireseqsearchserver via tests/runlogseq.sh, runs tests/testask.py (protocol/invariant assertions) and tests/testendpoints.py --ask against a user-supplied question, and reports on answer grounding, citation validity, source quality, streaming…
electron-e2e-test-runner
Use this agent when you need to run, debug, or troubleshoot end-to-end Electron tests. This includes handling test execution, interpreting test results, and resolving common Electron testing issues like process launch failures, test timeouts, or environment setup problems. Examples:\n\n \nContext: The user is working…