MCPInstall

create-pr

Create and package React Router pull requests. Use when the user asks to create, open, prepare, or finish a PR for this repository, including branch/commit/push handoff, draft PR creation, PR body writing, and applying GitHub labels such as pkg:, feat:, docs, github-actions, or dependencies.

Installs
99
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/remix-run/react-router --skill create-pr
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads create-pr automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Create React Router PR

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.

Preconditions

  • Inspect git status --short --branch and git branch --show-current.
  • Do not include unrelated dirty files. If unrelated changes are present, leave them unstaged and mention them.
  • If the worktree is detached, create a branch from the 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.
  • If already on a suitable named branch, use it.
  • Confirm appropriate automated coverage exists or was added. Do not list routine CI-covered checks in the PR body.
  • If user-facing functionality is being updated, check that the appropriate package has a change file under 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.

Context

  • Capture what changed, why it changed, and who it affects.
  • Find related issues, discussions, or PRs and include links when relevant.
  • Prefer git diff --stat plus focused git diff over broad repo archaeology when the change is small.
  • If the user supplies a report, issue, discussion, or related PR, treat that as the primary context source.
  • For new feature work, include a concise usage snippet. If the feature replaces or improves an older approach, include before/after examples when they help reviewers.

Commit and Push

  1. Review the diff with git diff --stat and focused git diff as needed.
  2. Stage only the intended files.
  3. Commit with a concise imperative subject.
  4. Push the branch before creating the PR.

PR Creation

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>
  • Omit --draft only when the user explicitly asks for a ready PR.
  • Change --base only when the user explicitly requests a different base branch.
  • Keep shell quoting simple. Prefer a body file if the body contains backticks, quotes, or multiple paragraphs.
  • Include issue/discussion links when known. Use 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.
  • Include testing notes only for manual checks, unusual verification, skipped non-CI checks, or failures that reviewers should know about.
  • If 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 example

Testing

  • Optional manual or non-CI verification notes only.

- 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 200

Then 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.

Package Labels

Add every applicable pkg:* label based on touched package paths:

Touched pathLabel
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.

Feature Labels

Add applicable feat:* labels for the behavior area being changed. Common labels include:

Behavior areaLabel
Core navigation, loaders/actions, fetchers, redirects, matching, and router statefeat:router
Route config APIs and routes.tsfeat:routes.ts
Vite plugin and build pipeline behaviorfeat:vite
SPA modefeat:spa-mode
Prerenderingfeat:prerender
Lazy route discoveryfeat:lazy-route-discovery
Hydration and hydration fallback behaviorfeat:hydration
View transition APIsfeat:view-transitions
Middleware behaviorfeat:middleware
Split route module behaviorfeat:split-route-modules
Streaming behaviorfeat:streaming
CSS handlingfeat:css
Windows-specific fixesfeat:windows
RSC Data or RSC Framework behaviorfeat:rsc
Path matching semanticsfeat:path-matching
Single fetch behaviorfeat:single-fetch
Types, typegen, and TypeScript behaviorfeat:typescript

Multiple feature labels are fine when the diff truly spans multiple areas. Prefer the most specific label that exists.

Non-Package Labels

Some PRs do not need package or feature labels:

  • Add docs for documentation-only changes.
  • Add github-actions for .github/workflows/ or Actions infrastructure changes.
  • Add dependencies for dependency or lockfile-only maintenance.
  • Add version labels such as v6, v7, or v8 only when the PR is intentionally scoped to that release line or the user asks for it.

Final Report

Report:

  • Branch name.
  • Commit hash.
  • PR URL and whether it is draft or ready.
  • Base branch.
  • Labels applied.
  • Verification performed or skipped.

FAQ

What does the create-pr skill do?

Create and package React Router pull requests. Use when the user asks to create, open, prepare, or finish a PR for this repository, including branch/commit/push handoff, draft PR creation, PR body writing, and applying GitHub labels such as pkg:, feat:, docs, github-actions, or dependencies.

How do I install create-pr?

Run npx skills add https://github.com/remix-run/react-router --skill create-pr in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/create-pr/ (personal) or .claude/skills/create-pr/ (project).

Which AI agents can use create-pr?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is create-pr safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains create-pr?

It is published by remix-run in remix-run/react-router. It has 99 recorded installs.

More from remix-run/react-router

View all →

react-router

remix-run/react-router

Build applications with React Router in Framework, Data, Declarative, and unstable RSC modes. Use when configuring routes, route modules, loaders, actions, forms, fetchers, navigation, pending UI, SSR/SPA/pre-rendering, middleware, URL params/search params, or React Router upgrades.

Frontend & Design1.7K installs

fix-bug

remix-run/react-router

Open the skill to read its SKILL.md instructions.

implement-rfc

remix-run/react-router

Implement a React Router RFC from a GitHub discussion URL. Fetches the proposal, evaluates community feedback, resolves outstanding questions interactively, then implements the feature with tests, future flags (if breaking), and a changeset.

Frontend & Design100 installs

finish-line

remix-run/react-router

Open the skill to read its SKILL.md instructions.

prepare-release-notes

remix-run/react-router

Open the skill to read its SKILL.md instructions.

Docs & Writing99 installs

agentic-workflows

remix-run/react-router

Route gh-aw workflow design/create/debug/upgrade requests to the right prompts.

AI & Agents91 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.