PR Review
jaemk/self_update
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.
PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.
$ npx skills add jaemk/cached --skill pr-cycle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jaemk/cached pr-cycle --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jaemk/cached.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr-cycle .claude/skills/pr-cycle && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "pr-cycle" agent skill from https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycle into .claude/skills/pr-cycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-cycle", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jaemk/cached --skill pr-cycle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jaemk/cached pr-cycle --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaemk/cached.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/pr-cycle .agents/skills/pr-cycle && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-cycle" agent skill from https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycle into .agents/skills/pr-cycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-cycle", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaemk/cached --skill pr-cycle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jaemk/cached pr-cycle --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaemk/cached.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/pr-cycle .cursor/skills/pr-cycle && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "pr-cycle" agent skill from https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycle into .cursor/skills/pr-cycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-cycle", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jaemk/cached.git --path .agents/skills/pr-cycle--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jaemk/cached --skill pr-cycle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jaemk/cached pr-cycle --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaemk/cached.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/pr-cycle .gemini/skills/pr-cycle && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "pr-cycle" agent skill from https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycle into .gemini/skills/pr-cycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-cycle", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jaemk/cached pr-cycleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jaemk/cached --skill pr-cycle -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jaemk/cached.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/pr-cycle .github/skills/pr-cycle && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "pr-cycle" agent skill from https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycle into .github/skills/pr-cycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-cycle", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jaemk/cached --skill pr-cycle -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jaemk/cached pr-cycle --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jaemk/cached.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/pr-cycle .opencode/skills/pr-cycle && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "pr-cycle" agent skill from https://github.com/jaemk/cached/tree/master/.agents/skills/pr-cycle into .opencode/skills/pr-cycle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-cycle", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
pr-cyclePR review-and-update cycle — the orchestrator that takes a PR from review to resolved.
PR Cycle is an agent skill from jaemk/cached. PR review-and-update cycle — the orchestrator that takes a PR from review to resolved. It runs a local review (by delegating to the pr-review skill), fetches open GitHub review comments, evaluates all findings, applies valid fixes, runs CI, commits, pushes, resolves threads, and re-requests Copilot review. Supports three modes — full (default, everything), local (only the local-review-and-fix loop; no GitHub PR-conversation reads or mutations), and remote (only the GitHub PR feedback loop; no local review). The…
Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `pr.py`).
It sits in Development, covering Pull requests and Subagents. It works with GitHub and Rust. The repository describes itself as: Rust cache structures and easy function memoization. The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9da0ec2. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadEditWriteAgentFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
gitghcargomakeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PR Cycle loads about 4.8k tokens when it runs. Until then it costs about 221 tokens; SKILL.md has 2,459 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Edit, Write, AgentAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from jaemk/cached at commit 9da0ec2, republished under its MIT licence (© jaemk). 2,459 words, ~4,757 tokens.
.claude/skills/pr-cycle/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Run one full iteration of the review → fix → push → re-request loop. This is the orchestrator: it produces findings, addresses them with fixes, and updates the PR (commit, push, resolve threads, re-request review).
The review half is owned by the separate pr-review skill, which spawns the two
read-only review sub-agents and reports their findings. pr-cycle does not duplicate
that logic — step 2 below delegates to pr-review. Reach for pr-review directly when
you only want a read-only review (no fixes, no push, no GitHub-conversation changes);
reach for pr-cycle when you want those findings actually addressed and the PR updated.
The helper script is .agents/skills/pr-cycle/pr.py. Run it outside the sandbox (GitHub API requires network). Multiple commands can be passed in one call so only one permission prompt is needed:
.agents/skills/pr-cycle/pr.py [PR_NUMBER] COMMAND [COMMAND ...]The leading PR_NUMBER is optional — it is required only for the GitHub commands (comments, threads, resolve, rerequest, minimize, codspeed). The local commands (ci, readme, pushpreview, diff) take no PR number, so e.g. pr.py ci works directly (no placeholder needed).
Available commands: comments, threads, resolve, rerequest, minimize,
codspeed, ci, readme, pushpreview, diff.
This skill runs in one of three modes. The mode is taken from the input (see Input):
full (default) — the complete review → fix → push → resolve → re-request loop. Runs every step below.local — only the local review and fix loop. Runs the pr-review skill (the local code-review and consumer sub-agents), evaluates their findings, applies fixes, runs CI, regenerates the README, and commits/pushes. Does not interact with the PR conversation on GitHub: it does not read PR comments or threads, does not edit the PR body, and does not resolve, minimize/hide, or re-request Copilot review.remote — only the GitHub PR feedback loop. Fetches and evaluates open PR comments/threads, applies fixes, runs CI, regenerates the README, commits/pushes, then resolves threads, minimizes prior comments, re-requests Copilot review, and audits the PR body. Does not run the local review (pr-review).Both local and remote still commit and push the fixes they make (a code change has to land to be useful), and both follow the push protocol (show the push preamble before pushing). "Does not interact with GitHub" for local means the PR-conversation operations — comment/thread reads and mutations, Copilot re-request, PR-body edits — not the git push itself.
Step-by-step applicability (✓ = runs in that mode):
| Step | What | full | local | remote |
|---|---|---|---|---|
| 1 | Fetch open comments + threads | ✓ | ✓ | |
| 2 | Run local review (pr-review) | ✓ | ✓ | |
| 3 | Evaluate findings | ✓ | ✓ (agents only) | ✓ (PR comments only) |
| 4 | Apply fixes | ✓ | ✓ | ✓ |
| 5 | Run CI | ✓ | ✓ | ✓ |
| 6 | Regenerate README | ✓ | ✓ | ✓ |
| 7 | Sync audit (CHANGELOG / commit msg) | ✓ | ✓ | ✓ |
| 7c | Sync audit — PR body edit | ✓ | ✓ | |
| 8 | Commit + push | ✓ | ✓ | ✓ |
| 9 | Resolve threads + re-request Copilot | ✓ | ✓ | |
| 10 | Minimize prior comments | ✓ | ✓ | |
| 11 | Report | ✓ | ✓ | ✓ |
When a step is not applicable to the active mode, skip it entirely — do not run its pr.py command or gh call. In local mode you must not invoke any of comments, threads, resolve, rerequest, minimize, or gh pr edit/gh pr view --json body.
This skill is designed to keep expensive Opus reasoning concentrated in the judgment core and push everything else to cheaper models or to no model at all.
| Tier | What | Steps | Model |
|---|---|---|---|
| 0 — mechanical | All GitHub API ops, make ci, README regen, push preamble | 1, 5, 6, 8(preamble), 9, 10 | script (pr.py) |
| 1 — cheap delegation | Local review via pr-review (read-only sub-agents); fix application, fanned out across disjoint sub-agents | 2, 4b, 11 | Sonnet by default; per-group model override to Opus for harder groups (see 4b); review sub-agents overridable per-run (see Input) |
| 2 — judgment core | Classify findings; write explicit fix specs + test assertions; partition the fan-out; sync audit | 3, 4a, 7 | Opus (session model) |
A Sonnet session can drive the whole cycle; only Tier-2 actually needs strong reasoning, so consider switching the session to a cheaper model once the judgment core is done.
Optional PR number, an optional mode keyword (full, local, or remote), and an optional review-agent model override, in any order.
local / remote is present in the input, use it; otherwise default to full. Phrasings map as: "local review" / "just the local reviewers" / "local pr cycle" → local; "remote" / "address the pr comments" / "resolve and re-request" / "remote pr cycle" → remote; anything else (or "run the pr cycle") → full.pr-code-reviewer, pr-consumer-reviewer) defaults to sonnet, but can be overridden. If the input names a model (e.g. "use opus for the reviewers", "review with opus", "opus reviewers", "model=opus"), pass that model through to the pr-review delegation in step 2 (which forwards it to the Agent tool's model parameter on both sub-agent spawns). Only the review sub-agents are affected — this does not change the session model or the model used by pr-fix-implementer. This override is only meaningful in modes that run the local review (full, local); ignore it in remote mode.gh pr view --json number. In local mode no PR number is needed at all — the pr.py wrapper commands used there (ci, readme, pushpreview, diff) take no PR argument, so call them directly (e.g. pr.py ci). This also means local mode works without gh installed.Announce the resolved mode (and, when the reviewers will run, the review-agent model) at the start — e.g. "Running pr-cycle in local mode with opus reviewers" — before executing any step.
Modes: full, remote. Skip entirely in local mode.
Run outside the sandbox:
.agents/skills/pr-cycle/pr.py PR_NUMBER comments threadscomments fetches all inline review comments, separates them into new (post-last-push) vs pre-existing unresolved, and prints each with its ID, created_at, file:line, author, and body. Record every comment for evaluation in step 3 — do not filter by timestamp.
threads lists all review thread node IDs with their resolution status. Unresolved threads will all be resolved in step 10.
pr-review)Modes: full, local. Skip entirely in remote mode (no local review runs).
The review itself lives in the pr-review skill — do not re-implement it here. Run that
skill against this PR/branch to obtain the local findings, passing through the
review-agent model override from the Input if one was given. pr-review will:
.agents/skills/pr-cycle/pr.py PR_NUMBER diff, equivalent to
git diff origin/master),pr-code-reviewer and one pr-consumer-reviewer per shard in parallel (read-only,
each carrying its own rubric; Sonnet by default, or the overridden model on all
spawns), andCarry pr-review's findings forward into step 3, where they are evaluated alongside any
GitHub PR comments (in full mode). Do not act on fixes inside pr-review — it is
read-only; addressing findings is step 4 here.
Modes: all. The set of findings depends on the mode:
full — all open inline PR comments (from step 1) plus both sub-agent reports (from step 2).local — only the two sub-agent reports. Do not reference PR comments.remote — only the open inline PR comments. There are no sub-agent reports.Present all in-scope findings together. For each finding:
Explain your reasoning for each verdict. Do not apply any fix silently — call out what you are doing and why.
Modes: all.
For each valid finding, produce an explicit fix spec before touching any file:
Finding: <one-line summary>
Target: <file path>
Location: <file:line or unique surrounding snippet>
Change: <exact new text, or precise add/remove/replace description — never "improve the wording">
Test: <exact function name + exact assertions that would fail on unfixed code>
OR "no test needed (doc-only)"The spec must be precise enough for Sonnet to apply without judgment calls. Test design always stays here — this repo requires tests that fail on the unfixed code and pass on the fixed code; a trivially-passing test defeats the rule.
Common fix types:
src/stores/, src/lib.rs, cached_proc_macro/src/lib.rstests/cached.rsTRYBUILD=overwrite cargo test --no-default-features --features "proc_macro,time_stores" compile_fail_macro_arg_validationcached_proc_macro/src/Once every valid finding has a spec, apply them by fanning out across as many parallel sub-agents as the specs allow, rather than applying them serially in the orchestrator. Two rules govern the fan-out:
Disjoint partitioning (correctness). Parallel agents share one working tree, so two agents must never write the same file — concurrent edits to one file race and corrupt each other. Partition the specs into groups whose written-file sets do not overlap:
tests/cached.rs).tests/cached.rs therefore pulls every test-adding spec into one group — that is
expected; keep that group together rather than risking a race.Appropriate model per group (cost). Each group is handled by a pr-fix-implementer
agent spawned with the Agent tool's model parameter set to the tier the group's
hardest fix needs:
model: sonnet (the agent's default) — mechanical or repetitive groups: doc/comment
updates, a pattern replicated across the sharded stores, golden-file regen, simple
test additions.model: opus — groups containing a subtle logic change, a macro change in
cached_proc_macro/src/, or any fix whose application still needs real reasoning. The
spec from 4a is already precise enough to hand off (it must be, to be valid); raising
the implementer's model buys more careful application, not more decision latitude.Spawn all groups in a single message (multiple Agent calls) so they run concurrently. Each agent's prompt is the verbatim fix spec(s) for its group. Before spawning, state the partition: list each group, the files it owns, its model, and why that model.
Inline fallback. Skip the fan-out and edit directly only in the degenerate case where
it cannot pay off: a single spec, or a few tiny one-off edits that all touch one
overlapping region (so they cannot be partitioned anyway). State "applying inline because:
<reason>".
After all agents report back, verify with:
.agents/skills/pr-cycle/pr.py PR_NUMBER ciThen spot-check: confirm that at least one of the newly added tests would fail if its corresponding fix were reverted. (Read the test and reason through it; you do not have to literally revert the fix.)
Modes: all. Run outside the sandbox:
.agents/skills/pr-cycle/pr.py PR_NUMBER ciThis runs make ci, filters Redis/Docker noise, and exits non-zero only on real
failures. If it exits non-zero, fix the reported failures and re-run.
If trybuild golden files drift, regenerate them:
TRYBUILD=overwrite cargo test --no-default-features --features "proc_macro,time_stores" compile_fail_macro_arg_validationsrc/lib.rs changedModes: all. Run outside the sandbox:
.agents/skills/pr-cycle/pr.py PR_NUMBER readmeNo-ops automatically when src/lib.rs is unchanged vs origin/master.
Modes: all for parts (a), (b), (d). Part (c) — PR-body edit — runs only in full and remote; skip it in local (it reads and mutates the PR on GitHub).
Before staging anything, do a consistency check. The goal: every artifact that describes "what this PR does" must match the actual diff.
a. Diff summary — produce a concise internal summary of what the branch actually changes:
git diff origin/master --stat
git diff origin/master -- CHANGELOG.mdb. CHANGELOG.md — read the [Unreleased] section. For each bullet:
git diff origin/master? If a bullet refers to a feature or behavior that was removed, reverted, or renamed, update or remove it.c. PR description (full / remote only — skip in local) — read the current PR body:
gh pr view PR_NUMBER --json bodyApply the same audit: every claim must match the diff. Pay special attention to:
Update the PR body if anything is inaccurate:
gh pr edit PR_NUMBER --body "..."d. Commit message — draft a concise new commit message for the fixes made in this cycle. The message should describe only the newly applied changes, not the entire PR.
Do not make the sync audit a "wall of changes" — only fix what is actually wrong.
Modes: all (only if fixes were applied this pass). Applies to local and remote too — fixes have to land to be useful.
git add -p # stage only changed files explicitly
git commit -m "fix: address PR review feedback"Before pushing, run outside the sandbox to show the push preamble:
.agents/skills/pr-cycle/pr.py PR_NUMBER pushpreviewThen add a one-sentence summary of what the push contains (e.g. "Pushing 1 commit: doc fix for option+expires constraint and CHANGELOG update"). Then push:
git push origin BRANCHCreate a new commit for every PR-cycle pass that changes files. Do not amend previous commits and do not force push unless the user explicitly requests history rewriting.
Do not add a Co-Authored-By line.
Modes: full, remote. Skip entirely in local mode (no PR-conversation mutations, no Copilot re-request).
After the push, run outside the sandbox — combining both steps in one call:
.agents/skills/pr-cycle/pr.py PR_NUMBER resolve rerequestresolve re-fetches all unresolved threads and resolves each one via GraphQL mutation. Goal: zero open threads after this step.
rerequest triggers a fresh Copilot review on the PR.
Modes: full, remote. Skip entirely in local mode.
After threads are resolved, hide all inline review comments and top-level PR comments so the PR conversation is clean. Run outside the sandbox:
.agents/skills/pr-cycle/pr.py PR_NUMBER minimizeThis fetches all inline review comments and top-level PR comments from all authors and calls the GitHub minimizeComment GraphQL mutation with classifier RESOLVED on each one. Only comments created before the last push timestamp are minimized — comments posted after the push (i.e., responses to the new round of changes) are left visible. Use --dry-run first to preview which comments would be minimized.
Modes: all. State the mode that ran, and report only the lines relevant to it.
full / local / remote).full / remote) How many inline PR comments were found total; how many were new (post-last-push) vs. pre-existing unresolved; how many were valid/already-fixed/invalid; how many were fixed this cycle.full / local) How many code-reviewer findings were found, how many were valid, how many were fixed.full / local) How many consumer-reviewer findings were found, how many were valid, how many were fixed.full / remote — the PR description (or "all in sync").full / remote) Confirm threads resolved (state total resolved count) and Copilot re-requested.© jaemk, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/pr-cycle of jaemk/cached.
Open the folder on GitHubat commit 9da0ec2
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders. This page covers the copy in jaemk/cached, which our catalogue first saw on October 7, 2026.
PR Cycle next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| PR Cycle this skilljaemk/cached | 2.1k | — | ~4.8k | Automated safety check: Notes | MIT | |
| PR Reviewjaemk/self_update | 961 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Firewood Reviewava-labs/firewood | 153 | — | ~2.1k | Automated safety check: Notes | Custom licence | |
| GitHub Review Iterationprisma/orm | 48k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Cherry Studio PR ReviewCherryHQ/cherry-studio | 52k | — | ~3.9k | Automated safety check: Pass | AGPL-3.0 | |
| Address Issuenubjs/nub | 4.4k | — | ~2.6k | Automated safety check: Pass | MIT |
jaemk/self_update
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.
ava-labs/firewood
A skill your agent uses when reviewing ava-labs/firewood code changes — pull request or local workspace.
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
CherryHQ/cherry-studio
Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.
nubjs/nub
End-to-end playbook for working a GitHub issue (or bug-fix PR) on nubjs/nub: triage → acknowledge an external report with an "Investigating" comment → reproduce it yourself → SIZE it → fix it at…
openinterpreter/openinterpreter
Run a final code review on a pull request
jaemk/cached
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/cached.
jaemk/cached
Prepare a release (bump versions across all Cargo.toml files, update CHANGELOG.md, refresh the migration guide, regenerate README, commit), or run a pre-release review.
jaemk/cached
Review a library/package from the perspective of an external downstream consumer — build a throwaway crate/project that depends on it the way a real user would, exercise the public API, and surface…
Categories
PR review-and-update cycle — the orchestrator that takes a PR from review to resolved. PR Cycle is an agent skill from jaemk/cached. PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.
PR Cycle fits situations like: asked to run the pr cycle; address pr comments; resolve comments and re-request review; review and fix the branch.
Run `npx skills add jaemk/cached --skill pr-cycle -a claude-code`. Or copy the skill folder (.agents/skills/pr-cycle in jaemk/cached) into .claude/skills/pr-cycle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jaemk/cached --skill pr-cycle -a codex`. Or copy the skill folder (.agents/skills/pr-cycle in jaemk/cached) into .agents/skills/pr-cycle in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jaemk/cached --skill pr-cycle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-cycle, .gemini/skills/pr-cycle, .github/skills/pr-cycle and .opencode/skills/pr-cycle in your project.
Going by SKILL.md and its folder, PR Cycle needs Python for the scripts in its folder and the command-line tools its instructions call (git, gh, cargo and make). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Read, Edit, Write, Agent.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
PR Cycle is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with PR Cycle: PR Review (jaemk/self_update, 961 stars), Firewood Review (ava-labs/firewood, 153 stars), GitHub Review Iteration (prisma/orm, 48k stars) and Cherry Studio PR Review (CherryHQ/cherry-studio, 52k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jaemk (a GitHub user) maintains it in jaemk/cached, which has 2,098 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 1, 2026.
Source: jaemk/cached on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.