Agent skill

PR

by reactive in reactive/data-client

Create a GitHub pull request from current working changes. An agent skill from reactive/data-client.

Apache-2.0Auto-check passedDevelopment

Install PR

skills CLI
$ npx skills add reactive/data-client --skill pr -a claude-code

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

GitHub CLI
$ gh skill install reactive/data-client pr --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/reactive/data-client.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pr .claude/skills/pr && 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
pr
GitHub stars
2k
Token cost
~1.2k tokens
SKILL.md length
500 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Create a GitHub pull request from current working changes. An agent skill from reactive/data-client.

  • Works in 7 steps: Assess Git State → Handle Git States → Validate Changesets and Blog (before… → …
  • The user asks to create a PR
  • SKILL.md covers Overview, Step 1: Assess Git State, Step 2: Handle Git States and Step 3: Validate Changesets…, plus 4 more sections
  • Calls git and gh

What it does

PR is an agent skill from reactive/data-client. Create a GitHub pull request from current working changes. Handles all git states - uncommitted changes, no branch, unpushed commits, etc. Analyzes diffs and changesets to generate a PR with filled-in template. Opens the PR in the browser when done. Use when the user asks to create a PR, open a PR, submit changes, or push for review.

Its SKILL.md is about 1.2k 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 Git workflow. It works with Git and GitHub. The repository describes itself as: Async State Management without the Management. REST, GraphQL, SSE, Websockets. The licence is Apache-2.0.

When your agent uses it

  • The user asks to create a PR
  • Push for review

Example prompts

  • “/pr”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Assess Git State
  2. Handle Git States
  3. Validate Changesets and Blog (before committing)
  4. Push to Remote
  5. Analyze Changes for PR Description
  6. Create the PR
  7. Open in Browser

What it can do on your machine

Read from SKILL.md and the folder at commit 6d35253. 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

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

  • Network

    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.

  • 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

PR loads about 1.2k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 500 words of instructions outside code blocks.

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

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 reactive/data-client at commit 6d35253, republished under its Apache-2.0 licence (© reactive). 500 words, ~1,235 tokens.

Download SKILL.mdSave it as .claude/skills/pr/SKILL.md (or your agent's skills folder).
name
pr
description
Create a GitHub pull request from current working changes. Handles all git states - uncommitted changes, no branch, unpushed commits, etc. Analyzes diffs and changesets to generate a PR with filled-in template. Opens the PR in the browser when done. Use when the user asks to create a PR, open a PR, submit changes, or push for review.
disable-model-invocation
true
metadata.internal
true

Create Pull Request

Overview

Analyze the current git state, prepare changes for a PR, create it on GitHub with a well-crafted description, and open it in the browser.

Step 1: Assess Git State

Run these commands in parallel to understand the current state:

bash
git status --porcelain
git branch --show-current
git log --oneline master..HEAD 2>/dev/null
git diff --stat master...HEAD 2>/dev/null
git stash list

Also check for existing PR on the current branch:

bash
gh pr view --json url,state 2>/dev/null

Step 2: Handle Git States

Based on the assessment, follow the appropriate path:

No changes anywhere

If working tree is clean AND no commits ahead of master → inform user there's nothing to PR.

On master with uncommitted changes only
  1. Ask the user for a branch name, or infer one from the changes (lowercase, hyphenated, concise)
  2. Create and switch to branch: git checkout -b <branch-name>
  3. Stage all changes: git add -A
  4. Analyze the diff and write a commit message following the project's conventional commit style (see Commit Style below)
  5. Commit the changes
On master with commits ahead (not yet on a branch)
  1. Ask the user for a branch name, or infer one
  2. Create branch at current position: git checkout -b <branch-name>
  3. (The commits come along automatically)
On feature branch with uncommitted changes
  1. Stage all changes: git add -A
  2. Analyze the diff and write a commit message
  3. Commit the changes
On feature branch, all committed, not pushed

Continue to Step 3.

PR already exists

Inform the user and provide the existing PR URL. Ask if they want to update it instead.

Step 3: Validate Changesets and Blog (before committing)

For user-facing changes (feat:, fix:, enhance:), check that changesets and blog updates exist:

bash
ls .changeset/*.md 2>/dev/null | grep -v README
git diff --name-only master...HEAD 2>/dev/null
git status --porcelain

If changesets are missing or the draft blog post is unmodified, invoke the skill "changeset" to create them before proceeding. Skip this step for docs:, pkg:, internal:, demo: changes.

Step 4: Push to Remote

bash
git push -u origin HEAD
Show full SKILL.md (203 more words)Show less

Step 5: Analyze Changes for PR Description

Gather information for the PR body:

bash
# Full diff against master
git diff master...HEAD

# Commit messages
git log --format='%s%n%n%b' master..HEAD

# Check for changesets
ls .changeset/*.md 2>/dev/null | grep -v README

Read any changeset files (.changeset/*.md, excluding README.md) — these contain curated descriptions of what changed and why. Use them as primary source material for the PR description.

Examine the diff to understand:

  • Which packages are affected
  • Whether there are test changes
  • Whether there are doc changes
  • The nature of the change (feature, fix, refactor, docs, internal, pkg)

Step 6: Create the PR

Use gh pr create with the project's PR template structure. Base branch is always master.

PR Title

Follow commit convention style:

  • feat: <description> — new feature
  • fix: <description> — bug fix
  • enhance: <description> - improvements
  • docs: <description> — documentation only
  • pkg: <description> — dependency updates
  • internal: <description> — internal tooling/infra
  • demo: <description> — example app changes

Scope is optional, used for specificity (e.g., feat(rest):, fix(core):). Use imperative mood, under 72 chars. If the PR spans multiple types, use the most significant one. Commit messages follow the same convention.

PR Body Template

Fill in the template based on the analyzed changes. Remove HTML comments. Leave sections empty with "N/A" if not applicable. The Fixes # line should be omitted if there's no linked issue.

markdown
Fixes #<issue number if known, otherwise remove this line>

### Motivation

<Why this change exists. Pull from changeset descriptions, commit messages, and diff analysis.
Be specific: does it solve a bug? Enable a new use-case? Improve DX?>

### Solution

<High-level description of what was done. Key technical decisions and their rationale.
Mention affected packages, architectural choices, trade-offs.>

### Open questions

<Any unresolved design questions, or "N/A" if none>
Create Command
bash
gh pr create --base master --title "<title>" --body "$(cat <<'EOF'
<body content>
EOF
)"

Capture the PR URL from the output.

Step 7: Open in Browser

bash
gh pr view --web

© reactive, Apache-2.0. 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/pr of reactive/data-client.

Open the folder on GitHubat commit 6d35253

Compare with similar skills

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.

PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR this skillreactive/data-client2k—~1.2kAutomated safety check: PassApache-2.0
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0
Creating Description For Gh PRredis/jedis12k—~838Automated safety check: PassMIT
Create Pull Request with Work Item IDmakeplane/plane61k—~824Automated safety check: PassAGPL-3.0
React Router Pull Request Creatorremix-run/react-router57k—~2.5kAutomated safety check: PassMIT

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

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed
  • Official

    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.

    12k GitHub stars~838 tokensUpdated today
    DevelopmentAuto-check passed
  • 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.

    61k GitHub stars~824 tokensUpdated today
    DevelopmentAuto-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
    DevelopmentAuto-check passed
  • Pascal Editor PR Opener

    pascalorg/editor

    Opens or refreshes a pull request on pascalorg/editor from the current branch, describing only what the branch's commits and diff actually contain.

    25k GitHub stars~619 tokensUpdated today
    DevelopmentAuto-check passed

More from reactive/data-client

All 17 skills in this repo
  • Data Client REST Setup

    reactive/data-client

    Set up and migrate to @data-client/rest for REST APIs. An agent skill from reactive/data-client.

    2k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Data Client Manager

    reactive/data-client

    Implement @data-client Managers for global/background side effects - websocket, SSE, polling, real-time updates, subscriptions, logging, analytics, metrics/timing, error reporting (Sentry), toast…

    2k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Data Client React

    reactive/data-client

    Use @data-client/react hooks for data fetching, mutations, and rendering - useSuspense, useFetch, useQuery, useCache, useLive, useDLE, useSubscription, useController, DataProvider, AsyncBoundary…

    2k GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Data Client React Testing

    reactive/data-client

    Test @data-client/react with renderDataHook and mountDataClient - jest unit tests, fixtures, interceptors, MockResolver, mock responses, nock HTTP mocking, fake timers for polling/subscription…

    2k GitHub stars~1.5k tokensUpdated today
    Auto-check passed
  • Data Client REST

    reactive/data-client

    Define REST APIs with @data-client/rest - resource(), RestEndpoint, CRUD (GET/POST/PUT/PATCH/DELETE), HTTP fetch, normalize, cache, urlPrefix, path-to-regexp parameters, searchParams, pagination…

    2k GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Data Client Schema

    reactive/data-client

    Model data with @data-client schemas (Entity, EntityMixin, Collection, Union, Query, Values, All, Invalidate, Lazy, Scalar) for atomic, consistent, referentially-equal async data via normalization…

    2k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about PR

What does PR do?

Create a GitHub pull request from current working changes. An agent skill from reactive/data-client. PR is an agent skill from reactive/data-client. Create a GitHub pull request from current working changes.

When should I use PR?

PR fits situations like: the user asks to create a PR; push for review.

How do I install PR in Claude Code?

Run `npx skills add reactive/data-client --skill pr -a claude-code`. Or copy the skill folder (.agents/skills/pr in reactive/data-client) into .claude/skills/pr in your project. Claude Code loads it when a task matches its description.

How do I install PR in Codex?

Run `npx skills add reactive/data-client --skill pr -a codex`. Or copy the skill folder (.agents/skills/pr in reactive/data-client) into .agents/skills/pr in your project. Codex loads it when a task matches its description.

Can I use PR 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 reactive/data-client --skill 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/pr, .gemini/skills/pr, .github/skills/pr and .opencode/skills/pr in your project.

What does PR need to run?

Going by SKILL.md and its folder, PR needs the command-line tools its instructions call (git and gh).

Does PR 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 PR 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 PR use?

PR is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PR use?

About 1.2k tokens (SKILL.md is roughly 4.9k 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 PR?

Skills that share tags, products or a category with PR: Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Create Pull Request (cline/cline, 70k stars), Creating Description For Gh PR (redis/jedis, 12k stars) and Create Pull Request with Work Item ID (makeplane/plane, 61k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR?

reactive (a GitHub organization) maintains it in reactive/data-client, which has 2,037 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.

Source: reactive/data-client on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.