code-reviewer
Use when asked to review MERN stack code - comprehensive code reviewer that checks project health, security, maintainability, performance, testing, and architecture. Combines general code quality analysis with MERN-specific expertise.
What this skill does
# Code Reviewer ## Overview Comprehensive code review: General intelligence + MERN specialization. **Philosophy:** Check project health FIRST, then dive into code. A 6,000-line file is a problem regardless of what's in it. ## Review Workflow ### Phase 0: Project Health (Do This First) Before reading any code, assess project health: 1. **Build status:** Run `tsc --noEmit` or check for compilation errors 2. **Project docs:** Read README, any STATUS/BUGS/TODO files - look for deployment blockers 3. **Test health:** Do tests exist? Check `package.json` scripts, look for test directories 4. **File sizes:** `find src -name "*.ts" -o -name "*.tsx" | xargs wc -l | sort -n | tail -20` 5. **Dependencies:** Check for `npm audit` issues, unusual deps (Angular in React?) **Stop here if:** Build is broken, docs say "DO NOT DEPLOY", or critical blockers found. Report immediately. ### Phase 1: Scope Detection 1. Identify scope from context: - Full repo → Broad review, sample key files - Feature/PR → All changed files - Single file → Deep dive 2. Detect layers: React? Express? MongoDB? Node.js? 3. If ambiguous → ask user ### Phase 2: Review by Priority | Priority | Focus | Severity | |----------|-------|----------| | 0. Blockers | Build failures, "DO NOT DEPLOY", broken deploys | STOP | | 1. Security | Injection, auth, secrets, XSS | Critical | | 2. Maintainability | God files, complexity, duplication | Critical/Important | | 3. Performance | N+1, missing indexes, re-renders | Important | | 4. Testing | No tests, low coverage, flaky tests | Important | | 5. Best Practices | Error handling, async patterns | Suggestion | | 6. Architecture | API design, state management | Suggestion | Load reference files ON-DEMAND when you hit MERN-specific edge cases. ### Phase 3: Report Use the output format below. Offer to fix starting with Critical. ## Output Format ```markdown # MERN Code Review ## Project Health - Build: [Compiles / X errors / Not checked] - Tests: [X passing / X failing / None found] - Blockers: [Any deployment blockers from docs] - Large files: [Files >500 lines] ## Scope [What was reviewed] ## Summary - Files reviewed: X - Issues: X Critical, X Important, X Suggestions ## Critical (Must Fix) ### [C1] Category: Title **File:** `path:line` **Why:** [1-2 sentences] **Fix:** [Code or instruction] ## Important (Should Fix) ### [I1] Category: Title ... ## Suggestions - `file:line` - Note ## What's Good - [Positive observations] ## Verdict [Ready to deploy / Blocked / Needs fixes] - [1 sentence reason] --- **Ready to fix these?** Starting with Critical issues. ``` ## Checklists **Minimum required checks.** Report other issues you find during review. ### Blockers (Check First) - [ ] Project compiles without errors - [ ] No "DO NOT DEPLOY" or similar warnings in docs - [ ] No critical security advisories in `npm audit` ### Security - [ ] No `$where`, `$ne`, `$regex` with user input (NoSQL injection/ReDoS) - [ ] No `dangerouslySetInnerHTML` without DOMPurify - [ ] JWT in httpOnly cookies, not localStorage - [ ] Secrets in env vars, not hardcoded (check config files too, not just code) - [ ] Helmet middleware configured - [ ] CORS properly restricted - [ ] Rate limiting on auth endpoints - [ ] Input validation on all endpoints - [ ] No `eval()` or `new Function()` with user input ### Maintainability - [ ] No file >500 lines (god files) - [ ] No function >50 lines - [ ] No class/component with >20 methods - [ ] No deep nesting (>4 levels) - [ ] No copy-paste blocks >10 lines (DRY) - [ ] Clear naming (no cryptic abbreviations) - [ ] Consistent code style ### Performance - [ ] No N+1 queries (use populate/$lookup) - [ ] Indexes on frequently queried fields - [ ] `.lean()` for read-only Mongoose queries - [ ] No `fs.readFileSync` in request handlers - [ ] React.memo on expensive components - [ ] useCallback/useMemo where beneficial - [ ] Pagination on list endpoints ### Testing - [ ] Tests exist for critical paths (auth, payments, core flows) - [ ] Test coverage reasonable (>50% for services) - [ ] No skipped/commented-out tests - [ ] Tests actually assert behavior (not just "doesn't crash") - [ ] Mocks don't hide real integration issues ### Best Practices - [ ] Async errors handled (try/catch or error middleware) - [ ] useEffect cleanup functions present - [ ] No floating promises (unhandled async) - [ ] Middleware order correct (body-parser before routes, error handler last) - [ ] Environment variables validated at startup - [ ] Graceful shutdown handlers ### Architecture - [ ] Consistent API response format - [ ] Service layer between controllers and DB - [ ] Types aligned frontend/backend - [ ] No circular dependencies - [ ] Clear module boundaries - [ ] No god components (React >300 lines) - [ ] State management appropriate for complexity ## Red Flags (Immediate Critical) These are automatic Critical issues: - `eval()`, `new Function()` with user input - Hardcoded secrets/credentials in code - `dangerouslySetInnerHTML` without sanitization - JWT/auth tokens in localStorage - Missing auth middleware on protected routes - `$where` clause with user input - File >1000 lines - "DO NOT DEPLOY" in project docs - `npm audit` critical vulnerabilities ## Scope Calibration | Scope | Phase 0 | Code Depth | Focus | |-------|---------|------------|-------| | Single file | Skip | Deep | All checklists on that file | | Last commit | Quick | Medium | Changed lines + immediate context | | Feature/PR | Quick | Medium | All changed files | | Full repo | Full | Broad | Sample key files, architecture | ## Reference Files Load ONLY when you encounter MERN-specific patterns you need to verify: | When to Load | Reference | |--------------|-----------| | NoSQL query security question | [security.md](reference/security.md) | | React hooks/re-render issue | [react.md](reference/react.md) | | Express middleware question | [express.md](reference/express.md) | | MongoDB schema/index question | [mongodb.md](reference/mongodb.md) | | Node.js async/memory issue | [nodejs.md](reference/nodejs.md) | | API design/auth flow question | [fullstack.md](reference/fullstack.md) | **Do NOT load all references upfront.** They're for edge cases, not general review. ## Don't - Don't claim "no issues found" without actually searching for them - Don't report on code you haven't read - Don't classify style issues as Critical ## Examples ### God File Detection ``` Found: EventService.ts - 6,165 lines → Critical [C1] Maintainability: God file → Recommend split into: EventQueryService, EventBookingService, EventGuestService, EventInviteService (~500 lines each) ``` ### Missing Health Check ``` Found: CURRENT_STATUS_AND_BUGS.md contains "DO NOT DEPLOY" → Critical [C1] Blocker: Deployment blocked by known issues → Fix TypeScript errors in EditEventModal.tsx before proceeding ``` ### Security + Specific Fix ``` Found: No Helmet middleware in index.ts → Critical [C2] Security: Missing security headers → Fix: npm install helmet && app.use(helmet()) ```
Related in Security
mac-ops
IncludedComprehensive macOS workstation operations — diagnose kernel panics, identify failing drives, audit launchd startup items, decode wake reasons, triage TCC permission denials, manage APFS snapshots, recover from no-boot. Use for: Mac is slow, slow bootup, won't boot, kernel panic, kernel_task hot, mds_stores CPU, photoanalysisd, cloudd, login loop, gray screen, sleep wake failure, drive failing, IO errors, APFS snapshots eating space, Time Machine local snapshots, Spotlight indexing, launchd, LaunchAgent, LaunchDaemon, login items, TCC permissions, Full Disk Access, Screen Recording denied, Gatekeeper, quarantine, com.apple.quarantine, app is damaged, helper tool, /Library/PrivilegedHelperTools, pmset, wake reasons, dark wake, sysdiagnose, panic.ips, DiagnosticReports, configuration profile, MDM profile, remote diagnostics over SSH.
a11y-audit
IncludedRun accessibility audits on web projects combining automated scanning (axe-core, Lighthouse) with WCAG 2.1 AA compliance mapping, manual check guidance, and structured reporting. Output is configurable: markdown report only, markdown plus machine-readable JSON, or markdown plus issue tracker integration. Use this skill whenever the user mentions "accessibility audit", "a11y audit", "WCAG audit", "accessibility check", "compliance scan", or asks to check a web project for accessibility issues. Also trigger when the user wants to verify WCAG conformance or map findings to a specific standard (CAN-ASC-6.2, EN 301 549, ADA/AODA).
erpclaw
IncludedAI-native ERP system with self-extending OS. Full accounting, invoicing, inventory, purchasing, tax, billing, HR, payroll, advanced accounting (ASC 606/842, intercompany, consolidation), and financial reporting. 413 actions across 14 domains, 43 expansion modules. Constitutional guardrails, adversarial audit, schema migration. Double-entry GL, immutable audit trail, US GAAP.
assess
IncludedAssesses and rates quality 0-10 across multiple dimensions (correctness, maintainability, security, performance, testability, simplicity) with pros/cons analysis. Compares against project conventions and prior decisions from memory. Produces structured evaluation reports with actionable improvement suggestions. Use when evaluating code, designs, architectures, or comparing alternative approaches.
spring-boot-security-jwt
IncludedProvides JWT authentication and authorization patterns for Spring Boot 3.5.x covering token generation with JJWT, Bearer/cookie authentication, database/OAuth2 integration, and RBAC/permission-based access control using Spring Security 6.x. Use when implementing authentication or authorization in Spring Boot applications.
code-hardcode-audit
IncludedDetect hardcoded values, magic numbers, and leaked secrets. TRIGGERS - hardcode audit, magic numbers, PLR2004, secret scanning.