Contributor-First PR Merge
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
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.
$ npx skills add javierbrea/eslint-plugin-boundaries --skill create-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries create-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/create-pr .claude/skills/create-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 "create-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/create-pr into .claude/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-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/create-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 create-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries create-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/create-pr .agents/skills/create-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 "create-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/create-pr into .agents/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-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 create-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries create-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/create-pr .cursor/skills/create-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 "create-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/create-pr into .cursor/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-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/create-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 create-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install javierbrea/eslint-plugin-boundaries create-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/create-pr .gemini/skills/create-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 "create-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/create-pr into .gemini/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-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 create-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 create-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/create-pr .github/skills/create-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 "create-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/create-pr into .github/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-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 create-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 create-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/create-pr .opencode/skills/create-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 "create-pr" agent skill from https://github.com/javierbrea/eslint-plugin-boundaries/tree/master/.agents/skills/create-pr into .opencode/skills/create-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-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.
create-prCreate or update a GitHub pull request for the current branch from the repository's fixed PR template (.github/PULLREQUESTTEMPLATE.md) and the branch changes.
Create PR is an agent skill from 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. Infers PR type from the branch name, discovers the related GitHub issue number from the branch name or from the commits on the branch, enriches the description from that issue when it can be read, asks clarifying questions, and always shows a preview for explicit confirmation before creating the PR in draft state.
Its SKILL.md is about 2.3k 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 Requirements gathering. It works with GitHub, ESLint and Git. 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:
gitghFrom 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.
Create PR loads about 2.3k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 1,241 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,241 words, ~2,338 tokens.
.claude/skills/create-pr/SKILL.md (or your agent's skills folder).Use this skill when you need to open or update a GitHub pull request for the current branch, filling the repository's PR template from the actual branch changes and, when possible, from the linked GitHub issue.
Provide (optional; a sensible default applies):
target_branch (default release): the base branch for the pull request.Resolve inputs. Determine target_branch from the arguments, defaulting to release.
Read the PR template. It always lives at .github/PULL_REQUEST_TEMPLATE.md in this repository — read it directly, no discovery needed. If it is somehow missing, build a sensible default description structure from the changes.
Infer the PR type from the branch name. Map the branch prefix to the PR <type>:
| Branch prefix | PR title <type> |
|---|---|
feat/ | feat |
fix/ | fix |
docs/ | docs |
chore/ | chore |
refactor/ | refactor |
If the PR type cannot be inferred with confidence, ask the user before proceeding.
Discover the related GitHub issue.
466 in feat/466/category-type-accumulation).target_branch (git log <target_branch>..HEAD) for a (#<number>) token — this repository's commit convention is <type>(#<number>): <description> (for example feat(#466): ...).Gather change context. Inspect the branch changes against target_branch (for example git diff <target_branch>...HEAD and git log <target_branch>..HEAD) to understand what the pull request introduces, and to determine which parts of the codebase were touched (for the scope labels in step 9).
Enrich the description (issue conditional).
get_issue); otherwise gh issue view <number> --json title,body — and use its title/body together with the diff to write an accurate change description.Build the title and description. <type> is one of feat, fix, docs, chore, refactor.
<type>: Title (conventional-commit style, matching this repository's own commit messages).Description, Agreement) from the issue and the diff. Leave the Agreement checkboxes unchecked for the user to confirm themselves.closes #<number> line following the template's "Closing issues" convention. In issue-less mode, omit it.Show a mandatory preview. Present the full title and description and ask for explicit confirmation before any create or update call. When updating an existing pull request, make clear which content will be replaced, and preserve any manually added sections not covered by the template rather than overwriting them.
Determine labels from the actual changes. This repository uses these labels (match the strings exactly, including the space after the colon):
type: bug (branch prefix fix//bug/, or fix(...) commits) or type: feature (branch prefix feat/). For other prefixes, do not force type: bug/type: feature; ask the user if a type label should be applied (for example type: task).scope: code — functional code under packages/*/src.scope: tests — test files (test/, *.spec.*, *.test.*).scope: documentation — docs/website content and *.md files.scope: dependencies, scope: CI-CD, scope: refactor) may also apply — use them when the diff matches.Prefer GitHub MCP tools. Use GitHub MCP tools for all supported operations (for example create_pull_request, update_pull_request, get_issue). Fall back to gh CLI or REST only for operations MCP does not support.
Create or update the pull request. Check whether a pull request already exists for the current branch. If one exists, update it and leave its existing draft/ready state unchanged (never promote or demote it). Otherwise create a new pull request targeting target_branch, explicitly setting draft: true so it starts in draft state; do not switch a newly created pull request to ready for review.
Label and assign. Apply the labels determined in step 9 (adding to, not replacing, any labels already present on an existing PR unless they conflict, e.g. a stale type label). On creation, assign the pull request to the authenticated user; on update, keep the existing assignee (do not reassign).
Report. Respond to the user with the pull request URL.
401, 403, Bad credentials, Requires authentication, Resource not accessible by integration, permission denied, or not authorized as terminal for the current automation attempt.Return results with:
Include assumptions, risks, and follow-ups when relevant.
Input
feat/466/category-type-accumulation.target_branch=release; GitHub MCP not available, gh CLI available.Expected output
#466 discovered from the branch name; description enriched from gh issue view 466 plus the diff; a preview confirmed by the user; a draft PR titled feat: Support disabling category accumulation at file descriptors targeting release, with closes #466, labeled type: feature and scope: code (plus scope: tests/scope: documentation if those files also changed), and its URL.Input
release include fix(#460): boundaries/dependencies no longer skips external/core dependencies ....target_branch=release.Expected output
(#460) token is used instead; issue #460 fetched to enrich the description; draft PR titled fix: ... with closes #460, labeled type: bug and scope: code, plus its URL.Input
chore/update-dependencies.target_branch=release; no issue number in the branch name or in the commits; the user confirms there is no related GitHub issue.Expected output
closes line, a preview confirmed by the user, and a draft PR titled chore: Update dependencies targeting release, labeled scope: dependencies, plus its URL.© 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/create-pr of javierbrea/eslint-plugin-boundaries.
Open the folder on GitHubat commit 50f2d31
Create 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 |
|---|---|---|---|---|---|---|
| Create PR this skilljavierbrea/eslint-plugin-boundaries | 997 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Pull Request Title and Body Writeropeninterpreter/openinterpreter | 69k | 2 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| PR Review State Fetchprisma/orm | 48k | — | ~767 | Automated safety check: Pass | Apache-2.0 | |
| Creating Description For Gh PRredis/jedis | 12k | — | ~838 | Automated safety check: Pass | MIT |
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
openinterpreter/openinterpreter
Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.
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.
redis/jedis
Generate a clear, concise GitHub PR title and description from the diff between two local git branches, and save it to prDescription.md in the repo root.
makeplane/plane
Opens a pull request for the current branch using the repo's template, a work item ID in the title and a description filled in from the actual diff.
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
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…
javierbrea/eslint-plugin-boundaries
Complete or maximize unit test coverage for a specific TypeScript file in this repo.
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
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. Create PR is an agent skill from javierbrea/eslint-plugin-boundaries.md) and the branch changes.
Create PR fits situations like: tasks that involve Pull requests; tasks that involve Requirements gathering.
Run `npx skills add javierbrea/eslint-plugin-boundaries --skill create-pr -a claude-code`. Or copy the skill folder (.agents/skills/create-pr in javierbrea/eslint-plugin-boundaries) into .claude/skills/create-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add javierbrea/eslint-plugin-boundaries --skill create-pr -a codex`. Or copy the skill folder (.agents/skills/create-pr in javierbrea/eslint-plugin-boundaries) into .agents/skills/create-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 create-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/create-pr, .gemini/skills/create-pr, .github/skills/create-pr and .opencode/skills/create-pr in your project.
Going by SKILL.md and its folder, Create PR needs the command-line tools its instructions call (git and gh).
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 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.
Create 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.3k tokens (SKILL.md is roughly 9.4k 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 Create PR: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Create Pull Request (cline/cline, 70k stars), Pull Request Title and Body Writer (openinterpreter/openinterpreter, 69k stars) and PR Review State Fetch (prisma/orm, 48k 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 5, 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.