Official agent skill

Pair GitHub PR

by NVIDIA in NVIDIA/Personal-AI-Router

Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes.

OfficialApache-2.0Auto-check passedDevelopment

Install Pair GitHub PR

skills CLI
$ npx skills add NVIDIA/Personal-AI-Router --skill pair-github-pr -a claude-code

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

GitHub CLI
$ gh skill install NVIDIA/Personal-AI-Router pair-github-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/NVIDIA/Personal-AI-Router.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/pair-github-pr .claude/skills/pair-github-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
pair-github-pr
GitHub stars
1.6k
Token cost
~1.3k tokens
SKILL.md length
433 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes.

  • Works in 5 steps: Push a feature branch only (never… → Build the description from the template… → Decide release vs no-release (below). → …
  • Rewriting a PR description
  • SKILL.md covers When opening or updating a…, No release (most pull requests), Shipping a product release and Hard format rules (the check…, plus 2 more sections
  • Calls python3

What it does

Pair GitHub PR is an agent skill from NVIDIA/Personal-AI-Router, published by the product's own GitHub organization. Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes. Use when opening, updating, or rewriting a PR description, when the user mentions release intent, version bumps, changelog for a PR, or when a workflow run fails on release-intent-check.

Its SKILL.md is about 1.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 Changelog and release notes. It works with GitHub. The repository describes itself as: Router that virtually distributes inference across connected devices in the home. The licence is Apache-2.0.

When your agent uses it

  • Rewriting a PR description
  • The user mentions release intent
  • Changelog for a PR
  • A workflow run fails on release-intent-check

Example prompts

  • “Use the pair-github-pr skill to fill GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent…”
  • “/pair-github-pr”

Requirements

  • Python 3

Workflow steps

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

  1. Push a feature branch only (never develop or main — see
  2. Build the description from the template structure: **PAIR release intent
  3. Decide release vs no-release (below).
  4. Do not edit services/versions.json in the pull request unless you also
  5. Before pushing the description, validate locally

What it can do on your machine

Read from SKILL.md and the folder at commit 4d1892b. 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:

    • python3

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

  • Network

    No URLs in SKILL.md.

    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

Pair GitHub PR loads about 1.3k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 433 words of instructions outside code blocks.

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

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 NVIDIA/Personal-AI-Router at commit 4d1892b, republished under its Apache-2.0 licence (© NVIDIA). 433 words, ~1,274 tokens.

Download SKILL.mdSave it as .claude/skills/pair-github-pr/SKILL.md (or your agent's skills folder).
name
pair-github-pr
description
Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes. Use when opening, updating, or rewriting a PR description, when the user mentions release intent, version bumps, changelog for a PR, or when a workflow run fails on release-intent-check.
<!--
SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->

PAIR pull request release intent

.github/workflows/release-intent-check.yml runs on every pull request. A missing or malformed intent block fails the check. Agents that create or edit PR descriptions must include a valid block — do not invent a free-form changelog section.

Canonical template (copy keys from here; keep the key set in sync with services/versions.json):

.github/PULL_REQUEST_TEMPLATE.md

SemVer meaning: services/VERSIONING.md. Operational detail (truncation, component add/remove): scripts/release-intent/README.md.

When opening or updating a pull request

  1. Push a feature branch only (never develop or main — see no-push-to-main.mdc).
  2. Build the description from the template structure: PAIR release intent fence first (truncation-safe), then Summary → Test plan.
  3. Decide release vs no-release (below).
  4. Do not edit services/versions.json in the pull request unless you also add <!-- pair-release-intent-allow-owned-files --> (bootstrap/hotfix, or component add/remove). desktop/package.json version is a manual release-cut carve-out and is not part of this block.
  5. Before pushing the description, validate locally:
bash
# Write the PR body to a file, then:
python3 scripts/release-intent/validate_pr.py \
  --description-file /tmp/pr-description.md \
  --skip-owned-files-check

In the workflow run, drop --skip-owned-files-check (CI enforces owned paths).

No release (most pull requests)

Every bump value is none. Changelog title and body are exactly n/a.

Use a Markdown bullet list for bumps (- key: value) so the rendered pull request stays one key per line without a code fence.

markdown
<!-- pair-release-intent:v1 -->
### Changelog title
n/a

### Changelog body
n/a

### Bumps
- services: none
- nvpair-cluster-manager: none
- nvpair-engine-manager: none
- nvpair-errors: none
- nvpair-job-scheduler: none
- nvpair-manual-nodes: none
- nvpair-node-info: none
- nvpair-node-scanner: none
- nvpair-node-settings: none
- nvpair-proxy: none
- nvpair-tui: none
- nvpair-ui-broker: none
- nvpair-workload-manager: none
<!-- /pair-release-intent:v1 -->

If services/versions.json gained or lost a component, edit that file in the pull request with <!-- pair-release-intent-allow-owned-files -->, and regenerate the bump key list (services + sorted component names). Extra or missing keys fail the check.

Show full SKILL.md (209 more words)Show less

Shipping a product release

  1. Set each touched component to patch, minor, or major (SemVer meaning in VERSIONING.md). Untouched components stay none.
  2. Set services to a severity ≥ the highest component bump. UI-only notes may bump services while all components stay none.
  3. Replace changelog title/body with real user-facing prose (not n/a). Prefer bullets in the body.
  4. Leave owned files alone — release-intent-apply.yml writes them after the pull request merges.

Example (engine-manager feature + services minor):

markdown
<!-- pair-release-intent:v1 -->
### Changelog title
Model downloads show live progress

### Changelog body
- Pulling a model on this machine now shows a live percentage instead of a spinner.

### Bumps
- services: minor
- nvpair-cluster-manager: none
- nvpair-engine-manager: minor
- nvpair-errors: none
- nvpair-job-scheduler: none
- nvpair-manual-nodes: none
- nvpair-node-info: none
- nvpair-node-scanner: none
- nvpair-node-settings: none
- nvpair-proxy: none
- nvpair-tui: none
- nvpair-ui-broker: none
- nvpair-workload-manager: none
<!-- /pair-release-intent:v1 -->

Hard format rules (the check fails otherwise)

  • Exact fences: <!-- pair-release-intent:v1 --> … <!-- /pair-release-intent:v1 -->
  • Exact headings: ### Changelog title, ### Changelog body, ### Bumps
  • Enums only: none | patch | minor | major (lowercase)
  • One bullet per key: - key: value (plain key: value still accepted)
  • HTML/# comment lines inside the intent block are allowed and ignored
  • Any non-none bump ⇒ real changelog (not n/a)
  • All bumps none ⇒ both changelog fields exactly n/a

Fixing a failed release-intent check

  1. Read the workflow log (it prints the parse error).
  2. Edit the pull request description (not a new commit) unless owned files were wrongly changed — then revert those file edits on the branch.
  3. Re-run the workflow if it does not re-run on description-only edits.

Out of scope

  • Do not put internal issue identifiers or private tracker URLs in the changelog body. Describe user-visible behavior instead.

© NVIDIA, 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 .cursor/skills/pair-github-pr of NVIDIA/Personal-AI-Router.

Open the folder on GitHubat commit 4d1892b

Compare with similar skills

Pair GitHub 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.

Pair GitHub PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pair GitHub PR this skillNVIDIA/Personal-AI-Router1.6k—~1.3kAutomated safety check: PassApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Plannotator Release Preparationbacknotprop/plannotator9.2k—~4.6kAutomated safety check: PassApache-2.0
Ansible Pull Request Reviewansible/ansible71k—~570Automated safety check: PassGPL-3.0
Plane Release Notes Generatormakeplane/plane60k—~2.5kAutomated safety check: PassAGPL-3.0
Handsontable Changelog Entryhandsontable/handsontable22k—~1.6kAutomated safety check: PassCustom licence

Similar skills

  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Plannotator Release Preparation

    backnotprop/plannotator

    Drafts Plannotator release notes with full contributor credit, bumps versions in dependency order, builds, and starts the tag-driven release pipeline, in four reviewed phases.

    9.2k GitHub stars~4.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Reviews an Ansible pull request by number, following the steps in the project's CLAUDE.md, with early checks for changelog fragments and tests.

    71k GitHub stars~570 tokensUpdated today
    DevelopmentAuto-check passed
  • Builds categorized release notes for a Plane release pull request from its commits and writes them into the PR description, for both the plane-cloud and plane-ee repos.

    60k GitHub stars~2.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Handsontable Changelog Entry

    handsontable/handsontable

    Decides whether a code change needs a changelog entry and creates the JSON file in .changelogs with the right type, framework and user-facing title.

    22k GitHub stars~1.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.

    6.1k GitHub stars~3.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from NVIDIA/Personal-AI-Router

  • Kaizen UI

    NVIDIA/Personal-AI-Router

    Official

    Kaizen UI (KUI) component library and design-pattern advisor for NVIDIA applications.

    1.6k GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Pair Test Style

    NVIDIA/Personal-AI-Router

    Official

    Write, refactor, or review tests in Personal AI Router using focused cases, descriptive subtests, explicit error handling, and structured assertions.

    1.6k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Sync Backend

    NVIDIA/Personal-AI-Router

    Official

    Refresh services/ from upstream, resolve JSON-RPC drift, update contract docs, rebuild cli-bin, and verify.

    1.6k GitHub stars~377 tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Pair GitHub PR

What does Pair GitHub PR do?

Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes. Pair GitHub PR is an agent skill from NVIDIA/Personal-AI-Router, published by the product's own GitHub organization. Fills GitHub pull request descriptions with the required PAIR pair-release-intent:v1 block so the release-intent check passes.

When should I use Pair GitHub PR?

Pair GitHub PR fits situations like: rewriting a PR description; the user mentions release intent; changelog for a PR; A workflow run fails on release-intent-check.

How do I install Pair GitHub PR in Claude Code?

Run `npx skills add NVIDIA/Personal-AI-Router --skill pair-github-pr -a claude-code`. Or copy the skill folder (.cursor/skills/pair-github-pr in NVIDIA/Personal-AI-Router) into .claude/skills/pair-github-pr in your project. Claude Code loads it when a task matches its description.

How do I install Pair GitHub PR in Codex?

Run `npx skills add NVIDIA/Personal-AI-Router --skill pair-github-pr -a codex`. Or copy the skill folder (.cursor/skills/pair-github-pr in NVIDIA/Personal-AI-Router) into .agents/skills/pair-github-pr in your project. Codex loads it when a task matches its description.

Can I use Pair GitHub 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 NVIDIA/Personal-AI-Router --skill pair-github-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/pair-github-pr, .gemini/skills/pair-github-pr, .github/skills/pair-github-pr and .opencode/skills/pair-github-pr in your project.

What does Pair GitHub PR need to run?

Going by SKILL.md and its folder, Pair GitHub PR needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Pair GitHub PR access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Pair GitHub 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 Pair GitHub PR use?

Pair GitHub 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 Pair GitHub PR use?

About 1.3k tokens (SKILL.md is roughly 5.1k 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 Pair GitHub PR?

Skills that share tags, products or a category with Pair GitHub PR: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Plannotator Release Preparation (backnotprop/plannotator, 9.2k stars), Ansible Pull Request Review (ansible/ansible, 71k stars) and Plane Release Notes Generator (makeplane/plane, 60k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pair GitHub PR?

NVIDIA (a GitHub organization, an official publisher) maintains it in NVIDIA/Personal-AI-Router, which has 1,566 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.

Source: NVIDIA/Personal-AI-Router on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.