Skip to content
gmacko-dev-pr-review logo

Gmacko PR Review

gmacko-dev-pr-review

Use when (1) reviewing a pull request against coding standards, (2) verifying PR meets acceptance criteria from feature plan, (3) checking for common issues before merge. Reviews PRs against plan and project standards.

SKILL.md

Full skill instructions

Gmacko PR Review

Review pull requests against coding standards, INITIAL_PLAN.md, and feature acceptance criteria.

When to Use

  • A PR is ready for review
  • User asks for code review
  • Before merging to main/​staging
  • After a major feature implementation

Workflow

digraph pr_review {
    rankdir=TB;
    node [shape=box];
    
    start [label="Start Review" shape=ellipse];
    fetch [label="1. Fetch PR Context"];
    plan [label="2. Check Against Plan"];
    standards [label="3. Check Coding Standards"];
    security [label="4. Security Review"];
    tests [label="5. Test Coverage"];
    summary [label="6. Generate Summary"];
    decision [label="7. Recommendation"];
    done [label="Review Complete" shape=ellipse];
    
    start -> fetch -> plan -> standards;
    standards -> security -> tests -> summary -> decision -> done;
}

Review Checklist

1. PR Metadata

  • Title follows convention ([Type]: Description)
  • Description explains the "why"
  • Related issues linked
  • Appropriate labels assigned
  • Correct base branch

2. Plan Alignment

  • Changes match feature plan scope
  • No scope creep (unplanned features)
  • Acceptance criteria addressed
  • Non-goals respected

3. Code Quality

  • Follows TypeScript strict mode
  • Uses interface over type for objects
  • No any types (use unknown if needed)
  • Proper error handling
  • No console.log statements
  • No commented-out code

4. Naming Conventions

  • Files: kebab-case
  • Components: PascalCase
  • Functions/​variables: camelCase
  • Constants: SCREAMING_SNAKE_CASE

5. Import Order

  1. React/​external libraries
  2. @repo/​* workspace packages
  3. @/​* internal aliases
  4. Relative imports

6. Architecture

  • Follows provider hierarchy
  • Uses appropriate shared package
  • tRPC procedures follow patterns
  • Database changes have migrations

7. Security

  • No secrets in code
  • No .env files modified (only .env.example)
  • Input validation on API endpoints
  • Proper auth checks
  • No SQL injection risks

8. Performance

  • No unnecessary re-renders
  • Appropriate use of useMemo/useCallback
  • Images optimized
  • Bundle size considered

9. Testing

  • New code has tests (if applicable)
  • Existing tests pass
  • Manual testing documented

10. Cross-Platform (if applicable)

  • Web and mobile consistency
  • Platform-specific code isolated
  • Shared logic in packages

Execution Steps

Step 1: Fetch PR Context

Get PR details:

# Get PR info
gh pr view [number] --json title,body,labels,files,additions,deletions

# Get diff
gh pr diff [number]

# Get related issues
gh pr view [number] --json linkedIssues

Identify:

  • What files changed
  • What type of change (feature/​bug/​refactor)
  • Which areas affected (web/​mobile/​api/​db)

Step 2: Check Against Plan

If PR relates to a feature plan:

  1. Find the plan: docs/​ai/​handoffs/​{feature}-plan.md
  2. Check acceptance criteria
  3. Verify scope alignment
  4. Note any deviations
## Plan Alignment Check

Plan: docs/​ai/​handoffs/​dark-mode-plan.md
Issue: #456

### Acceptance Criteria
- [x] Toggle switches theme (IMPLEMENTED)
- [x] Preference persisted (IMPLEMENTED)
- [ ] Respects system preference (NOT FOUND)

### Scope Notes
- PR includes additional animation (not in plan) - ASK about scope

Step 3: Check Coding Standards

Review code against project standards:

## Code Quality Review

### TypeScript
- [x] Strict mode compliance
- [x] No `any` types
- [!] Line 45: Consider using `unknown` instead of type assertion

### Naming
- [x] File naming correct
- [x] Component naming correct
- [!] Line 23: Variable `x` should be more descriptive

### Imports
- [x] Import order correct
- [!] Line 5: External import should come before @repo import

### Patterns
- [x] tRPC procedures follow patterns
- [x] Error handling present

Step 4: Security Review

Check for security issues:

## Security Review

- [x] No hardcoded secrets
- [x] .env files not modified
- [x] Auth checks in place
- [x] Input validation present
- [!] Line 78: Consider rate limiting this endpoint

Step 5: Test Coverage

Verify testing:

## Test Coverage

- [ ] Unit tests for ThemeToggle component
- [x] Integration test for theme API
- [!] No E2E tests for theme switching flow

### Manual Testing Checklist
- [ ] Web: Theme toggles correctly
- [ ] Web: Preference persists on refresh
- [ ] Mobile: Theme toggles correctly
- [ ] Mobile: Preference persists

Step 6: Generate Summary

Create review summary:

# PR Review Summary

**PR**: #123 - [Feature]: Add dark mode support
**Reviewer**: AI Assistant
**Date**: 2025-01-05

## Overall Assessment

**Recommendation**: APPROVE with minor suggestions

## Highlights
- Clean implementation of theme switching
- Good use of Zustand for state management
- Proper separation of web/​mobile code

## Issues Found

### Must Fix (Blocking)
None

### Should Fix (Non-blocking)
1. **Line 45**: Use `unknown` type instead of assertion
2. **Line 78**: Add rate limiting to theme endpoint

### Consider (Suggestions)
1. Add unit tests for ThemeToggle
2. Consider adding system preference detection
3. Animation could be smoother

## Checklist Completion
- Plan alignment: 2/​3 criteria met
- Code quality: 8/​10 checks passed
- Security: All checks passed
- Tests: Partial coverage

## Files Reviewed
- `packages/​store/​src/​stores/​theme.ts` - OK
- `apps/​web/​src/​components/​theme-toggle.tsx` - Minor issues
- `apps/​mobile/​src/​screens/​settings.tsx` - OK
- `packages/​api/​src/​routers/​user.ts` - Suggestion

Step 7: Recommendation

Provide clear recommendation:

StatusMeaning
APPROVEGood to merge
APPROVE_WITH_SUGGESTIONSCan merge, improvements optional
REQUEST_CHANGESMust address issues before merge
NEEDS_DISCUSSIONRequires clarification

Review Comment Templates

Approval

LGTM! Clean implementation that follows our patterns.

Minor suggestions:
- Consider adding tests for edge cases
- The animation could be smoother

Approved for merge.

Request Changes

Good progress! A few things need attention before merge:

**Must fix:**
1. Line 45: Security issue - input not validated
2. Line 78: Missing auth check

**Questions:**
- Is the scope creep (animations) intentional?

Please address the blocking issues and I'll re-review.

Red Flags

RationalizationCorrection
"It's a small change, no review needed"ALL PRs get reviewed, even small ones
"Tests can be added later"At minimum, document what needs testing
"Security isn't my concern"ALWAYS check for secrets and auth
"The code works, that's enough"Standards matter for maintainability

Integration

  • Input: PR number or URL
  • References: Feature plan, coding standards, INITIAL_PLAN.md
  • Output: Review summary with recommendation
  • Next: Developer addresses feedback or merges

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View