Draft Pull Request Creator
wordpress-mobile/WordPress-Android
Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
$ npx skills add remix-run/react-router --skill create-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install remix-run/react-router 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/remix-run/react-router.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/remix-run/react-router/tree/main/.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/remix-run/react-router/tree/main/.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 remix-run/react-router --skill create-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install remix-run/react-router create-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/remix-run/react-router.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/remix-run/react-router/tree/main/.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 remix-run/react-router --skill create-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install remix-run/react-router create-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/remix-run/react-router.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/remix-run/react-router/tree/main/.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/remix-run/react-router.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 remix-run/react-router --skill create-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install remix-run/react-router create-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/remix-run/react-router.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/remix-run/react-router/tree/main/.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 remix-run/react-router 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 remix-run/react-router --skill create-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/remix-run/react-router.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/remix-run/react-router/tree/main/.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 remix-run/react-router --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 remix-run/react-router create-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/remix-run/react-router.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/remix-run/react-router/tree/main/.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-prPackages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.
The agent starts by checking git status and the current branch, keeps unrelated dirty files out of the change, and creates a branch from HEAD if the worktree is detached. It confirms that automated test coverage exists and, for user-facing changes, that the affected package has a change file in its .changes folder. Docs-only, workflow-only and dependency-maintenance PRs are exempt from that file.
It then reviews the diff, stages only the intended files, commits with a short imperative subject and pushes. The PR body is saved to a temporary file and handed to gh pr create. The PR is a draft aimed at main unless you ask for a ready PR or another base branch. The body explains what changed, why and who it affects, links related issues, and includes a usage snippet or before and after example for new features. Labels such as pkg:*, feat:*, docs and dependencies are applied.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 266915e. 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.
React Router Pull Request Creator loads about 2.5k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 760 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 remix-run/react-router at commit 266915e, republished under its MIT licence (© remix-run). 760 words, ~2,492 tokens.
.claude/skills/create-pr/SKILL.md (or your agent's skills folder).Create the pull request handoff for completed React Router work. Default to a draft PR targeting main unless the user explicitly asks for a ready PR or a different base branch.
git status --short --branch and git branch --show-current.HEAD before committing. Use the branch name requested by the user, an existing repository convention, or <author>/<semantic-name> when no stronger convention is available.packages/<package>/.changes/. This is not necessary for docs-only, GitHub Actions/workflow-only, or dependency-maintenance PRs unless the dependency change itself has user-facing impact.git diff --stat plus focused git diff over broad repo archaeology when the change is small.git diff --stat and focused git diff as needed.Save the PR body to a temporary file, then use gh pr create with:
gh pr create --draft --base main --head <branch> --title "<title>" --body-file <file>--draft only when the user explicitly asks for a ready PR.--base only when the user explicitly requests a different base branch.Closes #NNNN for bug fixes the PR should close; use Implements #NNNN or a plain link for RFCs/discussions when closing semantics are not appropriate.gh pr create fails, leave the branch pushed when possible and give the user a ready-to-open compare URL plus the prepared title and body.Recommended PR body shape:
This change ...
- Optional extra detail when useful.
```tsx
// Optional feature usage example
```// Optional before/after exampleTesting
- Do not use a `## Summary` heading. Start with one or two short sentences explaining what the change accomplishes.
- Add bullets after the opening only when more detail is useful.
- Include usage examples for new features, and before/after examples for replacements or improvements, when they help reviewers understand the change.
- Add `**Testing**` with bullets below the description only when there are manual checks, unusual verification steps, skipped non-CI checks, or failures reviewers should know about. Omit it for routine automated coverage.
## Testing Notes
- Do not list linting, typechecking, unit test, or integration test commands in the PR body, even if they were run locally. CI runs these automatically.
- Do not say that CI will run routine linting, typechecking, unit tests, or integration tests. That is assumed for every PR.
- Do not add manual testing instructions by default.
- Add manual testing instructions only when necessary, such as visual/UI behavior that needs human review, environment-specific behavior not covered by CI, release/publish dry-run steps, external service integration, or a reproduction that cannot be expressed reliably in automated tests.
- When manual testing is necessary, keep the instructions minimal and directly tied to the uncovered risk.
## Labels
Apply labels after the PR exists. Rely on the stable labels listed in this skill for normal PRs.
Apply labels with:
```sh
gh pr edit <number-or-url> --add-label "<label>"If gh pr edit --add-label fails because the specified label is invalid or missing, run:
gh label list --limit 200Then choose the correct label from the live list and update this skill in place so the stable label guidance stays current. Use real labels only. If the right label does not exist, do not invent one; mention the missing label.
Add every applicable pkg:* label based on touched package paths:
| Touched path | Label |
|---|---|
packages/react-router/ | pkg:react-router |
packages/react-router-dev/ | pkg:@react-router/dev |
packages/create-react-router/ | pkg:create-react-router |
packages/react-router-architect/ | pkg:@react-router/architect |
packages/react-router-cloudflare/ | pkg:@react-router/cloudflare |
packages/react-router-node/ | pkg:@react-router/node |
packages/react-router-serve/ | pkg:@react-router/serve |
packages/react-router-express/ | pkg:@react-router/express |
packages/react-router-fs-routes/ | pkg:@react-router/fs-routes |
packages/react-router-remix-routes-option-adapter/ | pkg:@react-router/remix-routes-option-adapter |
If a package path is unclear, inspect its package.json name and use pkg:<name> when that label exists. If a change touches generated artifacts or integration tests only, infer the package label from the runtime/tooling area being tested. For example, Vite plugin or prerender integration coverage usually maps to pkg:@react-router/dev.
Add applicable feat:* labels for the behavior area being changed. Common labels include:
| Behavior area | Label |
|---|---|
| Core navigation, loaders/actions, fetchers, redirects, matching, and router state | feat:router |
Route config APIs and routes.ts | feat:routes.ts |
| Vite plugin and build pipeline behavior | feat:vite |
| SPA mode | feat:spa-mode |
| Prerendering | feat:prerender |
| Lazy route discovery | feat:lazy-route-discovery |
| Hydration and hydration fallback behavior | feat:hydration |
| View transition APIs | feat:view-transitions |
| Middleware behavior | feat:middleware |
| Split route module behavior | feat:split-route-modules |
| Streaming behavior | feat:streaming |
| CSS handling | feat:css |
| Windows-specific fixes | feat:windows |
| RSC Data or RSC Framework behavior | feat:rsc |
| Path matching semantics | feat:path-matching |
| Single fetch behavior | feat:single-fetch |
| Types, typegen, and TypeScript behavior | feat:typescript |
Multiple feature labels are fine when the diff truly spans multiple areas. Prefer the most specific label that exists.
Some PRs do not need package or feature labels:
docs for documentation-only changes.github-actions for .github/workflows/ or Actions infrastructure changes.dependencies for dependency or lockfile-only maintenance.v6, v7, or v8 only when the PR is intentionally scoped to that release line or the user asks for it.Report:
© remix-run, 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 remix-run/react-router.
Open the folder on GitHubat commit 266915e
React Router Pull Request Creator 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 |
|---|---|---|---|---|---|---|
| React Router Pull Request Creator this skillremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Draft Pull Request Creatorwordpress-mobile/WordPress-Android | 3.2k | — | ~881 | Automated safety check: Notes | GPL-2.0 | |
| Publish Pull Request for taskctltaskctl/taskctl | 434 | — | ~979 | Automated safety check: Pass | GPL-3.0 | |
| Git GitHub Opsc5inco/compose-pokedexer | 143 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Pull Request Creationlobehub/lobehub | 83k | — | ~3.2k | Automated safety check: Pass | Custom licence | |
| GitHub PR WorkflowRedWoodOG/Hermes-Desktop | 177 | 5 repos | ~2.5k | Automated safety check: Notes | MIT |
wordpress-mobile/WordPress-Android
Commits and pushes current changes, writes a pull request title and body from the branch history and template, and opens a draft PR on GitHub after you approve it.
taskctl/taskctl
Publishes the current branch and opens or updates a GitHub pull request for the taskctl repo, after a pre-publish gate and with a description template matched to the change.
c5inco/compose-pokedexer
Handles Pokedexer Git and GitHub workflows: inspect changes, prepare commit messages, manage branches and pushes, and create or update issues and pull requests with safe file-based inputs.
lobehub/lobehub
Creates a pull request for the current branch against canary, or splits a cross-layer branch into ordered stacked PRs so backend changes merge before their callers.
RedWoodOG/Hermes-Desktop
Full pull request lifecycle — create branches, commit changes, open PRs, monitor CI status, auto-fix failures, and merge.
usenotra/notra
Git workflow for pushing code and opening pull requests on GitHub.
remix-run/react-router
Guides work on React Router apps by first identifying whether the app uses Framework, Data or Declarative mode, then loading the matching reference and the installed package docs.
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
remix-run/react-router
Takes a blocked community pull request in React Router and adds the missing tests, change file or docs so it can merge, working on the contributor's branch.
remix-run/react-router
Fixes a React Router bug reported in a GitHub issue end to end: fetching the issue, validating the reproduction, writing a failing test and implementing the fix on a new branch.
remix-run/react-router
Turns a React Router RFC discussion on GitHub into an implementation, weighing community feedback and settling open questions with you before coding.
Works with
Categories
Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels. The agent starts by checking git status and the current branch, keeps unrelated dirty files out of the change, and creates a branch from HEAD if the worktree is detached.changes folder.
React Router Pull Request Creator fits situations like: opening a draft PR after finishing a change in the React Router repo; writing a PR body that explains what changed and why; choosing the right pkg, feat or docs label for a pull request.
Run `npx skills add remix-run/react-router --skill create-pr -a claude-code`. Or copy the skill folder (.agents/skills/create-pr in remix-run/react-router) into .claude/skills/create-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add remix-run/react-router --skill create-pr -a codex`. Or copy the skill folder (.agents/skills/create-pr in remix-run/react-router) 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 remix-run/react-router --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, React Router Pull Request Creator needs the command-line tools its instructions call (gh and git). Our summary lists: Git and the GitHub CLI (gh); A checkout of the React Router repository.
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.
React Router Pull Request Creator 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.5k tokens (SKILL.md is roughly 10k 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 React Router Pull Request Creator: Draft Pull Request Creator (wordpress-mobile/WordPress-Android, 3.2k stars), Publish Pull Request for taskctl (taskctl/taskctl, 434 stars), Git GitHub Ops (c5inco/compose-pokedexer, 143 stars) and Pull Request Creation (lobehub/lobehub, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
remix-run (a GitHub organization) maintains it in remix-run/react-router, which has 56,597 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 6, 2026.
Source: remix-run/react-router on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.