Cherry Studio PR Review
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.
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.
$ npx skills add prisma/orm --skill github-review-iteration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install prisma/orm github-review-iteration --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/prisma/orm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills-contrib/github-review-iteration .claude/skills/github-review-iteration && 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 "github-review-iteration" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/github-review-iteration into .claude/skills/github-review-iteration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-review-iteration", 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/prisma/orm/tree/main/skills-contrib/github-review-iterationType 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 prisma/orm --skill github-review-iteration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install prisma/orm github-review-iteration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills-contrib/github-review-iteration .agents/skills/github-review-iteration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "github-review-iteration" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/github-review-iteration into .agents/skills/github-review-iteration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-review-iteration", 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 prisma/orm --skill github-review-iteration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install prisma/orm github-review-iteration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills-contrib/github-review-iteration .cursor/skills/github-review-iteration && 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 "github-review-iteration" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/github-review-iteration into .cursor/skills/github-review-iteration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-review-iteration", 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/prisma/orm.git --path skills-contrib/github-review-iteration--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 prisma/orm --skill github-review-iteration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install prisma/orm github-review-iteration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills-contrib/github-review-iteration .gemini/skills/github-review-iteration && 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 "github-review-iteration" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/github-review-iteration into .gemini/skills/github-review-iteration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-review-iteration", 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 prisma/orm github-review-iterationInstalls 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 prisma/orm --skill github-review-iteration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills-contrib/github-review-iteration .github/skills/github-review-iteration && 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 "github-review-iteration" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/github-review-iteration into .github/skills/github-review-iteration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-review-iteration", 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 prisma/orm --skill github-review-iteration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install prisma/orm github-review-iteration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills-contrib/github-review-iteration .opencode/skills/github-review-iteration && 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 "github-review-iteration" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/github-review-iteration into .opencode/skills/github-review-iteration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-review-iteration", 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.
github-review-iterationRuns 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.
The skill is an orchestrator that owns sequencing, handoff and loop control while delegating the real work to subagents: a review triager turns comment threads into a structured action plan, and a review implementer makes the changes, marks them done and resolves the threads. Fetching the PR review state, triage and implementation each live in sibling skills (`review-fetch-phase`, `review-triage-phase` and `review-implement-phase`) that must sit in the same parent directory.
Three subcommands are supported: `triage`, `implement` and `iterate`, which loops the first two until clear and is the default. It takes a PR URL and an optional output directory; without one, artifacts go under `wip/reviews/` in a folder named from the lowercased owner, repo and PR number. Scripts should run from the repository root, since the reviews root is resolved against the working directory, and script paths are relative to the skill's own installed location rather than the project being reviewed. A `scripts/review-iterate.mjs` script is bundled.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 095af7a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodegitghFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comFrom 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.
GitHub Review Iteration loads about 2.2k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 815 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 found no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from prisma/orm at commit 095af7a, republished under its Apache-2.0 licence (© prisma). 815 words, ~2,226 tokens.
.claude/skills/github-review-iteration/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.Run an iterative PR review loop: fetch state → render/summarize → triage actions → implement (code + Done + resolve) → re-fetch until the PR has no remaining actionable items.
This skill is an orchestrator. It delegates:
../review-triage-phase/agents/review-triager.md../review-implement-phase/agents/review-implementer.mdThe orchestrator owns sequencing, handoff, and loop control. It does not perform triage or implementation directly when delegation is available.
This skill depends on three sibling skills that live in the same parent directory:
../review-fetch-phase/ — fetches and renders PR review state../review-triage-phase/ — triages review threads into an action plan../review-implement-phase/ — implements triaged actions and resolves threadsAll script paths in this document are relative to this skill's directory. Use ../ to reach sibling skills. Do not search the workspace/repo for these files — they are part of the skills installation, not the project being reviewed.
Run the scripts from the repository root, addressing them by their full path under the skills installation. The reviews root defaults to wip/reviews resolved against the working directory, so a run started elsewhere writes artifacts outside the repo-root wip/ tree that .gitignore covers. Pass --reviews-root <repo-root>/wip/reviews if you must run from another directory.
To run a path from the repository root, prefix it with this skill's installed location — .agents/skills/github-review-iteration/. So ../review-fetch-phase/scripts/fetch-review-state.mjs becomes .agents/skills/review-fetch-phase/scripts/fetch-review-state.mjs.
This skill supports subcommands:
triage: fetch + triage into structured actionsimplement: execute the triaged actions and update statusiterate: loop triage → implement until clear (default)/github-review-iteration iterate <PR_URL> [output-dir]When output-dir is omitted, use the standard layout: wip/reviews/<owner>_<repo>_pr-<number>/ (derived from the PR URL, with owner and repo lowercased — derive a directory name by hand the same way, or the artifacts split across two directories).
Example:
/github-review-iteration iterate https://github.com/OWNER/REPO/pull/123Store artifacts under:
wip/reviews/<owner>_<repo>_pr-<number>/
Canonical artifacts:
review-state.json (canonical v2)review-actions.json (canonical v2)Derived artifacts:
review-state.mdsummary.txt (or JSON summary)review-actions.mdapply-log.json (optional)When you need a thin wrapper for path setup + standard script calls, run:
node .agents/skills/github-review-iteration/scripts/review-iterate.mjs --pr <PR_URL>For phase-specific execution without full orchestration, use:
/review-fetch-phase <PR_URL> [output-dir]/review-triage-phase <PR_URL> [output-dir]/review-implement-phase <PR_URL> [output-dir]git add -A / git add .)gh api TLS / cert failures in sandboxed shellsIf GitHub administration fails with an error like:
x509: OSStatus -26276 (or similar TLS/certificate verification failures)Treat it as an environment/sandbox cert-store mismatch, not a script bug.
Recovery:
gh calls outside the sandbox (use a shell mode that uses the system cert store).GH_NO_VERIFY_SSL, no custom curl flags).All script paths below are relative to this skill's directory.
node ../review-fetch-phase/scripts/fetch-review-state.mjs --pr <PR_URL> --out-json <review-dir>/review-state.jsonnode ../review-fetch-phase/scripts/render-review-state.mjs --in <review-dir>/review-state.json --out <review-dir>/review-state.md
node ../review-fetch-phase/scripts/summarize-review-state.mjs --in <review-dir>/review-state.json --format text --out <review-dir>/summary.txtnode ../review-triage-phase/scripts/render-review-actions.mjs --in <review-dir>/review-actions.json --out <review-dir>/review-actions.mdreview-actions.json is the contract between the triager and implementer.
Minimum v2 shape:
{
"version": 2,
"pr": { "url": "https://github.com/OWNER/REPO/pull/123", "nodeId": "PR_kw..." },
"reviewState": { "path": "review-state.json", "fetchedAt": "...", "version": 2 },
"actions": [
{
"actionId": "A-001",
"target": { "kind": "review_thread", "nodeId": "PRRT_xxx", "url": "..." },
"decision": "will_address",
"summary": "One-line description of what will be done",
"rationale": null,
"targetFiles": ["path/to/file.ts"],
"acceptance": "How to tell it's done",
"status": "pending",
"done": null
}
]
}Rules:
target.nodeId).actions[] order intentionally (do not reorder).status (pending|in_progress|done) and done records in place.pull_request_review body may contain multiple findings (especially from automated reviewers like CodeRabbit which bundle "outside diff range" comments into the review body). The triager must decompose these into sub-actions (e.g., A02a, A02b). Never blanket-dismiss review bodies without reading their content.triageInvoke the review triager agent at ../review-triage-phase/agents/review-triager.md and pass:
<output-dir>/review-state.md<output-dir>/review-state.json<output-dir>/review-actions.md<output-dir>/review-actions.jsonThe triager must:
../review-fetch-phase/scripts/fetch-review-state.mjs)review-actions.json decisions/statusreview-actions.md and review-actions.jsonBefore returning from triage, verify that <output-dir>/review-actions.json exists and is valid for implementer consumption (version, PR metadata, and actions[] with target.kind + target.nodeId).
implementInvoke the review implementer agent at ../review-implement-phase/agents/review-implementer.md and pass:
<output-dir>/review-actions.md<output-dir>/review-actions.jsonThe implementer must:
will_address actionsreview-actions.json in-place (status, done)Responsibility note:
iterateRepeat delegated triage → delegated implement until there are no remaining actionable review items.
Loop contract:
triage delegation and read resulting review-actions.json.review-actions.json; if no will_address actions remain with pending or in_progress status, stop and report completion.implement delegation.triage delegation to refresh state and determine next iteration.If this repo provides dedicated slash commands or subagents for triage/implementation, prefer them to reduce manual steps.
© prisma, Apache-2.0. 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 3 other files (scripts) in skills-contrib/github-review-iteration of prisma/orm.
Open the folder on GitHubat commit 095af7a
GitHub Review Iteration 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 |
|---|---|---|---|---|---|---|
| GitHub Review Iteration this skillprisma/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 | |
| PR Reviewjaemk/self_update | 961 | — | ~1.5k | Automated safety check: Notes | MIT | |
| PR Reviewjaemk/cached | 2.1k | — | ~2.5k | Automated safety check: Notes | MIT | |
| Pull Request Code Review Orchestratoropeninterpreter/openinterpreter | 69k | 2 repos | ~163 | Automated safety check: Pass | Apache-2.0 | |
| .NET MAUI Code Reviewdotnet/efcore | 15k | — | ~2k | Automated safety check: Pass | MIT |
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.
jaemk/self_update
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.
jaemk/cached
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/cached.
openinterpreter/openinterpreter
Run a final code review on a pull request
dotnet/efcore
Deep code-only review of a pull request or candidate patch for correctness, safety and .NET MAUI conventions, judging the code before reading the PR description.
owainlewis/blueprint
Has a separate agent review a code change without editing it, checking behavior, security, regressions, complexity, tests and docs before merge.
prisma/orm
Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.
prisma/orm
Implements triaged pull request review actions, commits focused fixes, posts status replies on GitHub and resolves the threads.
prisma/orm
Runs the triage step of the review-framework loop: reads fetched PR review state, builds `review-actions.json`, validates it and renders `review-actions.md`.
prisma/orm
Replaces a plain TypeScript union plus switch statements with frozen subclasses and a visitor interface when several places dispatch on the same variants.
prisma/orm
Guides an outside contributor through opening a prisma/orm pull request from a fork that follows CONTRIBUTING.md and passes review on the first round.
prisma/orm
Creates a GitHub pull request for the Prisma repo with a Linear-ticket-prefixed title and a decision-led narrative description, inferring the ticket from context.
Works with
Categories
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. The skill is an orchestrator that owns sequencing, handoff and loop control while delegating the real work to subagents: a review triager turns comment threads into a structured action plan, and a review implementer makes the changes, marks them done and resolves the threads. Fetching the PR review state, triage and implementation each live in sibling skills (`review-fetch-phase`, `review-triage-phase` and `review-implement-phase`) that must sit in the same parent directory.
GitHub Review Iteration fits situations like: addressing all review comments on an open pull request; triaging review threads into a list of actions before coding; iterating until a PR has no actionable review items left.
Run `npx skills add prisma/orm --skill github-review-iteration -a claude-code`. Or copy the skill folder (skills-contrib/github-review-iteration in prisma/orm) into .claude/skills/github-review-iteration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add prisma/orm --skill github-review-iteration -a codex`. Or copy the skill folder (skills-contrib/github-review-iteration in prisma/orm) into .agents/skills/github-review-iteration 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 prisma/orm --skill github-review-iteration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-review-iteration, .gemini/skills/github-review-iteration, .github/skills/github-review-iteration and .opencode/skills/github-review-iteration in your project.
Going by SKILL.md and its folder, GitHub Review Iteration needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node, git and gh). Our summary lists: Node.js, for the bundled `review-iterate.mjs` script; The sibling review-fetch-phase, review-triage-phase and review-implement-phase skills; Access to the pull request on GitHub.
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
GitHub Review Iteration is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.9k 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 GitHub Review Iteration: Cherry Studio PR Review (CherryHQ/cherry-studio, 52k stars), PR Review (jaemk/self_update, 961 stars), PR Review (jaemk/cached, 2.1k stars) and Pull Request Code Review Orchestrator (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
prisma (a GitHub organization, an official publisher) maintains it in prisma/orm, which has 47,701 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 6, 2026.
Source: prisma/orm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.