Review a community pull request against Print Farm Manager's specific failure modes: adjacent-code drift, part-count integrity, driver contract compliance, docs completeness.

MITAuto-check passedDevelopment

Install PR Review

skills CLI
$ npx skills add joeltelling/print-farm-manager --skill pr-review -a claude-code

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

GitHub CLI
$ gh skill install joeltelling/print-farm-manager pr-review --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/joeltelling/print-farm-manager.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pr-review .claude/skills/pr-review && 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-review
GitHub stars
208
Token cost
~1.6k tokens
SKILL.md length
875 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Review a community pull request against Print Farm Manager's specific failure modes: adjacent-code drift, part-count integrity, driver contract compliance, docs completeness.

  • Works in 5 steps: Context → Baseline checks (every PR) → Adjacent-code audit → …
  • Any GitHub PR from an outside contributor
  • SKILL.md covers Phase 1: Context, Phase 2: Baseline checks…, Phase 3: Adjacent-code audit and Phase 4: Deep dives by PR type, plus 1 more section
  • Calls gh and npm

What it does

PR Review is an agent skill from joeltelling/print-farm-manager. Review a community pull request against Print Farm Manager's specific failure modes: adjacent-code drift, part-count integrity, driver contract compliance, docs completeness. Use for any GitHub PR from an outside contributor. Takes a PR number as argument.

Its SKILL.md is about 1.6k 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. It works with GitHub. The repository describes itself as: Self-hosted print farm manager for multi-brand 3D printer fleets — Prusa, Bambu, Elegoo, Klipper. Live fleet monitoring, automated job dispatch, no cloud. The licence is MIT.

When your agent uses it

  • Any GitHub PR from an outside contributor
  • Tasks that involve Pull requests

Example prompts

  • “/pr-review”

Workflow steps

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

  1. Context
  2. Baseline checks (every PR)
  3. Adjacent-code audit
  4. Deep dives by PR type
  5. Verdict and delivery

What it can do on your machine

Read from SKILL.md and the folder at commit b5bb0a2. 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
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use gh and npm, 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 Review loads about 1.6k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 875 words of instructions outside code blocks.

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

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 joeltelling/print-farm-manager at commit b5bb0a2, republished under its MIT licence (© joeltelling). 875 words, ~1,616 tokens.

Download SKILL.mdSave it as .claude/skills/pr-review/SKILL.md (or your agent's skills folder).
name
pr-review
description
Review a community pull request against Print Farm Manager's specific failure modes: adjacent-code drift, part-count integrity, driver contract compliance, docs completeness. Use for any GitHub PR from an outside contributor. Takes a PR number as argument.

Review a Community PR

The repo is public and gets real PRs from strangers and regulars. Review them against this repo's rules, not generic lint taste. The standing lesson: the worst bug a community PR ever nearly shipped was NOT in the diff. It was adjacent code the diff made stale (a hardcoded restore column list that silently dropped serial_number, loaded_material, loaded_color after export gained them). Review the neighborhood, not just the diff.

Phase 1: Context

  1. gh pr view <number> and gh pr diff <number>. Read the description, linked issues, and any prior review threads (gh pr view <number> --comments). Do not repeat findings another reviewer already raised; build on them.
  2. gh pr checkout <number> so you can run and grep the real tree.
  3. Identify what kind of PR it is: driver/connector, server logic, client UI, docs, CI, dependency bump. That selects the deep-dive lists below.
  4. Check CI state (gh pr checks <number>). The test job gates everything; a red suite is an automatic changes-requested.

Phase 2: Baseline checks (every PR)

  • Conventions: synchronous better-sqlite3 (no await on DB calls), epoch-ms timestamps, INTEGER booleans, route factory pattern, COALESCE partial updates, static routes before /:id, error shape { error: '...' } with correct 400/404/409.
  • Windows safety: path.join, no bash-only assumptions, split(/[\\/]/) when parsing stored filepaths.
  • Schema: any migration must be additive (try/catch ALTER TABLE in db.js). Anything destructive or framework-shaped is changes-requested.
  • Tests: npm test locally on the checked-out branch. Then read the new tests and ask: do they seed and assert the NEW tables/fields/behavior, or do they only re-assert what already passed? A test that cannot fail is a finding.
  • Docs: component doc updated, dated CHANGELOG entry present in house format. Missing docs is a real finding, not a nitpick (CONTRIBUTING.md requires them).
  • New prose dash check on added lines only: gh pr diff <number> | grep -Pn '^\+.*[\x{2013}\x{2014}]'
  • Security (repo is public, app is LAN-only by design): no secrets or real access codes in code, tests, or fixtures; file endpoints validate paths (no traversal); nothing that adds cloud calls or telemetry.
  • Dependencies: any new dependency needs strong justification; native modules must build on Windows under Node 22/23.

Phase 3: Adjacent-code audit

For every file the diff touches, open the WHOLE file and its counterpart in the sync-pairs table (CLAUDE.md "Sync pairs"). Ask: does this change make any unchanged code stale?

Specific known traps:

  • server/routes/backup.js: export and restore must handle the same tables and columns. Column lists must derive from the live schema, never hardcoded.
  • scheduler.js eligibility SQL vs routes/parts.js dispatch-status: the diagnostic must mirror dispatch reality.
  • Driver registration: a new brand must hit all six touchpoints (driver file, drivers/index.js, models.js VALID_CONNECTORS, printers.js NO_API_KEY_TYPES if keyless, Settings.jsx brand spots, db.js migration if new fields).
  • Duplicated derived-status logic ("awaiting sign-off") across Dashboard/Fleet/Printers: a change to one copy needs all three.
Show full SKILL.md (407 more words)Show less

Phase 4: Deep dives by PR type

Anything touching jobs, parts, scheduler, set-ready, or backup restore:

  • Trace every path that writes parts.completed_qty. For each: what unique real-world event backs it? Can it fire twice across a server restart, a Bambu MQTT reconnect, or an OFFLINE-to-FINISHED flap? Recovery paths must gate on process lifetime (finished_at > scheduler.startedAt), never wall-clock windows. Any doubt here is a P1.
  • Check hold semantics: nothing may clear is_held except operator endpoints and the documented recovered-to-PRINTING path.

Driver PRs, additionally:

  • Full contract check against docs/driver-authoring.md: four functions, getStatus never throws (OFFLINE on error), canonical statuses only, cancel maps to STOPPED not ERROR, UPLOAD_CONFLICT code, no DB access in the driver, module-level Map for persistent state.
  • Payloads verified against the official protocol docs (fetch them; do not trust the PR's claims about field formats).
  • Hardware evidence: the PR must state what real hardware it was tested on. Mock-only drivers can merge but must be labeled community-maintained/unvalidated in docs, per driver-authoring.md.

Client PRs, additionally:

  • useToast/useConfirm rules (elements rendered, no window.confirm/alert), background-poll errors swallowed vs mutation errors toasted, refetch-after-mutate, palette hexes copied not invented, 600 px breakpoint respected, npm run build passes.

Dependency-bump PRs (including Dependabot):

  • Read the changelog of the bumped package for breaking changes in the used API surface. Confirm lockfile consistency and that npm ci && npm test passes. Never recommend enabling auto-merge.

Phase 5: Verdict and delivery

  1. Rank findings by severity, house style: [P1] correctness/data-loss/security (blocks merge), [P2] should fix before or shortly after merge, then minor notes. For each finding: file, line, what breaks, and a concrete failure scenario ("restore a backup taken after this PR and loaded_color comes back NULL").
  2. Verify each P1 by actually exercising the code where feasible (run the test, hit the route with curl against a dev server, or write a quick throwaway test) rather than reasoning from the diff alone.
  3. Deliver as Joel directs: default is a summary to him with a recommended verdict (approve / approve-with-nits / request-changes). Only post to GitHub (gh pr review) when he asks.
  4. Merge mechanics to remember:
    • docs/CHANGELOG.md prepend conflicts: .gitattributes has merge=union for it, but GitHub's server-side merge IGNORES that. Resolve locally and push back to the PR branch (regulars leave "allow maintainer edits" on).
    • Squash-merge titles should follow the type(scope): summary convention.
  5. If the PR is good work, say so specifically. Community goodwill is an asset; regulars like seanlw follow the conventions and deserve fast, substantive reviews.

© joeltelling, 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 .claude/skills/pr-review of joeltelling/print-farm-manager.

Open the folder on GitHubat commit b5bb0a2

Compare with similar skills

PR Review 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 Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PR Review this skilljoeltelling/print-farm-manager208—~1.6kAutomated safety check: PassMIT
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Check PRonyx-dot-app/onyx32k2 repos~2.3kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Create Pull Requestcline/cline70k1 repos~1.6kAutomated safety check: PassApache-2.0
Pull Request Title and Body Writeropeninterpreter/openinterpreter69k2 repos~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Check PR

    onyx-dot-app/onyx

    Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.

    32k GitHub starsUsed in 2 repos~2.3k tokens
    DevelopmentAuto-check passed
  • 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
  • Pull Request Title and Body Writer

    openinterpreter/openinterpreter

    Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.

    69k GitHub starsUsed in 2 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.

    48k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed

More from joeltelling/print-farm-manager

  • Add Connector

    joeltelling/print-farm-manager

    Scaffold, register, test, and document a new printer brand driver (connector) end to end.

    208 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Ship

    joeltelling/print-farm-manager

    Finishing pass for any Print Farm Manager change. An agent skill from joeltelling/print-farm-manager.

    208 GitHub stars~1.2k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about PR Review

What does PR Review do?

Review a community pull request against Print Farm Manager's specific failure modes: adjacent-code drift, part-count integrity, driver contract compliance, docs completeness. PR Review is an agent skill from joeltelling/print-farm-manager. Review a community pull request against Print Farm Manager's specific failure modes: adjacent-code drift, part-count integrity, driver contract compliance, docs completeness.

When should I use PR Review?

PR Review fits situations like: any GitHub PR from an outside contributor; tasks that involve Pull requests.

How do I install PR Review in Claude Code?

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

How do I install PR Review in Codex?

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

Can I use PR Review 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 joeltelling/print-farm-manager --skill pr-review -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-review, .gemini/skills/pr-review, .github/skills/pr-review and .opencode/skills/pr-review in your project.

What does PR Review need to run?

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

Does PR Review access the network?

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

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

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

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

Skills that share tags, products or a category with PR Review: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Create Pull Request (cline/cline, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PR Review?

joeltelling (a GitHub user) maintains it in joeltelling/print-farm-manager, which has 208 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 6, 2026.

Source: joeltelling/print-farm-manager on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.