PR Finalize Review
microsoft/garnet
Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.
Guides an outside contributor through opening a prisma/orm pull request from a fork that follows CONTRIBUTING.md and passes review on the first round.
$ npx skills add prisma/orm --skill contrib-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install prisma/orm contrib-pr --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills-contrib/contrib-pr .claude/skills/contrib-pr && rm -rf skills-srcUse ~/.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/
Install the "contrib-pr" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/contrib-pr into .claude/skills/contrib-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "contrib-pr", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/prisma/orm/tree/main/skills-contrib/contrib-prType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add prisma/orm --skill contrib-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install prisma/orm contrib-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills-contrib/contrib-pr .agents/skills/contrib-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "contrib-pr" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/contrib-pr into .agents/skills/contrib-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "contrib-pr", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add prisma/orm --skill contrib-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install prisma/orm contrib-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills-contrib/contrib-pr .cursor/skills/contrib-pr && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "contrib-pr" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/contrib-pr into .cursor/skills/contrib-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "contrib-pr", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/prisma/orm.git --path skills-contrib/contrib-pr--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add prisma/orm --skill contrib-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install prisma/orm contrib-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills-contrib/contrib-pr .gemini/skills/contrib-pr && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "contrib-pr" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/contrib-pr into .gemini/skills/contrib-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "contrib-pr", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install prisma/orm contrib-prInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add prisma/orm --skill contrib-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills-contrib/contrib-pr .github/skills/contrib-pr && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "contrib-pr" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/contrib-pr into .github/skills/contrib-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "contrib-pr", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add prisma/orm --skill contrib-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install prisma/orm contrib-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/prisma/orm.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills-contrib/contrib-pr .opencode/skills/contrib-pr && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "contrib-pr" agent skill from https://github.com/prisma/orm/tree/main/skills-contrib/contrib-pr into .opencode/skills/contrib-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "contrib-pr", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
contrib-prGuides an outside contributor through opening a prisma/orm pull request from a fork that follows CONTRIBUTING.md and passes review on the first round.
The skill is for external contributors using an agent to finish a PR against prisma/orm, separate from the maintainer-facing create-pr skill and free of any dependence on Linear tickets or internal specs. It treats CONTRIBUTING.md as the source of truth and starts by reading it along with the code of conduct and security policy; a security fix must go through private vulnerability reporting rather than a public PR.
The guiding principle is to verify the result, not the authorship: the change should cover one logical concern, run the right test suite green, explain why it exists rather than listing files, have every commit signed off under the DCO, and carry a conventional-commit title. Before opening the PR the agent checks that the diff is a single change and asks whether unrelated cleanups should become separate PRs. If you have already followed the flow, it can jump straight to the gh pr create step.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 095af7a. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pnpmgitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, 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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Prisma Contributor PR loads about 2.3k tokens when it runs. Until then it costs about 77 tokens; SKILL.md has 1,251 words of instructions outside code blocks.
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.
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.
The full file from prisma/orm at commit 095af7a, republished under its Apache-2.0 licence (© prisma). 1,251 words, ~2,334 tokens.
.claude/skills/contrib-pr/SKILL.md (or your agent's skills folder).This skill is for external contributors to prisma/orm who are using an LLM-based agent to author or finalize a PR. It is intentionally separate from the maintainer-facing create-pr skill: it does not depend on Linear access, internal plan/spec documents, or any private context. It encodes the expectations laid out in CONTRIBUTING.md as a runnable workflow, so the PR you produce matches the shape maintainers expect on the first review round.
If the user is a maintainer with access to internal Linear tickets, use create-pr instead.
Trigger this skill when the user says any of:
If the user has clearly already followed the contribution flow and just needs the gh pr create invocation, you may skip directly to step 5.
Verify the result, not the authorship. The maintainers do not ask whether the change was AI-assisted; they verify that:
This skill is a pit of success — there is no CI gate that checks you used it. Following it is the cheapest way to land the PR cleanly.
Before doing anything else, read the project's contribution docs:
CONTRIBUTING.md. This is the source of truth for setup, the test command set, DCO signoff, and PR expectations.CODE_OF_CONDUCT.md so you understand what's expected in your interactions on the PR thread.SECURITY.md. If your change is fixing a security issue, stop and use the Private Vulnerability Reporting flow instead — do not open a public PR.If anything in CONTRIBUTING.md contradicts what this skill says, CONTRIBUTING.md wins.
Before opening the PR, check:
CONTRIBUTING.md. If not, recommend they do — maintainers will respond within 5 business days, and a half-day issue conversation can prevent a one-week PR rewrite when the design direction differs from what they expect.Run the suite that matches the scope of the change. From CONTRIBUTING.md:
| Change scope | Command |
|---|---|
| Type errors only | pnpm typecheck |
| Lint / formatting | pnpm lint |
Unit tests in packages/** | pnpm test:packages |
| Examples | pnpm test:examples |
| Postgres / SQLite e2e | pnpm test:e2e |
| Database integration | pnpm test:integration |
| Vite plugin / Cloudflare Worker | pnpm test:vite-plugin (needs Docker) |
| Everything | pnpm test:all |
The minimum bar before opening any PR is:
pnpm typecheck && pnpm lint && pnpm test:packagesIf any of these fail, fix the failure (or push back on the user about whether the change is actually right) before continuing. Do not open a PR with a known-failing test or lint error. It will be closed for that reason alone.
If the change touches the SQL runtime, also run pnpm test:integration and/or pnpm test:e2e. If you can't tell whether the change touches the SQL runtime, run them anyway — they're self-contained (PGlite + mongodb-memory-server, no external DB needed).
Every commit on the PR must have a Signed-off-by: trailer matching the commit author's name + email. Without this, the DCO status check blocks the PR from merging.
Check current commits:
git log origin/main..HEAD --format='%h %an <%ae>%n%b%n---'For each commit, verify the body contains a Signed-off-by: line whose name + email match %an <%ae>.
If any commit is missing the trailer:
git commit --amend --signoff --no-editgit rebase --signoff origin/mainAfter amending or rebasing, force-push to the contributor's fork: git push --force-with-lease.
Conventional commit form, lowercase after the colon, no trailing period, under ~60 chars:
type(scope): concise lowercase descriptiontype is one of: feat, fix, chore, docs, refactor, test. Pick the one that best describes the change. scope is the primary affected package or layer (sql-runtime, postgres-adapter, contract, cli, framework, mongo-orm, etc.). If the change spans many packages, pick the one most central to the change.
Examples:
feat(sql-orm-client): support computed includesfix(postgres-adapter): handle null in jsonb columnsdocs(contributing): clarify pnpm install stepsPR titles are the raw material the release-notes author triages when a version ships, so pick a title a downstream user would understand.
Fill in the pull request template sections in order:
Fixes #N / Refs #N. If no issue exists because the change is small, write n/a — small change.pnpm test:* commands you ran. If you ran a manual repro (e.g. against the demo), say so.n/a — internal only only when the change is purely internal or a refactor with no user-visible delta. A user-facing change that teaches no existing skill still needs a sentence saying why no skill update is required. The checklist below asks you to confirm this section.Do not include an "AI-authored" disclosure. Maintainers do not require it; it adds noise.
git push -u origin HEAD from the contributor's branch in the fork).gh pr create --title "the title" --body "$(cat <<'EOF'
the body
EOF
)" The gh CLI must be authenticated against the contributor's GitHub account, not against prisma/orm directly. The PR will open against prisma:main from the contributor's fork.
Return the PR URL.
Tell the user: a maintainer from @prisma/ORM-TS-Maintain will be auto-assigned via CODEOWNERS and is committed to a 5-business-day response window. If the change is large or controversial, expect a review thread before merge.
CONTRIBUTING.md rules. If they've changed since this skill was written, follow the file, not the skill.Signed-off-by: trailer. The DCO sign-off must be the contributor's own name and email matching the commit author.pnpm test:packages is red, fix it before pushing.SECURITY.md.© prisma, 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
Just SKILL.md in skills-contrib/contrib-pr of prisma/orm.
Open the folder on GitHubat commit 095af7a
Prisma Contributor 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Prisma Contributor PR this skillprisma/orm | 48k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| PR Finalize Reviewmicrosoft/garnet | 12k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 102k | 2 repos | ~3.5k | Automated safety check: Notes | MIT | |
| React Router Pull Request Creatorremix-run/react-router | 57k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Emoji Commit ConventionsbaptisteArno/typebot.io | 11k | — | ~424 | Automated safety check: Pass | Custom licence |
microsoft/garnet
Checks that a pull request's title and description match its implementation and reviews the code for Garnet best practices, reporting findings without posting them.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
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.
verdaccio/verdaccio
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.
baptisteArno/typebot.io
Sets the repository's convention for commit messages and pull request titles: one emoji prefix for the main intent, a concise title and clean follow-up commits.
superplanehq/superplane
Write Git commit messages and pull request titles/descriptions using the Chris Beams / Tim Pope conventions (subject/body split, ~50-char subject, imperative mood, why-not-how body) plus ASD-STE100…
prisma/orm
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.
prisma/orm
Fetches a pull request's canonical review state as JSON, validates it, and renders markdown, a text summary and triage target files from it using bundled scripts.
prisma/orm
Implements triaged pull request review actions, commits focused fixes, posts status replies on GitHub and resolves the threads.
prisma/orm
Runs the triage step of the review-framework loop: reads fetched PR review state, builds `review-actions.json`, validates it and renders `review-actions.md`.
prisma/orm
Replaces a plain TypeScript union plus switch statements with frozen subclasses and a visitor interface when several places dispatch on the same variants.
prisma/orm
Creates a GitHub pull request for the Prisma repo with a Linear-ticket-prefixed title and a decision-led narrative description, inferring the ticket from context.
Works with
Categories
Guides an outside contributor through opening a prisma/orm pull request from a fork that follows CONTRIBUTING.md and passes review on the first round. The skill is for external contributors using an agent to finish a PR against prisma/orm, separate from the maintainer-facing create-pr skill and free of any dependence on Linear tickets or internal specs.md as the source of truth and starts by reading it along with the code of conduct and security policy; a security fix must go through private vulnerability reporting rather than a public PR.
Prisma Contributor PR fits situations like: submitting a change to prisma/orm as a pull request from a fork; getting a contribution ready for review on the first round; checking that commits are signed off and the PR title follows conventional commits; deciding whether a mixed diff should be split into separate PRs.
Run `npx skills add prisma/orm --skill contrib-pr -a claude-code`. Or copy the skill folder (skills-contrib/contrib-pr in prisma/orm) into .claude/skills/contrib-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add prisma/orm --skill contrib-pr -a codex`. Or copy the skill folder (skills-contrib/contrib-pr in prisma/orm) into .agents/skills/contrib-pr in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add prisma/orm --skill contrib-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/contrib-pr, .gemini/skills/contrib-pr, .github/skills/contrib-pr and .opencode/skills/contrib-pr in your project.
Going by SKILL.md and its folder, Prisma Contributor PR needs the command-line tools its instructions call (pnpm, git and gh). Our summary lists: A fork of prisma/orm; The gh CLI for creating the PR.
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.
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.
Prisma Contributor 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.
About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Prisma Contributor PR: PR Finalize Review (microsoft/garnet, 12k stars), Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), React Router Pull Request Creator (remix-run/react-router, 57k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
prisma (a GitHub organization, an official publisher) maintains it in prisma/orm, which has 47,701 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 6, 2026.
Source: prisma/orm on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.