Borrowing it
Nothing to install: this file belongs to guillermoscript/lms-front. 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/guillermoscript/lms-front/master/.agents/skills/pr-review-loop/SKILL.mdgit clone --depth 1 https://github.com/guillermoscript/lms-frontWrote 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/guillermoscript/lms-front/pr-review-loop)<a href="https://agentmods.dev/skills/guillermoscript/lms-front/pr-review-loop"><img src="https://agentmods.dev/badge/skills/guillermoscript/lms-front/pr-review-loop/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/guillermoscript/lms-front/pr-review-loop"><img src="https://agentmods.dev/badge/skills/guillermoscript/lms-front/pr-review-loop.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.00188 | $0.03975 |
| Opus 5.5 | $0.00075 | $0.01590 |
| Sonnet 5.5 | $0.00038 | $0.00795 |
| Haiku 4.5 | $0.00019 | $0.00398 |
Grade C, and why
pr-review-loop scanned grade C 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 1mo 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
`rm -rf`. If cleanup skipped something, the merge still succeeded — say How it starts
The opening of the file, as written. The whole thing — 334 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PR Review Loop — from announced PR to merged, closed out
The gap this closes: after ship-pr announces a PR, nothing watches it.
This skill polls the PR for reviewer feedback, addresses each piece with
code or an answer, loops until the PR is approved, merges it, and triggers
ship-pr's close-out — the whole review conversation handled without the
user shepherding it.
Two doctrines govern everything below:
- Stateless — GitHub is the only state. No watermark files, no local memory of what was processed. Each cycle rebuilds its work queue from the PR itself: a review thread is pending if it's unresolved and the last word isn't ours; a conversation comment is pending if it's newer than our last reply or push and isn't ours. A dead session, an expired cron, or a manual re-invoke all resume identically — just run a cycle.
- The loop never reacts to its own comments. "Ours" is the
authenticated user (
gh api user -q .login), resolved fresh each run.
Config (Slack channel, default reviewer, project board) comes from
.claude/gh-workflow.config.json via the gh-repo-config skill; board
moves go through gh-board; close-out comments belong to
ship-pr; local cleanup after the merge runs through this skill's own
scripts/cleanup.sh. Chat with the user may be
terse (caveman), but everything posted to GitHub or Slack is a permanent
record — normal, professional, full-sentence English.
Reviewing someone else's PR is the mirror skill, pr-review-watch —
it runs /code-review, submits an approve/request-changes verdict, and
re-reviews each new push. This skill is only for PRs we authored; one PR
never gets both loops.
Invocation and arming
/pr-review-loop <pr-url | #N | N>
/pr-review-loop # resolves the PR from the current branch
With no argument, resolve via gh pr view --json number,url on the
current branch. Verify the PR is open and authored by (or assigned to)
the authenticated user — this skill shepherds our PRs, not strangers'.
What ships with it
2 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.
- 1mo ago First seen · 334 lines · 188 tokens per session scan C 90bcd24c9b07
pr-review-loop is a skill published in the GitHub repository guillermoscript/lms-front (40 stars, last pushed today), licensed MIT. It adds 188 tokens to every session and 3,975 once invoked, about $0.0008 per session on Opus 5.5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
understand-pr
Review a PR the way a seasoned maintainer would — build an independent model before seeing the diff, investigate the implementation and history, verify material claims, and return a concise briefing. Use for any PR review, self-review, or re-review.
factory-gitlab-review
Review a GitLab merge request for a Factory work item using brokered source-control tools.
factory-gitlab-rereview
Re-review a GitLab merge request after new commits and reconcile the previous review.
tuturuuu-review-comments
Inspect, fix, and resolve Tuturuuu pull-request review threads.
review-animations
Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.
ship-feature
End-to-end feature delivery — implement a feature, verify builds/tests pass, open a fully-filled draft PR, then automatically push every feedback round and review iteration to the same PR. Use when the user asks to implement or build a feature, fix-and-ship a change, or iterate on an existing feature PR.