Post Draft Review
agent-substrate/substrate
Posts pull request review findings as GitHub draft (pending) inline comments for a human to edit and submit, instead of publishing them straight to the PR author.
Review a GitHub pull request from three perspectives — functional fit against its linked issue, code correctness/quality, and architectural boundaries — then post a single GitHub review: one general…
$ npx skills add javierbrea/eslint-plugin-boundaries --skill review-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries review-pr --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/javierbrea/eslint-plugin-boundaries.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/review-pr .claude/skills/review-pr && 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 "review-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-pr into .claude/skills/review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr", 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/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-prType 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 javierbrea/eslint-plugin-boundaries --skill review-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries review-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/javierbrea/eslint-plugin-boundaries.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/review-pr .agents/skills/review-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "review-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-pr into .agents/skills/review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr", 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 javierbrea/eslint-plugin-boundaries --skill review-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries review-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/javierbrea/eslint-plugin-boundaries.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/review-pr .cursor/skills/review-pr && 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 "review-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-pr into .cursor/skills/review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr", 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/javierbrea/eslint-plugin-boundaries.git --path .agents/skills/review-pr--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 javierbrea/eslint-plugin-boundaries --skill review-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries review-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/javierbrea/eslint-plugin-boundaries.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/review-pr .gemini/skills/review-pr && 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 "review-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-pr into .gemini/skills/review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr", 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 javierbrea/eslint-plugin-boundaries review-prInstalls 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 javierbrea/eslint-plugin-boundaries --skill review-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/javierbrea/eslint-plugin-boundaries.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/review-pr .github/skills/review-pr && 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 "review-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-pr into .github/skills/review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr", 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 javierbrea/eslint-plugin-boundaries --skill review-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries review-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/javierbrea/eslint-plugin-boundaries.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/review-pr .opencode/skills/review-pr && 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 "review-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/review-pr into .opencode/skills/review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "review-pr", 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.
review-prReview a GitHub pull request from three perspectives — functional fit against its linked issue, code correctness/quality, and architectural boundaries — then post a single GitHub review: one general…
Review PR is an agent skill from javierbrea/eslint-plugin-boundaries. Review a GitHub pull request from three perspectives — functional fit against its linked issue, code correctness/quality, and architectural boundaries — then post a single GitHub review: one general overall comment plus inline comments for each real finding. Use when: asked to review, check, or give feedback on a pull request, given a PR URL/number, or asked to review the PR for the current branch.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Pull requests and Technical documentation. It works with GitHub and ESLint. The repository describes itself as: Enforce architectural boundaries in your JavaScript and TypeScript projects. The licence is MIT.
12 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 50f2d31. 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.
Shell commands in SKILL.md call:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
Review PR loads about 2.9k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,625 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); files beside SKILL.md are not scanned.
The full file from javierbrea/eslint-plugin-boundaries at commit 50f2d31, republished under its MIT licence (© javierbrea). 1,625 words, ~2,943 tokens.
.claude/skills/review-pr/SKILL.md (or your agent's skills folder).Use this skill when you need to review a GitHub pull request in this repository — checking whether it fulfils the issue it addresses, whether the code itself is correct and well tested, and whether it respects the repository's architecture — and to publish that review as a single GitHub pull request review with a general comment and per-finding inline comments.
Provide (all optional; a sensible default applies):
pr_url or pr_number: a full GitHub pull request URL, or a bare number in this repository. If omitted, the skill looks up the open pull request for the current branch.Resolve the target PR. Accept a full PR URL, a bare number, or nothing.
origin remote (javierbrea/eslint-plugin-boundaries).pull_request_read/list_pull_requests; fall back to gh pr view --json url,number). If none exists, tell the user and stop.pull_request_read).Sync the local checkout. Compare the current branch and its HEAD commit against the PR's head ref and head commit sha.
git fetch origin <headRef> then checkout. If the working tree has uncommitted changes, warn about that first and never discard local work without confirmation.Discover the related issue, to obtain the functional specification the change is meant to satisfy. Try in order:
closes #<number> / fixes #<number> / resolves #<number> reference (or GitHub's own linked-issues field) in the PR body.477 in fix/477/migration-guide-links).(#<number>) token in the commits on the branch (this repository's commit convention is <type>(#<number>): <description>).issue_read (or gh issue view <number> --json title,body,comments) to build the functional spec.Gather review context.
AGENTS.md file(s) for any package touched by the diff (see this repository's CLAUDE.md layering: read a project's own AGENTS.md before reviewing a change there).Perspective 1 — functional review against the issue (perform this yourself, do not delegate). Using the spec built in step 3:
CHANGELOG.md entry under "unreleased", and was the package version bumped consistently with SemVer, per .github/CONTRIBUTING.md and .agents/rules/changelog-and-versioning.md?README.md, docs/**, and/or the website content under packages/website/docs/** (per .agents/rules/docs-authoring.md)? Flag it only when the issue or diff implies user-visible behaviour actually changed.Perspective 2 — delegate to the reviewer subagent for code correctness, quality, and test coverage. Give it: the PR number and title, the base branch and diff range (<base>...<headSha>), the list of changed files, and whether the review is running in GitHub-only mode (so it knows whether it can run tests/lint locally).
Perspective 3 — delegate to the architecture-reviewer subagent for boundary/dependency-direction/Nx-graph compliance. Give it the same context as step 6, plus the functional spec derived in step 3, so it can judge not only compliance but whether the change is architecturally well-placed for what the issue actually requires, and flag a better structural alternative if one exists.
Run steps 6 and 7 in parallel, in a single message — they are independent.
Consolidate the three perspectives.
blocking / non-blocking / nit), a one- or two-sentence explanation, and — when the fix is small and localized — a GitHub suggestion block with the exact replacement code.Show a mandatory preview. Present the full general comment and a numbered list of every inline comment (file:line, severity, explanation, suggestion if any). Ask for explicit confirmation before posting anything. Let the user drop, edit, or downgrade individual findings before proceeding. Do not post anything before this confirmation.
Post the review, using the GitHub MCP review flow:
pull_request_review_write with method: create to open a pending review, including the general comment as its body.add_comment_to_pending_review once per confirmed inline finding, with the suggestion block included in the comment body when applicable.pull_request_review_write with method: submit_pending and event: COMMENT to submit. The review is always submitted as a comment — never APPROVE, never REQUEST_CHANGES; the human maintainer decides the verdict.gh CLI or REST only for operations the MCP tools do not support.No findings is a valid, complete outcome. If nothing survives step 8, submit the general comment alone. Do not invent problems to justify inline comments.
Report to the user: the review URL, the count of findings by severity that were posted, whether the review ran in GitHub-only mode, and whether an issue was found and used for the functional spec.
401, 403, Bad credentials, Requires authentication, Resource not accessible by integration, permission denied, or not authorized as terminal for the current automation attempt.file:line and suggestion — in the response so the user can copy and paste it manually.Return results with:
Include assumptions, risks, and follow-ups when relevant.
Input
https://github.com/javierbrea/eslint-plugin-boundaries/pull/478.closes #470.Expected output
#470 read for functional context; reviewer and architecture-reviewer run in parallel; findings consolidated; preview shown and confirmed; a COMMENT review posted with a general comment and, say, two non-blocking inline comments; the review URL reported.Input
481 while on an unrelated local branch with uncommitted changes.Expected output
Input
Expected output
COMMENT after confirmation.event: COMMENT. Never submit APPROVE or REQUEST_CHANGES automatically.gh CLI or REST only for what MCP cannot do.© javierbrea, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/review-pr of javierbrea/eslint-plugin-boundaries.
Open the folder on GitHubat commit 50f2d31
Review PR 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 |
|---|---|---|---|---|---|---|
| Review PR this skilljavierbrea/eslint-plugin-boundaries | 997 | — | ~2.9k | Automated safety check: Pass | MIT | |
| Post Draft Reviewagent-substrate/substrate | 4.6k | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Review Kedro PRkedro-org/kedro | 11k | — | ~2.8k | Automated safety check: Pass | Custom licence | |
| Inline PR Commentshyperlane-xyz/hyperlane-explorer | 102 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Clarify Java CommentsDataDog/dd-trace-java | 736 | — | ~2.3k | Automated safety check: Notes | Apache-2.0 | |
| Process PR Reviewsnexu-io/nexu | 3.3k | — | ~2.5k | Automated safety check: Pass | MIT |
agent-substrate/substrate
Posts pull request review findings as GitHub draft (pending) inline comments for a human to edit and submit, instead of publishing them straight to the PR author.
kedro-org/kedro
Review a Kedro PR for checklist compliance, architecture, correctness, and clarity.
hyperlane-xyz/hyperlane-explorer
Post a single consolidated PR review with summary and inline comments.
DataDog/dd-trace-java
Clarify or review Java Javadocs, Javadoc tags, and explanatory code comments for legibility, accuracy, and source alignment.
nexu-io/nexu
A skill your agent uses when the user asks to process, triage, fetch, view, count, list, or resolve review feedback in a GitHub PR.
epam/UUI
Guides the UUI pull request process including branch naming, pre-PR checklist, changelog updates, and quality requirements.
javierbrea/eslint-plugin-boundaries
Act as a software architect: analyze a repository's folder structure and cross-file import dependencies, detect its architectural pattern, design element/file boundaries with the user, and configure…
javierbrea/eslint-plugin-boundaries
Complete or maximize unit test coverage for a specific TypeScript file in this repo.
javierbrea/eslint-plugin-boundaries
Create or update a GitHub pull request for the current branch from the repository's fixed PR template (.github/PULLREQUESTTEMPLATE.md) and the branch changes.
javierbrea/eslint-plugin-boundaries
Cross-cutting architecture reference for the eslint-plugin-boundaries monorepo — the dependency graph between packages, the Nx target graph, and the release flow.
Categories
Review a GitHub pull request from three perspectives — functional fit against its linked issue, code correctness/quality, and architectural boundaries — then post a single GitHub review: one general…. Review PR is an agent skill from javierbrea/eslint-plugin-boundaries. Review a GitHub pull request from three perspectives — functional fit against its linked issue, code correctness/quality, and architectural boundaries — then post a single GitHub review: one general overall comment plus inline comments for each real finding.
Review PR fits situations like: : asked to review; give feedback on a pull request; given a PR URL/number; asked to review the PR for the current branch.
Run `npx skills add javierbrea/eslint-plugin-boundaries --skill review-pr -a claude-code`. Or copy the skill folder (.agents/skills/review-pr in javierbrea/eslint-plugin-boundaries) into .claude/skills/review-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add javierbrea/eslint-plugin-boundaries --skill review-pr -a codex`. Or copy the skill folder (.agents/skills/review-pr in javierbrea/eslint-plugin-boundaries) into .agents/skills/review-pr 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 javierbrea/eslint-plugin-boundaries --skill review-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/review-pr, .gemini/skills/review-pr, .github/skills/review-pr and .opencode/skills/review-pr in your project.
Going by SKILL.md and its folder, Review PR needs the command-line tools its instructions call (gh and git).
SKILL.md contains no URLs. Its commands use gh and git, 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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Review PR is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k 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 Review PR: Post Draft Review (agent-substrate/substrate, 4.6k stars), Review Kedro PR (kedro-org/kedro, 11k stars), Inline PR Comments (hyperlane-xyz/hyperlane-explorer, 102 stars) and Clarify Java Comments (DataDog/dd-trace-java, 736 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
javierbrea (a GitHub user) maintains it in javierbrea/eslint-plugin-boundaries, which has 997 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 9, 2026.
Source: javierbrea/eslint-plugin-boundaries on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.