Agent skill

React Router PR Finish Line

by remix-run in 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.

MITAuto-check passedDevelopment

Install React Router PR Finish Line

skills CLI
$ npx skills add remix-run/react-router --skill finish-line -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install remix-run/react-router finish-line --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/remix-run/react-router.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/finish-line .claude/skills/finish-line && rm -rf skills-src

Use ~/.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/

Facts

Skill name
finish-line
GitHub stars
57k
Token cost
~1.4k tokens
SKILL.md length
667 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Works in 4 steps: Inspect local state with git status… → Fetch current main before making branch… → Gather PR context → …
  • A community PR looks good but lacks a change file
  • SKILL.md covers Overview, Triage, Contributor-Branch Workflow and Change Files, plus 2 more sections
  • Calls git, gh and pnpm

What it does

You give the agent a PR number or URL, and it will not start without one. It checks local git state without touching unrelated dirty files, fetches current main, then gathers the PR's details, check results and diff stats with the `gh` CLI before naming what is actually blocking the merge.

When the gap is a small maintainer follow-up, such as tests, a change file or docs, and the contributor's branch can be modified, it checks out the PR branch and adds the missing pieces. If the branch cannot be modified or the blocker is unclear, it summarizes the evidence and asks whether to wait for the contributor or recreate the work on a maintainer branch. It also judges test coverage across the Declarative, Data, Framework and RSC modes, and asks before widening scope if a needed test is large.

When your agent uses it

  • A community PR looks good but lacks a change file
  • A contributor PR needs docs or tests that a maintainer can add
  • Deciding whether to wait on a contributor or recreate their work

Example prompts

  • “Run finish-line on the community PR that only lacks a change file.”
  • “Check why the checks fail on that contributor PR and add a regression test if one is needed.”
  • “Can we push the docs fixes onto the contributor's branch, or do we need our own branch?”

Requirements

  • Git and the GitHub CLI (`gh`)
  • Push access to the contributor's PR branch when making changes

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Inspect local state with git status --short --branch. If unrelated dirty files exist, do not overwrite or stage them.
  2. Fetch current main before making branch decisions
  3. Gather PR context
  4. Identify merge blockers. In particular

What it can do on your machine

Read from SKILL.md and the folder at commit dee9ad2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • pnpm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, gh and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

React Router PR Finish Line loads about 1.4k tokens when it runs. Until then it costs about 108 tokens; SKILL.md has 667 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~108
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from remix-run/react-router at commit dee9ad2, republished under its MIT licence (© remix-run). 667 words, ~1,395 tokens.

Download SKILL.mdSave it as .claude/skills/finish-line/SKILL.md (or your agent's skills folder).
name
finish-line
description
Bring a blocked React Router community pull request across the finish line. Use when the user invokes `/finish-line` or `$finish-line`, provides a PR number or URL, and asks Codex to resolve merge blockers such as a missing change file, missing documentation, missing tests, or stale contributor follow-up. Handles evaluating the blocker and pushing small maintainer fixes onto a contributor PR branch when authorized.

Finish Line

Overview

Finish blocked community PRs in remix-run/react-router while respecting contributor ownership and the repo's PR packaging conventions.

Treat the PR number or URL in $ARGUMENTS as the target PR. If no target is provided, ask for it before doing anything.

Triage

  1. Inspect local state with git status --short --branch. If unrelated dirty files exist, do not overwrite or stage them.
  2. Fetch current main before making branch decisions:
sh
git fetch origin main
  1. Gather PR context:
sh
gh pr view <pr> --repo remix-run/react-router --json number,title,body,state,isDraft,author,baseRefName,headRefName,headRepository,headRepositoryOwner,maintainerCanModify,mergeStateStatus,reviewDecision,labels,files,commits,statusCheckRollup,url
gh pr checks <pr> --repo remix-run/react-router
gh pr diff <pr> --repo remix-run/react-router --stat
gh pr view <pr> --repo remix-run/react-router --comments
  1. Identify merge blockers. In particular:
  • If the PR only needs repo-maintainer additions such as tests, a change file, or docs, use the contributor-branch workflow.
  • If the contributor branch cannot be modified, summarize the evidence and ask the user whether to wait for the contributor or recreate the work on a maintainer branch.
  • If the blocker is unclear, summarize the evidence and ask the user which path to take.
  1. Evaluate test coverage before deciding the finish-line changes:
    • Inspect the PR diff, changed files, existing nearby tests, review comments, and failed checks for test expectations.
    • If the PR changes runtime behavior, build/plugin behavior, routing semantics, generated types, RSC behavior, docs rendering, or any bug/feature surface that can regress, add or preserve a focused test unless equivalent coverage already exists.
    • If tests are already included, verify they exercise the changed behavior and cover the affected React Router mode(s): Declarative, Data, Framework, RSC Data, and/or RSC Framework.
    • If tests are not needed because the change is documentation-only, packaging-only, a change file, or otherwise not executable behavior, note that rationale in the final report.
    • If a useful test is required but too large or risky for the finish-line scope, stop and ask the user before broadening the PR.

Contributor-Branch Workflow

Use this path when the missing work is a small maintainer follow-up, such as tests, a change file, or docs, and the contributor branch can be modified.

  1. Check out the PR branch:
sh
gh pr checkout <pr-number> --repo remix-run/react-router
  1. Confirm the branch and local state:
sh
git status --short --branch
git branch --show-current
  1. Make only the missing finish-line changes, including focused tests when the coverage evaluation requires them. Do not refactor the contributor's work unless it is necessary to unblock mergeability and the user agrees.
  2. Validate the exact content with the user before pushing:
    • For a change file, show the package path, file name, change type, and full markdown contents.
    • For docs, show the affected files and the relevant prose/API snippets.
    • For tests, show the test file path, the behavior covered, and the mode(s) covered.
    • Ask explicitly for approval to commit and push back to the PR branch.
  3. After approval, run focused validation when appropriate, commit the maintainer follow-up, and push to the PR branch. If git push fails because the contributor branch cannot be modified, stop and report the failure instead of opening a replacement PR unless the user approves that pivot.
Show full SKILL.md (202 more words)Show less

Change Files

Create change files under the affected package:

text
packages/<package>/.changes/<type>.<unique-meaningful-name>.md

Use patch, minor, major, or unstable for <type>. For bug fixes and narrow behavior fixes, default to patch. Keep the content concise:

markdown
Brief description of the user-facing change

If the PR spans multiple packages, prefer the package with the direct user-facing API or runtime behavior. Ask the user when the package or change type is not obvious.

Documentation

Do not add documentation by default for ordinary bug fixes. Add docs when the PR changes a documented API, introduces new behavior users need to discover, changes examples, or the user/reviewer explicitly requested docs.

Follow repo docs rules:

  • Edit source docs or JSDoc, not generated docs/api/ output.
  • Include mode context when adding docs for React Router behavior: Declarative, Data, Framework, RSC Data, or RSC Framework.
  • For API docs generated from JSDoc, edit packages/react-router/lib/ comments and note that pnpm run docs may be required.

Final Report

Report the path taken and the current PR state:

  • Original PR number and blocker.
  • Whether changes were pushed to the contributor branch or a replacement PR was opened.
  • Branch, commit hash, and PR URL when applicable.
  • Any old-PR comment/close action taken.
  • Validation performed or skipped.
  • Test coverage decision: added, already present, or intentionally omitted with rationale.

© 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

Files

Just SKILL.md in .agents/skills/finish-line of remix-run/react-router.

Open the folder on GitHubat commit dee9ad2

Compare with similar skills

React Router PR Finish Line 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.

React Router PR Finish Line compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
React Router PR Finish Line this skillremix-run/react-router57k—~1.4kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Pre-Release PR Triagejamiepine/voicebox57k—~3.1kAutomated safety check: PassMIT
Ansible Backport Creatoransible/ansible71k—~1.2kAutomated safety check: PassGPL-3.0
Contributor PR Review Checklistdifferent-ai/openwork24k—~2.9kAutomated safety check: PassCustom licence
GitHub Triagetrailofbits/skills7.5k—~5.8kAutomated safety check: NotesCC-BY-SA-4.0

Similar skills

  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Pre-Release PR Triage

    jamiepine/voicebox

    Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.

    57k GitHub stars~3.1k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Creates backports of a merged Ansible devel pull request onto the right stable branches by cherry-picking its merge commit onto new backport branches.

    71k GitHub stars~1.2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Contributor PR Review Checklist

    different-ai/openwork

    Checklist for reviewing pull requests from forks before approval: DCO sign-offs on every commit, CLA for ee/ paths, and whether the change is safe to merge.

    24k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed
  • GitHub Triage

    trailofbits/skills

    Official

    Triages open GitHub issues and pull requests with the gh CLI, optionally merging ready PRs, closing resolved issues with evidence and assigning local priority and size estimates.

    7.5k GitHub stars~5.8k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • PR Review

    Mathews-Tom/armory

    Diff-based PR review across code quality, test coverage, silent failures, type design, and comment quality with severity-ranked findings.

    329 GitHub stars~2.6k tokensUpdated 4 days ago
    DevelopmentAuto-check passed

More from remix-run/react-router

  • React Router Development

    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.

    57k GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • React Router Release Notes Prep

    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.

    57k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • React Router Pull Request Creator

    remix-run/react-router

    Packages finished React Router work into a draft pull request: branch, commit, push, a written PR body and the right GitHub labels.

    57k GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • React Router Bug Fix Workflow

    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.

    57k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • React Router RFC Implementer

    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.

    57k GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Sc Summary

    remix-run/react-router

    Summarize React Router Steering Committee meeting notes from a user-provided location in GOVERNANCE.md.

    57k GitHub stars~405 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about React Router PR Finish Line

What does React Router PR Finish Line do?

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. You give the agent a PR number or URL, and it will not start without one. It checks local git state without touching unrelated dirty files, fetches current main, then gathers the PR's details, check results and diff stats with the `gh` CLI before naming what is actually blocking the merge.

When should I use React Router PR Finish Line?

React Router PR Finish Line fits situations like: A community PR looks good but lacks a change file; A contributor PR needs docs or tests that a maintainer can add; deciding whether to wait on a contributor or recreate their work.

How do I install React Router PR Finish Line in Claude Code?

Run `npx skills add remix-run/react-router --skill finish-line -a claude-code`. Or copy the skill folder (.agents/skills/finish-line in remix-run/react-router) into .claude/skills/finish-line in your project. Claude Code loads it when a task matches its description.

How do I install React Router PR Finish Line in Codex?

Run `npx skills add remix-run/react-router --skill finish-line -a codex`. Or copy the skill folder (.agents/skills/finish-line in remix-run/react-router) into .agents/skills/finish-line in your project. Codex loads it when a task matches its description.

Can I use React Router PR Finish Line in Cursor, Gemini CLI or GitHub Copilot?

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 finish-line -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/finish-line, .gemini/skills/finish-line, .github/skills/finish-line and .opencode/skills/finish-line in your project.

What does React Router PR Finish Line need to run?

Going by SKILL.md and its folder, React Router PR Finish Line needs the command-line tools its instructions call (git, gh and pnpm). Our summary lists: Git and the GitHub CLI (`gh`); Push access to the contributor's PR branch when making changes.

Does React Router PR Finish Line access the network?

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.

Is React Router PR Finish Line safe to install?

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.

What licence does React Router PR Finish Line use?

React Router PR Finish Line is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does React Router PR Finish Line use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to React Router PR Finish Line?

Skills that share tags, products or a category with React Router PR Finish Line: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Pre-Release PR Triage (jamiepine/voicebox, 57k stars), Ansible Backport Creator (ansible/ansible, 71k stars) and Contributor PR Review Checklist (different-ai/openwork, 24k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains React Router PR Finish Line?

remix-run (a GitHub organization) maintains it in remix-run/react-router, which has 56,594 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 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.