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 commands/james-prodopen/emcmd/gh-pr-blockersgit clone --depth 1 https://github.com/james-prodopen/emcmdWrote 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/james-prodopen/emcmd/gh-pr-blockers)<a href="https://agentmods.dev/commands/james-prodopen/emcmd/gh-pr-blockers"><img src="https://agentmods.dev/badge/commands/james-prodopen/emcmd/gh-pr-blockers.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.00000 | $0.00569 |
| Opus 5 | $0.00000 | $0.00284 |
| Sonnet 5 | $0.00000 | $0.00114 |
| Haiku 4.5 | $0.00000 | $0.00057 |
Grade A, and why
gh-pr-blockers 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 5d 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 — 32 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Summarize pull request blockers across accessible repositories, unless a repo is specified here: $ARGUMENTS.
Workflow
Follow these instructions explicitly:
- If a specific repository is provided in $ARGUMENTS (format: owner/repo), use
gh pr list --repo owner/repo --state open --limit 50 --json number,title,author,updatedAt,isDraftto list PRs - Otherwise, use
gh search prs --involves @me --state open --json number,title,repository,author,updatedAtto find PRs involving the authenticated user across all repositories - For each PR found, use
gh pr view <number> --repo owner/repo --json number,title,author,updatedAt,state,isDraft,mergeable,reviewDecision,statusCheckRollup,reviewRequests,comments,reviews,urlto fetch detailed status including checks, reviews, mergeable state, review conversations, and PR URL - Analyze each PR for blockers (failed checks, missing reviews, merge conflicts, etc. - exclude PR state as draft)
- Sort PRs by most recent activity first
- Report all blocked PRs with concise blocker summaries
Blocker Detection
Check for these common blockers:
- CI/CD failures - Failed status checks or builds
- Missing reviews - No approving reviews or review requests pending
- Requested changes - Reviewers explicitly requesting changes
- Merge conflicts - Code conflicts with base branch
- Unresolved conversations - Review threads not marked resolved
- Failed deployments - Preview/staging deployment failures
- Missing required checks - Required status checks not completed
- Stale review requests - PRs with reviewers requested but no approving reviews for more than 1 business day (excluding weekends). To calculate business days: first get today's date, then count backward day-by-day from today, skipping weekends (Saturday/Sunday), until you reach the PR's updatedAt date. Count only the weekdays (Monday-Friday) in between. If it's been more than a week, simply say >1 week.
Output
Report only blocked PRs (do not include unblocked PRs in the summary). For each blocked PR (ordered by most recent activity first): repository name, PR number, PR URL, title, author, last activity timestamp, and concise blocker summary (e.g., "Blocked by: failed CI, missing reviews (2 requested)", "Blocked by: changes requested by @username", "Blocked by: missing reviews from @reviewer1, @reviewer2")
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.
- 5d ago First seen · 32 lines · 0 tokens per session scan A 3fbe68d78ec8
gh-pr-blockers is a command published in the GitHub repository james-prodopen/emcmd (5 stars, last pushed 9mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 569 tokens. 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 commands, from other repositories
promote
Refine scv/raw/ material into a scv/promote/ - - / folder with PLAN.md + TESTS.md. Optionally updates the docs knowledge graph. Interactive; no files written without user approval. Use whenever the user wants a change planned, specced, or broken down before implementation — 'plan this', 'write a spec', 'what should we…
work
Implement a scv/promote/ / plan. Reads PLAN.md + TESTS.md, proposes/loads Related Documents as needed, runs the tests, and optionally archives on success. Use whenever the user wants an existing plan implemented — 'build it', 'implement the plan', 'let's do it' — not only when they type /scv:work. Never implement a…
help
Show SCV workflow + diagnose project + recommend next step. With an argument, talk through an idea OR search the archive for past work — SCV picks the right mode from your wording. Use whenever the user is thinking out loud about a change, asks what to do next, asks what SCV can do, or wants to find past work — not…
codegen
TDD-first codegen for a scv/promote/ / plan. Verifies TESTS fail first (Red), then iteratively writes the minimum code to pass each case (Green). Hands off archive/PR/regression to /scv:work. Use whenever the user wants a plan implemented test-first — 'TDD', 'tests first', 'red-green' — not only when they type…
deck
Turn a markdown planning doc into a spec-grade 기획서 HTML — a buildless, self-contained document by default, or an on-screen slide presentation when you ask for one. Deterministic md→deck transform + a quality/gap lint; the raw markdown travels with it. Use whenever the user wants a planning document turned into…
regression
Run accumulated regression across scv/archive//TESTS.md (and optionally promote/) with supersede/obsolete skip graph. On failure, triage each slug via AskUserQuestion (regression / obsolete / flaky). Use whenever the user asks whether past features still pass, or before archiving anything — 'run the tests', 'is…