smithery.ai

self-review

Perform a code quality review before creating a PR. Use when reviewing changes, checking code quality, or doing a self-review of the current branch. Invoked as part of the work-ticket lifecycle after verification-before-completion and before finishing-a-development-branch.

First seen Mar 19, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,187 B
  • docs SUMMARY.md 61 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3 installs

SKILL.md

Code Review Quality Check

Perform a code review for the current peek-stash-browser branch. Your job is to ensure code quality, identify potential bugs or improvements, and find gaps in test coverage.

Step 1: Understand What Changed

git diff main...HEAD --stat
git diff main...HEAD

Review the diff to understand the scope and intent of the changes before running automated checks.

Step 2: Invoke Relevant Best-Practice Skills

Based on which files changed, invoke the corresponding skills to have their guidelines in context during review. Check the diff stat and invoke all that apply:

Files changed Skill to invoke
client/src/components/** (UI/layout) visual-style, responsive-design
client/src/components/** (React logic) vercel-composition-patterns, react-spa-performance
server/controllers/, server/routes/ express5-api-patterns, api-design-principles
server/services/** (TypeScript) typescript-advanced-types
server/prisma/**, migration files prisma-sqlite-expert
server/graphql/**, codegen.yml graphql-patterns
Dockerfile, docker-compose docker-best-practices
Test files (**/.test.) writing-tests

Invoke these skills using the Skill tool before proceeding to the code quality review. You don't need to invoke every skill — only those relevant to the diff.

Step 3: Code Quality Review

Review the diff against these guidelines (supplemented by the skills invoked above):

General Principles

  • DRY - Don't repeat yourself; extract shared logic
  • YAGNI - Don't build features that aren't needed yet
  • Single Responsibility - Functions and components do one thing well
  • Readable code over comments - Code should be self-documenting through clear naming and structure. Use comments only for:

- Explaining why something unusual is done (not what) - Highlighting important gotchas or edge cases - Noting things we might want to revisit later - Do NOT add comments that just describe what readable code already shows

React Patterns

  • Prefer event/action-driven handlers over useEffect when possible
  • useEffect should have proper dependency arrays and clear purpose
  • Use memoization (useMemo, useCallback) when it provides real value, not everywhere
  • Avoid large monolithic useEffect blocks - break into smaller effects or extract logic
  • Components should have clear separation of concerns

API & Server

  • Follows Express best practices
  • Error handling is present and meaningful
  • Input validation on API endpoints
  • All operations are high-performance and scalable - Peek users sometimes have 100k+ scenes, etc

UI/UX

  • Mobile-first design, responsive across all screen sizes
  • Visual consistency - same components/patterns used throughout:

- Accordions, tabs, cards, indicators look the same everywhere - Same icons represent the same actions/items across the app

  • Uses theme variables (e.g., var(--bg-card)) not hardcoded colors

Code Hygiene

  • No unused imports or variables
  • No leftover console.log statements (unless intentional logging)
  • No hardcoded values that should be constants or config
  • No commented-out code blocks
  • mkdocs and README (docs) are kept up to date with changes

Step 4: Automated Testing Checklist

Run each check and fix any failures before proceeding:

Server

cd server && npm test

Expected: All tests pass

cd server && npm run lint

Expected: No errors (warnings OK)

cd server && npx tsc --noEmit

Expected: No type errors

cd server && npm run test:integration

Expected: All tests pass

Client

cd client && npm test

Expected: All tests pass

cd client && npm run lint

Expected: No errors (warnings OK)

cd client && npm run build

Expected: Build succeeds without errors

E2E (if docker-compose is running)

npm run test:e2e

Expected: All E2E tests pass

Step 5: Issue Severity Guide

Blocking (must fix before PR):

  • Test failures
  • Build/lint errors
  • Security issues (XSS, injection, exposed secrets)
  • Broken functionality
  • Missing error handling that could crash the app

Should fix (fix now or create follow-up issue):

  • Missing test coverage for new logic (see writing-tests skill for conventions)
  • Performance issues (unnecessary re-renders, N+1 queries)
  • Accessibility problems
  • Inconsistent UI patterns

Note for later (document but don't block):

  • Minor refactoring opportunities
  • Nice-to-have improvements
  • Tech debt observations

Step 6: Hand Off

After all blocking issues are fixed, report the review results and hand off to finishing-a-development-branch for PR creation or merge. Do NOT create a PR in this skill — that's handled by the finishing skill.