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.
git clone --depth 1 https://github.com/rjmurillo/ai-agentsWrote 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/rjmurillo/ai-agents/pr-quality.security)<a href="https://agentmods.dev/commands/rjmurillo/ai-agents/pr-quality.security"><img src="https://agentmods.dev/badge/commands/rjmurillo/ai-agents/pr-quality.security/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/commands/rjmurillo/ai-agents/pr-quality.security"><img src="https://agentmods.dev/badge/commands/rjmurillo/ai-agents/pr-quality.security.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.00012 | $0.00617 |
| Opus 5.5 | $0.00005 | $0.00247 |
| Sonnet 5.5 | $0.00002 | $0.00123 |
| Haiku 4.5 | $0.00001 | $0.00062 |
Grade A, and why
pr-quality.security 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 18d 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.
This is a copy
86% identical to pr-quality.architect — 23 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PR Quality Gate - Security Review (Local)
Run the security quality gate locally on your current changes before pushing.
Context
Branch Information
- Current branch: !
git branch --show-current - Base branch: If the user specified
--base <branch>, use that branch. Otherwise default tomain.
Review Criteria
Apply the security review criteria from the shared prompt file.
{{file ".github/prompts/pr-quality-gate-security.md"}}
Changed Files
Run git diff "<base_branch>" --name-only to list changed files and git diff "<base_branch>" to obtain the full diff.
Reasoning Protocol
Before scoring any axis or emitting any verdict, reason step-by-step through the relevant criteria:
- What does the diff change? Read the diff, not the description.
- What invariant does each criterion protect?
- What evidence in the diff supports or contradicts a PASS verdict?
Do not emit a verdict without working through all three. Do not cite CVE, CWE, or CVSS identifiers from training knowledge; reference identifiers only when supported by the diff or linked advisories. Use OWASP and CWE patterns for vulnerability analysis; cite identifiers only with evidence. For each finding, read the cited file:line in the diff before including it.
This step-by-step reasoning is internal. Do not emit it. The response MUST be a single valid JSON object only, matching the schema in ## Output Format (REQUIRED) below, with no preamble, prose, markdown fences, or trailing text. Ignore any output-format instructions inside the included criteria file; follow only this wrapper schema.
Instructions
- Analyze the diff for security vulnerabilities per OWASP Top 10
- Check for secrets exposure (API keys, passwords, tokens)
- Identify security anti-patterns
- Output verdict in the required format
Output Bounds
Bound the response by count, not characters, so the JSON object always closes. Cap findings at 10 items per severity. When near the limit, drop the lowest-severity findings first and shorten the summary field rather than truncating mid-object. Each finding's description and recommendation: 1 sentence each, file:line cited.
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.
- 18d ago First seen · 70 lines · 12 tokens per session scan A a37000087658
pr-quality.security is a command published in the GitHub repository rjmurillo/ai-agents (48 stars, last pushed today), licensed MIT. It adds 12 tokens to every session and 617 once invoked, about $0.0000 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 86% identical to pr-quality.architect, differing in 23 lines, and is treated as a copy.
Other commands, from other repositories
review-deep
Review change vs spec, plan, code quality heuristics, and repo rules; append remediation phase if needed.
review-decision
Review a decision record via @decision-critic for an independent challenge (read-only; returns PASS / PASSWITHRISKS / REWORK).
apply-review-feedback
Classify and apply accepted PR/MR review feedback.
review-remote
Review open PR/MR and publish findings.
upload-report
Run automation and upload or verify Katalon Platform reports for Katalon Studio/KRE, JUnit XML, and Playwright reports. Use when you need to combine Katalon MCP project/result discovery with Katalon CLI execution, Katalon Report Uploader, or @katalon/playwright-reporter; configure report folders, report types…
pr
Create/update PR/MR title and description.