/pr-reviewer
Review gate for correctness, reuse, and simplification. Produces a structured verdict with actionable findings. Trigger on any PR before merge, or on any agent-generated code before it is committed.
$ npx -y skills add jpantsjoha/ai-native-developer-experience --skill pr-reviewer --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/pr-reviewer
Context preview
The summary Claude sees to decide when to auto-load this skill.
Review gate for correctness, reuse, and simplification. Produces a structured verdict with actionable findings. Trigger on any PR before merge, or on any agent-generated code before it is committed.
SKILL.md
pr-reviewer.SKILL.mdname: pr-reviewer
description: Review gate for correctness, reuse, and simplification. Produces a structured verdict with actionable findings. Trigger on any PR before merge, or on any agent-generated code before it is committed.
PR Reviewer
> **Receipts, not polish.** A review that says "looks good" is not a review. A review that says "line 47 will panic on a nil pointer and here is the fix" is a review.
This skill runs a structured code review and produces a verdict: approve, approve with comments, or request changes. Every finding is actionable. No findings without evidence.
When to use
- Before merging any PR
- When reviewing agent-generated code before committing
- When a significant refactor or new feature is complete
- As part of the `release-readiness` checklist
Procedure
1. **Scope the review** — fetch the diff. Identify:
- Files changed and their purpose
- The stated intent of the PR (what problem does it solve?)
- Any linked spec, issue, or ADR
2. **Correctness pass** — look for bugs, not style:
- Null / nil / undefined access on values that could be absent
- Off-by-one errors in loops or index operations
- Error returns that are silently ignored
- Race conditions if the code is concurrent
- Missing input validation at trust boundaries (user input, external API responses)
- Logic that diverges from the stated intent of the PR
3. **Reuse pass** — look for duplication:
- Does this code reimplement something that already exists in the codebase?
- Is there a stdlib or already-installed dependency that does this?
- Can the new code be expressed using an existing abstraction?
4. **Simplification pass** — look for unnecessary complexity:
- Can this be fewer lines without losing clarity?
- Is there an abstraction that has only one implementation? (remove it)
- Is there a dependency added for something a few lines of code would do?
- Is there "scaffolding for later" that should not exist yet?
5. **Security and data boundary pass** — look for:
- Secrets or credentials in code or logs
- User-controlled input reaching a shell, SQL query, or file path without validation
- Data crossing a tenant or trust boundary without an explicit check
- Missing authentication or authorisation checks on new endpoints
6. **Classify findings**:
- **BLOCKING**: must be fixed before merge (correctness bugs, security issues)
- **SUGGESTED**: improvement worth making but not a blocker (simplification, reuse)
- **NOTE**: observation for awareness, no action required
7. **Produce the verdict**:
- **Approve**: no BLOCKING findings
- **Approve with comments**: no BLOCKING findings, SUGGESTED improvements noted
- **Request changes**: one or more BLOCKING findings
Outputs
- Finding list: location | severity | description | suggested fix
- Verdict: Approve / Approve with comments / Request changes
Guardrails
- **Every BLOCKING finding must have a suggested fix.** "This is wrong" is not actionable.
- **Style is not a BLOCKING finding.** Style enforcement belongs in the linter, not the review.
- **Reuse requires evidence.** "This might already exist" is not a finding. Find it or drop the comment.
- **The review is not a rewrite.** Surface the issues; let the author fix them.
---
See also: [`REFERENCE.md`](./REFERENCE.md) for a quick lookup of common patterns and their preferred alternatives.
Read more
name: pr-reviewer description: Review gate for correctness, reuse, and simplification. Produces a structured verdict with actionable findings. Trigger on any PR before merge, or on any agent-generated code before it is committed.
PR Reviewer
> **Receipts, not polish.** A review that says "looks good" is not a review. A review that says "line 47 will panic on a nil pointer and here is the fix" is a review.
This skill runs a structured code review and produces a verdict: approve, approve with comments, or request changes. Every finding is actionable. No findings without evidence.
When to use
- Before merging any PR
- When reviewing agent-generated code before committing
- When a significant refactor or new feature is complete
- As part of the `release-readiness` checklist
Procedure
1. **Scope the review** — fetch the diff. Identify:
- Files changed and their purpose
- The stated intent of the PR (what problem does it solve?)
- Any linked spec, issue, or ADR
2. **Correctness pass** — look for bugs, not style:
- Null / nil / undefined access on values that could be absent
- Off-by-one errors in loops or index operations
- Error returns that are silently ignored
- Race conditions if the code is concurrent
- Missing input validation at trust boundaries (user input, external API responses)
- Logic that diverges from the stated intent of the PR
3. **Reuse pass** — look for duplication:
- Does this code reimplement something that already exists in the codebase?
- Is there a stdlib or already-installed dependency that does this?
- Can the new code be expressed using an existing abstraction?
4. **Simplification pass** — look for unnecessary complexity:
- Can this be fewer lines without losing clarity?
- Is there an abstraction that has only one implementation? (remove it)
- Is there a dependency added for something a few lines of code would do?
- Is there "scaffolding for later" that should not exist yet?
5. **Security and data boundary pass** — look for:
- Secrets or credentials in code or logs
- User-controlled input reaching a shell, SQL query, or file path without validation
- Data crossing a tenant or trust boundary without an explicit check
- Missing authentication or authorisation checks on new endpoints
6. **Classify findings**:
- **BLOCKING**: must be fixed before merge (correctness bugs, security issues)
- **SUGGESTED**: improvement worth making but not a blocker (simplification, reuse)
- **NOTE**: observation for awareness, no action required
7. **Produce the verdict**:
- **Approve**: no BLOCKING findings
- **Approve with comments**: no BLOCKING findings, SUGGESTED improvements noted
- **Request changes**: one or more BLOCKING findings
Outputs
- Finding list: location | severity | description | suggested fix
- Verdict: Approve / Approve with comments / Request changes
Guardrails
- **Every BLOCKING finding must have a suggested fix.** "This is wrong" is not actionable.
- **Style is not a BLOCKING finding.** Style enforcement belongs in the linter, not the review.
- **Reuse requires evidence.** "This might already exist" is not a finding. Find it or drop the comment.
- **The review is not a rewrite.** Surface the issues; let the author fix them.
---
See also: [`REFERENCE.md`](./REFERENCE.md) for a quick lookup of common patterns and their preferred alternatives.
A team-project AI harness bootstrap that gives humans and agents a shared operating contract from day one, moving AI leverage from an individual “IC superhero” advantage to a repeatable team capability on an equal playing field.
Other skills on join-the-team.
- /adk-expert
Google ADK (Agent Development Kit) orchestration patterns — boundaries, agent composition, and tool seams. Trigger when designing or reviewing multi-agent systems built on ADK. Authoritative source: adk.dev.
Open skill - /adversarial-gate
JP's signature red-team pass — "how would I break this?" Argue against your own approach before proceeding. Trigger on any high-stakes decision, architecture choice, or before marking work complete.
Open skill - /alibaba-expert
Alibaba Cloud expert guardrails — RAM least-privilege, data boundaries, residency (mainland/international split), cost, and official-source validation. Trigger when designing or reviewing any Alibaba Cloud workload, especially agents or LLMs (Model Studio/Bailian, Qwen,
Open skill - /aws-expert
AWS expert guardrails — IAM least-privilege, data boundaries, cost controls, residency, and official-source validation. Trigger when designing or reviewing any AWS workload, especially agents, LLMs (Bedrock), or multi-account systems.
Open skill - /azure-expert
Azure expert guardrails — Entra ID least-privilege, policy-first governance, data boundaries, cost, residency, and official-source validation. Trigger when designing or reviewing any Azure workload, especially agents, LLMs (Foundry/OpenAI), or landing-zone systems.
Open skill - /cost-guardrail
LLM and cloud cost awareness — model tiering, token budgets, right-sizing, and when a cheaper model suffices. Trigger before finalising any architecture that calls LLMs, before scaling a workload, or when a cost estimate is needed.
Open skill

