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 skills/paultyng/skill-issue/active-reviewnpx skills add paultyng/skill-issue --skill active-reviewgit clone --depth 1 https://github.com/paultyng/skill-issueWrote 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/paultyng/skill-issue/active-review)<a href="https://agentmods.dev/skills/paultyng/skill-issue/active-review"><img src="https://agentmods.dev/badge/skills/paultyng/skill-issue/active-review.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.1 | $0.00157 | $0.03338 |
| Opus 5 | $0.00078 | $0.01669 |
| Sonnet 5 | $0.00031 | $0.00668 |
| Haiku 4.5 | $0.00016 | $0.00334 |
Grade A, and why
active-review 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 6d 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 — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Active Review
Prepare a human to review a PR. Reshape a /review-all pass into three terse blocks: PR summary, the files most worth eyeballing, and paste-ready inline comment drafts with GitHub deep-links. The skill never posts — the user posts manually.
Mirror to active-read: the agent loads the context, the human stays in the loop.
Workflow
1. Resolve target
Determine what's being reviewed and capture metadata.
- Argument forms accepted:
<PR number>,<PR URL>,<branch>, or nothing (default). - Default: current branch's PR (
gh pr view --json number,url,headRefOid,baseRefName,title,body,headRepository,headRepositoryOwner). If no PR exists for the current branch, fall back to a branch-vs-base diff and skip the deep-link generation steps that require a PR. - Capture:
pr_url,pr_number,org(fromheadRepositoryOwner.login),repo(fromheadRepository.name),head_sha,base_ref,title,body(PR description, may be empty).
If a <branch> argument is given but no PR exists, ask the user once whether to (a) open a draft PR first, or (b) proceed branch-only without deep-links. Do not infer.
2. Detect fresh review artifact
/review-all writes .reviews/<date>/SUMMARY.md with a metadata header that includes the full HEAD SHA. Reuse if fresh; otherwise re-run.
LATEST=$(ls -t .reviews/*/SUMMARY.md 2>/dev/null | head -1)
if [ -n "$LATEST" ] && grep -q "$head_sha" "$LATEST"; then
echo "reusing review: $LATEST"
SUMMARY="$LATEST"
else
echo "running fresh /review-all (no artifact for $head_sha)"
SUMMARY=""
fi
State the chosen path to the user in one line before proceeding: reusing review from <sha> or running fresh review.
3. Run /review-all if needed
When SUMMARY is empty, invoke /review-all against the resolved scope. Pass --focus "<area>" through if the user supplied it. Wait for the artifact, then set SUMMARY to the resulting .reviews/<date>/SUMMARY.md.
If /review-all errors or produces zero findings, say so explicitly and stop. Do not fabricate findings to fill the output.
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.
- 6d ago First seen · 198 lines · 0 tokens per session scan A 06bd9307c3e2
active-review is a skill published in the GitHub repository paultyng/skill-issue (9 stars, last pushed 25d ago), licensed MIT. It adds 157 tokens to every session and 3,338 once invoked, about $0.0008 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 skills, from other repositories
chatcrystal-debug-recall
Recall ChatCrystal memories for debugging tasks involving failing tests, compiler errors, runtime exceptions, dependency issues, environment breakage, or performance regressions. Use when historical root causes, fixes, or pitfalls may accelerate diagnosis before proposing a fix.
verify
Fact-check claims encountered during reading — dates, names, events, citations. Use when encountering historical facts or disputed claims.
expert
Base expert skill.
megalinter-check
Collect MegaLinter lint errors for the current repository. Use when the user wants to know if the code passes linting, why the MegaLinter CI job fails, or before/after fixing lint errors. Two modes - watch a CI job (GitHub Actions, GitLab CI, Azure Pipelines, Bitbucket Pipelines) and parse its logs, or run MegaLinter…
alpha
Alpha skill.
assistant
Assistant — on any repo, scan README→docs→AGENTS→CONTRIBUTING→PR templates→task runners→devcontainer→CI→configs before code; cite sources; prefer AGENTS.md for agent behavior; portable across Cursor/Copilot/Claude; use agent-toolkit CLI when needed.