# Triage Contributor PR

Triage open pull requests from external contributors to prisma/orm and produce a per-PR...

- Repository: https://github.com/prisma/orm (47661 stars)
- Category: Git and review
- License: Apache-2.0
- Last updated: 2026-10-31
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add prisma/orm --skill triage-contributor-pr -g -a claude-code -y`
Codex: `npx skills add prisma/orm --skill triage-contributor-pr -g -a codex -y`
Cursor: `npx skills add prisma/orm --skill triage-contributor-pr -g -a cursor -y`
Gemini CLI: `npx skills add prisma/orm --skill triage-contributor-pr -g -a gemini-cli -y`

## Description

Triage open pull requests from external contributors to prisma/orm and produce a per-PR verdict with evidence. Use when a maintainer asks to triage, evaluate, assess, or review the queue of incoming contributor PRs, to decide whether a fork PR is safe to run CI on, to check whether a PR is in scope for its version line, or to find stale contributor PRs. Applies the criteria in docs/oss/pr-triage.md. Read-only by default, it reports verdicts and does not close PRs, post comments, or approve workflow runs unless the maintainer asks for that separately.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Triage external contributor PRs

Decide what happens to unsolicited pull requests from outside the maintainer team, and report each verdict with the evidence behind it.

The criteria are in [`docs/oss/pr-triage.md`](../../docs/oss/pr-triage.md). **Read that file first**, this skill is the procedure for applying it, not a second copy of it. When the two disagree, the doc wins.

## When to use

- "Triage the open contributor PRs"
- "Evaluate the PRs from <list of usernames>"
- "Is it safe to approve CI on #NNNNN?"
- "Which contributor PRs are stale?"

## Scope

Report, do not act. Produce verdicts, evidence, and draft replies. Do not close a PR, post a comment, approve a workflow run, or push to a contributor's branch unless the maintainer asks for that as a separate step. Approving CI in particular is the maintainer's call, your job is to give them what they need to make it.

## Shell constraint

A `PreToolUse` hook in agent shells ([`.claude/scripts/enforce-tools.mjs`](../../.claude/scripts/enforce-tools.mjs)) rejects any Bash command that contains the word `npm` or `npx` followed by a space or a line end, including inside a heredoc body or a search pattern. Write a report or draft reply that mentions either word with the editor tool rather than a heredoc. To search a diff for it, use a pattern such as `n[p]m`.

## Procedure

### 1. Build the list

GitHub logins are case-sensitive in a `jq` comparison and users do capitalize unpredictably (`Develop-KIM`, not `Develop-Kim`). Lowercase both sides or you will silently drop PRs.

Save the open queue once:

```bash
mkdir -p wip/pr-triage
gh pr list --repo prisma/orm --state open --limit 1000 \
  --json number,title,author,isCrossRepository,baseRefName,updatedAt,isDraft \
  > wip/pr-triage/queue.json
```

`--limit 1000` sits above the current queue size; it is not a guarantee. If `queue.json` holds exactly that many PRs the list is truncated, so raise the limit and re-run before trusting the result.

The rest: https://github.com/prisma/orm/blob/HEAD/skills-contrib/triage-contributor-pr/SKILL.md
