Agent skill

Review PR

by spiriMirror in spiriMirror/libuipc

Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend…

Apache-2.0Auto-check passedDevelopment

Install Review PR

skills CLI
$ npx skills add spiriMirror/libuipc --skill review-pr -a claude-code

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

GitHub CLI
$ gh skill install spiriMirror/libuipc review-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/spiriMirror/libuipc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/review-pr .claude/skills/review-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
review-pr
GitHub stars
335
Token cost
~1.7k tokens
SKILL.md length
504 words
Files
1
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend…

  • Works in 5 steps: Checkout and fetch metadata → Present summary to the human reviewer → AI review — libuipc-specific checklist → …
  • The user provides a PR number
  • SKILL.md covers Architecture primer (read… and Workflow
  • Calls gh

What it does

Review PR is an agent skill from spiriMirror/libuipc. Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend architecture, C++ style, GPU code, and Python bindings. Optionally post review comments via gh. Use when the user provides a PR number, asks to review a PR, or wants to inspect a libuipc GitHub PR.

Its SKILL.md is about 1.7k 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 Backend development. It works with C++, Python and GitHub. The repository describes itself as: A Modern Python and C++20 Library of Unified Incremental Potential Contact. The licence is Apache-2.0.

When your agent uses it

  • The user provides a PR number
  • Asks to review a PR
  • Wants to inspect a libuipc GitHub PR

Example prompts

  • “/review-pr”

Requirements

  • Python 3

Workflow steps

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

  1. Checkout and fetch metadata
  2. Present summary to the human reviewer
  3. AI review — libuipc-specific checklist
  4. Output format
  5. Post comments via gh (when asked)

What it can do on your machine

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

    • gh

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

  • Network

    No URLs in SKILL.md. Its commands use 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

Review PR loads about 1.7k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 504 words of instructions outside code blocks.

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

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 spiriMirror/libuipc at commit 9c748a7, republished under its Apache-2.0 licence (© spiriMirror). 504 words, ~1,742 tokens.

Download SKILL.mdSave it as .claude/skills/review-pr/SKILL.md (or your agent's skills folder).
name
review-pr
description
Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend architecture, C++ style, GPU code, and Python bindings. Optionally post review comments via `gh`. Use when the user provides a PR number, asks to review a PR, or wants to inspect a libuipc GitHub PR.

libuipc PR Review

Architecture primer (read before reviewing)

libuipc is a GPU-accelerated Incremental Potential Contact (IPC) simulation library (C++20 + optional Python/pybind11).

Layer split:

LayerPathRole
Coresrc/core/, include/uipc/Engine lifecycle, Scene/World, geometry attribute ECS
Geometrysrc/geometry/Mesh algorithms; libigl, TBB, Octree, embedded C++ METIS
Constitutionsrc/constitution/Material / constraint implementations
I/Osrc/io/Scene + mesh serialisation
Sanity checksrc/sanity_check/Pre-sim scene validation
Backendssrc/backends/<name>/Physics engines as runtime-loaded MODULE DLLs
Pybindsrc/pybind/Thin pybind11 wrapper; mirrors C++ submodules

Backend plugin ABI (src/backends/common/module.h):

  • Exports: uipc_init_module, uipc_create_engine, uipc_destroy_engine
  • Base classes: SimEngine → ISimSystem → subsystem folders (affine_body/, finite_element/, contact_system/, collision_detection/, etc.)
  • RMR (Reporter–Manager–Receiver) data-oriented design; avoid heavy OOP in backend code

CUDA backend subsystems (most review-sensitive): affine_body/, finite_element/, contact_system/, collision_detection/, distance_system/, active_set_system/, inter_primitive_effect_system/, engine/ (Newton + augmented-Lagrangian step in advance_al.cu)

Workflow

1. Checkout and fetch metadata
bash
gh pr checkout <PR_NUMBER>
gh pr view <PR_NUMBER> --json title,body,author,baseRefName,headRefName,headRefOid,repository,url,additions,deletions,changedFiles
gh pr diff <PR_NUMBER> --name-only
2. Present summary to the human reviewer
## PR #<N>: <title>
Author: <author>   Branch: `<head>` → `<base>`
URL: <url>
Stats: +<add> / -<del> across <N> files

### Description
<body>

### Files to review  (grouped by subsystem)
#### Backend — CUDA physics
  src/backends/cuda/affine_body/...
  src/backends/cuda/finite_element/...
  ...
#### Core / Public API
  include/uipc/...
  src/core/...
#### Geometry / Constitution
  src/geometry/...   src/constitution/...
#### Python bindings
  src/pybind/...   python/src/uipc/...
#### Build / CMake
  CMakeLists.txt   src/backends/.../CMakeLists.txt
#### Tests
  apps/tests/...   python/tests/...
3. AI review — libuipc-specific checklist

Run gh pr diff <PR_NUMBER> and check every area below that is touched.


Fast fail
  • All expected internal invariants are checked with UIPC_ASSERT where feasible
  • All user-facing inputs are validated with UIPC_ASSERT_THROW
C++20 style
  • C-style code is forbidden unless unavoidable (e.g., DLL export signatures)
  • Raw pointer parameters are forbidden unless unavoidable; prefer span<T>
  • const std::string& parameters are forbidden; use std::string_view instead
  • Multiple inheritance is forbidden; separate concerns into distinct classes
CUDA / GPU code
  • GPU buffer arguments use muda::BufferView / muda::TripletMatrixView (or equivalent view types) instead of raw pointers
  • Raw pointer parameters are forbidden in device code unless unavoidable
Constitution / material
  • New constitutions implement required IConstitution-family interface
  • Material parameters validated / clamped (no negative stiffness, density, etc.)
Public C++ API (include/uipc/)
  • No breaking changes to public headers without a version bump or deprecation notice
  • New public classes/functions follow existing naming: CamelCase types, snake_case functions, m_ prefix for members
  • #pragma once present; no <windows.h>-style global macros leaked
Show full SKILL.md (209 more words)Show less
C++ style (.clang-format enforced)
  • 4-space indent, 80-column limit
  • Allman braces ({ on its own line)
  • Left-aligned pointers (int* p, not int *p)
  • No using namespace std; in headers
CMake
  • New backend follows uipc_add_backend(name) macro in src/backends/CMakeLists.txt
  • New CMake options added to the root CMakeLists.txt option block with sensible defaults
  • file(GLOB ...) patterns extended if new source subdirs added
Python bindings (src/pybind/ + python/)
  • Check whether new features expose a public API that should be mirrored in the Python bindings
  • New C++ types exposed via matching pybind submodule (mirrors C++ namespace)
  • __init__.py import chain not broken (pyuipc → init() → config["module_dir"])
  • Python-side tests added under python/tests/ for new pybind surface
Tests
  • C++ tests use Catch2 macros; added via uipc_add_test in the appropriate apps/tests/<subsystem>/CMakeLists.txt
  • Regression tests added for bug fixes

4. Output format

Each finding must have a sequential number (1, 2, 3 … across all severity tiers) and a clickable local file link constructed from the absolute repo path + relative file path. Use this markdown link format for every citation:

[filename.ext:LINE](ABSOLUTE_REPO_PATH/relative/path/to/file.ext)

For example, if the repo is at /home/user/libuipc and the file is src/backends/cuda/affine_body/foo.cu at line 42:

[foo.cu:42](/home/user/libuipc/src/backends/cuda/affine_body/foo.cu)

Full output template:

## AI Review — PR #<N>

### Summary of changes
<one paragraph>

### Findings

🔴 Critical (must fix)
**#1** — [filename.ext:LINE](ABSOLUTE_PATH/relative/path/filename.ext)
Description of the issue and why it matters.

**#2** — [filename.ext:LINE](ABSOLUTE_PATH/relative/path/filename.ext)
Description.

🟡 Suggestion
**#3** — [filename.ext:LINE](ABSOLUTE_PATH/relative/path/filename.ext)
Description.

🟢 Nice-to-have
**#4** — [filename.ext:LINE](ABSOLUTE_PATH/relative/path/filename.ext)
Description.

### Checklist coverage
(tick the items above that were verified or N/A)

5. Post comments via gh (when asked)

General review comment / request changes / approve:

bash
gh pr review <PR_NUMBER> --comment   --body "..."
gh pr review <PR_NUMBER> --request-changes --body "..."
gh pr review <PR_NUMBER> --approve   --body "LGTM"

Inline comment on a specific line:

bash
gh api repos/<OWNER>/<REPO>/pulls/<PR_NUMBER>/comments \
  --method POST \
  -f path="<FILE_PATH>" \
  -f body="Your comment" \
  -F line=<LINE_NUMBER> \
  -f side="RIGHT" \
  -f commit_id="<HEAD_REF_OID>"

Run gh auth status first if commands fail.

© spiriMirror, 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/review-pr of spiriMirror/libuipc.

Open the folder on GitHubat commit 9c748a7

Compare with similar skills

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

Review PR compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Review PR this skillspiriMirror/libuipc335—~1.7kAutomated safety check: PassApache-2.0
Code Review Skillawesome-skills/code-review-skill2.1k—~2.8kAutomated safety check: NotesMIT
Create Cuda Python Pull RequestNVIDIA/cuda-python3.4k—~1.1kAutomated safety check: PassApache-2.0
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence
pybind11 Release Publicationpybind/pybind1118k—~2.5kAutomated safety check: PassCustom licence
Ghbubbuild/bub1.7k—~798Automated safety check: PassApache-2.0

Similar skills

  • Code Review Skill

    awesome-skills/code-review-skill

    Provides comprehensive code review guidance for React 19, Vue 3, Angular 17+, Svelte 5, Rust, TypeScript, Java, Java 8, PHP, Ruby, Rails, Python, Django, FastAPI, Go, C/.NET, Kotlin, Swift, Dart…

    2.1k GitHub stars~2.8k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes
  • Official

    Create a CUDA Python pull request from an approved personal or organization-owned fork, including the GitHub CLI GraphQL fallback for renamed organization-owned forks.

    3.4k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Walks a maintainer through publishing a pybind11 release after the preparation PR merges, with preflight checks, confirmations before each push and a GitHub release.

    18k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Gh

    bubbuild/bub

    GitHub CLI skill for interacting with GitHub via the gh command line tool.

    1.7k GitHub stars~798 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Submits code changes as a GitHub pull request through an isolated Git clone, reusing or creating your fork and pushing only after you confirm the real diff.

    12k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check: notes

More from spiriMirror/libuipc

All 16 skills in this repo
  • GPU Optimization

    spiriMirror/libuipc

    GPU optimization workflow using uipc.profile, uipc.profile.nsight, and Nsight Compute CLI.

    335 GitHub stars~3.6k tokensUpdated 5 days ago
    Auto-check passed
  • Xmake Workflow

    spiriMirror/libuipc

    Build and test the libuipc project using XMake. An agent skill from spiriMirror/libuipc.

    335 GitHub stars~588 tokensUpdated 5 days ago
    Auto-check passed
  • Cmake Workflow

    spiriMirror/libuipc

    Build and test the libuipc project using CMake. An agent skill from spiriMirror/libuipc.

    335 GitHub stars~321 tokensUpdated 5 days ago
    Auto-check passed
  • Document

    spiriMirror/libuipc

    Documentation style guide and rules for creating documentation

    335 GitHub stars~930 tokensUpdated 5 days ago
    Auto-check passed
  • Fix Issue

    spiriMirror/libuipc

    Fix a GitHub issue with proper branch, testing, and PR workflow

    335 GitHub stars~421 tokensUpdated 5 days ago
    Auto-check passed
  • Fix PR

    spiriMirror/libuipc

    Fix a pull request based on review feedback. An agent skill from spiriMirror/libuipc.

    335 GitHub stars~448 tokensUpdated 5 days ago
    Auto-check passed

Works with

Categories

Questions about Review PR

What does Review PR do?

Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend…. Review PR is an agent skill from spiriMirror/libuipc. Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend architecture, C++ style, GPU code, and Python bindings.

When should I use Review PR?

Review PR fits situations like: the user provides a PR number; asks to review a PR; wants to inspect a libuipc GitHub PR.

How do I install Review PR in Claude Code?

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

How do I install Review PR in Codex?

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

Can I use Review 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 spiriMirror/libuipc --skill review-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/review-pr, .gemini/skills/review-pr, .github/skills/review-pr and .opencode/skills/review-pr in your project.

What does Review PR need to run?

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

Does Review PR access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

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

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

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

Skills that share tags, products or a category with Review PR: Code Review Skill (awesome-skills/code-review-skill, 2.1k stars), Create Cuda Python Pull Request (NVIDIA/cuda-python, 3.4k stars), pybind11 Release Preparation (pybind/pybind11, 18k stars) and pybind11 Release Publication (pybind/pybind11, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Review PR?

spiriMirror (a GitHub organization) maintains it in spiriMirror/libuipc, which has 335 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 3, 2026.

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