Borrowing it
Nothing to install: this file belongs to auerbachb/claude-code-config. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/auerbachb/claude-code-config/main/.claude/skills/pr-monitor-and-manage/SKILL.mdgit clone --depth 1 https://github.com/auerbachb/claude-code-configWrote 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/auerbachb/claude-code-config/pr-monitor-and-manage)<a href="https://agentmods.dev/skills/auerbachb/claude-code-config/pr-monitor-and-manage"><img src="https://agentmods.dev/badge/skills/auerbachb/claude-code-config/pr-monitor-and-manage/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/skills/auerbachb/claude-code-config/pr-monitor-and-manage"><img src="https://agentmods.dev/badge/skills/auerbachb/claude-code-config/pr-monitor-and-manage.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 6 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Tool Misuse · line 729 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Tool Misuse · line 742 Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
- high Privilege Escalation · line 739 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Agent Snooping · line 411 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
- medium Rogue Agent · line 768 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Agent Snooping · line 778 Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.Fix: Remove all code or instructions that list or read other skills' files or directories. Skills should operate independently; cross-skill access is a privilege escalation.
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.00138 | $0.16789 |
| Opus 5 | $0.00069 | $0.08394 |
| Sonnet 5 | $0.00028 | $0.03358 |
| Haiku 4.5 | $0.00014 | $0.01679 |
Grade A, and why
pr-monitor-and-manage scanned grade A with 1 finding 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
(docs-confirmed name, no curl-pipe-sh, no TLS bypass, no sudo); (4) ONLY after How it starts
The opening of the file, as written. The whole thing — 785 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Thread-level PR fleet manager. This skill turns the current thread into a dedicated monitor that watches every open PR you own and drives each one to merge-ready (or a named hard block) by dispatching the per-PR decision tree on a recurring cadence. Fix work (has-recoverable-blockers / verdict fixpr) is handled by parallel phase-a-fixer subagents (default cap 3, --max-parallel N). Merge-ready PRs get sequential /wrap dispatch only.
Auto-merge via
/wrap. PMM never merges directly; merge-ready PRs dispatch the full/wrapworkflow inline once gate + AC pass (CLAUDE.md"PR MERGE AUTHORIZATION"). Scope: onlygh pr merge --squashvia/wrap— never branch-protection changes, never dismissing human reviews, never bypassing gate or AC failures. With--confirm-mergesoff (default), PMM dispatches/wrapimmediately on merge-ready PRs with no per-PR "merge now?" prompt.
Per-PR dispatch is inlined below.
TODO: refactor to call /babysit-pr per discovered PR after #456 lands.Until #456 merges, Step 3's decision tree is the single owner of per-PR logic. When/babysit-prexists, replace Step 3's inline branches with one/babysit-pr <PR>dispatch per discovered PR — the table, discovery, idempotency, and backoff scaffolding here stay unchanged.
Parent/subagent scope, prohibited actions, refusal template, and common misreads: references/pmm-scope.md.
Step 00: Resolve shared tooling (MANDATORY, before the tick gate)
/pr-monitor-and-manage is symlinked into every repo, but its helper scripts and reference docs are not — most repos carry no .claude/ directory. Resolve them once per tick, before anything reads state; never invoke a bare .claude/scripts/… path. Full contract and the classified dependency inventory: .claude/reference/portable-skill-resolution.md (issue #1189).
resolve_script() {
local name="$1" candidate
for candidate in \
"$HOME/.claude/skills-worktree/.claude/scripts/$name" \
"$HOME/.claude/scripts/$name" \
".claude/scripts/$name"; do
if [[ -x "$candidate" ]]; then echo "$candidate"; return 0; fi
done
return 1
}
SESSION_STATE_SH=$(resolve_script session-state.sh || true)
MERGE_GATE_SH=$(resolve_script merge-gate.sh || true)
MERGE_SEQUENCE_SH=$(resolve_script merge-sequence.sh || true)
PR_ISSUE_REF_SH=$(resolve_script pr-issue-ref.sh || true)
REVIEWER_OF_SH=$(resolve_script reviewer-of.sh || true)
CR_HOURLY_SH=$(resolve_script cr-review-hourly.sh || true)
REPO_ROOT_SH=$(resolve_script repo-root.sh || true)
PR_STATE_SH=$(resolve_script pr-state.sh || true)
USAGE_HORIZON_SH=$(resolve_script usage-horizon.sh || true)
These bindings are in scope for every step of the tick, including the references/pmm-*.md procedures. Read reference docs (merge-sequencing.md, release-cadence.md) through the matching .claude/reference/ candidate order.
When something does not resolve, say so in one line; never skip the contract silently.
SESSION_STATE_SHorMERGE_GATE_SHempty → required, and fatal for the tick. PrintERROR: <name> not found (checked all three paths) — PR fleet management unavailableand exit without acting. Every verdict this skill reaches is a merge decision; a fleet manager that cannot read the gate or persist a hard block must not guess, and must not act on a guess.MERGE_SEQUENCE_SHempty → optional. PrintDEGRADED: merge-sequence.sh not found (checked all three paths) — overlap-aware sequencing unavailable, merging one PR per tickand serialize merges rather than sequencing them.USAGE_HORIZON_SHempty → optional, and conservative. PrintDEGRADED: usage-horizon.sh not found (checked all three paths) — horizon consult unavailable, holding "unknown" (no new subagent dispatch)and run Step 3.7 with the verdict it already produces for an unresolved helper.unknownis the fail-closed posture, neverclear: it suppresses new fixer dispatch while leaving merge-ready/wrapand rebases alone, so the fleet keeps landing work instead of freezing (subagent-thread-limit-park.md§8.1).REVIEWER_OF_SH,PR_ISSUE_REF_SH,CR_HOURLY_SH,REPO_ROOT_SH,PR_STATE_SHempty → optional. Print oneDEGRADED:line naming the script and what is lost (reviewer re-trigger routing, issue back-reference, CR budget accounting, root-repo resolution, reviewer-engagement matrix), then continue with that one capability off. An emptyPR_STATE_SHrenders every engagement cell as?— the tick still runs.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 Changed · +49 lines f97ee174ad03
- 7d ago Changed · +29 lines 01a703623f39
- 12d ago First seen · 707 lines · 138 tokens per session scan A 3f371bf32197
pr-monitor-and-manage is a skill published in the GitHub repository auerbachb/claude-code-config (5 stars, last pushed today), licensed MIT. It adds 138 tokens to every session and 16,789 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
revert
Git-aware revert that understands Draft tracks, phases, and tasks. Safely undo work at task, phase, or track level. Use when the user asks to 'revert this track', 'undo a phase', 'revert task X', or says 'roll back the last task', 'undo this work'.
robin
Use whenever an agent creates, updates, reviews, or completes a GitHub pull request. Detect whether Robin is installed in the repository; when it is, automatically drive the PR through a bounded review, verified-fix, reply, thread-resolution, re-review, authorized-merge, and cleanup loop without requiring the user to…
catchup
Summarize and review what changed while you were away. Use after a weekend, vacation, or flight to check missed PRs, git commits, Linear tickets, and meetings — one prioritized brief, not a firehose.
machinist
Use Machinist to create, assign, monitor, and resume software tasks. Use when a coding agent needs to work with Machinist, its GitHub issue workflow, lifecycle labels, direct runs, or managed queue.
no-mistakes
Validate committed feature-branch changes through the no-mistakes pipeline: intent, rebase, review, test, docs, lint, push, PR, and CI. Use when the user asks to run no-mistakes, ship safely, validate before pushing, or gate a change before it reaches upstream.
pr-threshold
Track commit accumulation and trigger PR when thresholds crossed.