.claude/skills/review/SKILL.md
Review code changes, auto-fix safe issues, and report bugs
npx skillsauth add elie222/inbox-zero reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Code review with craftsman's eye. Auto-fix obvious issues, surface real bugs.
Reference @AGENTS.md for project conventions. Apply those patterns as review criteria.
path/to/file.ts:123 format only| Category | What | Action | |----------|------|--------| | [BUG] | Logic errors, security, data loss, race conditions | Report → wait | | [FIX] | Type gaps, missing error handling, test gaps, slop | Report → wait | | [AUTO] | Unused imports, dead code, console.log, typos | Fix immediately | | [CONSIDER] | Refactors, style opinions, nice-to-have | Mention only |
AUTO examples:
NOT AUTO (needs confirmation):
Always ask these questions during review:
_vars or // removed comments?components/ subfolder — we don't do that in route directories)apps/web/components/.validation.ts fileswithAuth or withEmailAccount?Awaited<ReturnType<typeof fn>>?LoadingContent for loading/error states?useAction from next-safe-action/hooks for form submissions?z.infer<typeof schema> instead of duplicate interfaces?logger.trace() for PII fields?.claude/skills/testing/SKILL.md?@/utils/logger?apps/web/utils/ai/reply/draft-attribution.ts DRAFT_PIPELINE_VERSION bumped for analytics?AGENTS.md or this review file?Inheritance Test: Would I curse the previous author? Understand at 2am?
Pride Test: Would I put my name on this?
Auto-detect: conversation changes → staged → current diff
git diff --cached --name-only # or HEAD
Group files by area/dependency:
Batch 1: apps/web/app/api/agent/* (3 files)
Batch 2: apps/web/app/(app)/[emailAccountId]/agent/* (related components)
Batch 3: apps/web/utils/actions/* (2 files)
Output: Found X files in Y batches
──────────
BEFORE reading any file content, create todo list:
- [ ] Batch 1: API routes (skills, allowed-actions)
- [ ] Batch 2: agent page components (agent-page, chat, tools)
- [ ] Batch 3: server actions (agent.ts, agent.validation.ts)
Use todo_write to track batches.
──────────
For each batch:
git diff --cached -- path/to/files)Issue format:
1. **[BUG]** Race condition in concurrent saves — `src/db.ts:45`
2. **[FIX]** Missing error boundary — `src/App.tsx:12`
3. **[CONSIDER]** Extract to custom hook — `src/Form.tsx:34`
After each batch:
Batch 1 done: AUTO: 2 fixed | BUG: 1 | FIX: 2
──────────
Total: BUG: X | FIX: X | CONSIDER: X (auto-fixed: Y)
Issues:
1. [BUG] ... — `path:line`
2. [FIX] ... — `path:line`
What to fix?
- a) BUG + FIX [recommended]
- b) BUG only
- c) All including CONSIDER
- d) Custom (e.g., "1,3")
I'll assume a) if you don't specify.
Learnings:
- Any patterns worth adding to AGENTS.md?
- Any new review checks to add to this file?
STOP. Wait for selection.
──────────
Process fixes batch-by-batch (same grouping):
BUG (Logic/Security):
FIX (Quality):
as any)CONSIDER (Opinions):
# Staged
git diff --cached
git diff --cached --name-only
# All uncommitted
git diff HEAD
git diff HEAD --name-only
| Error | Response | |-------|----------| | No changes | "Check git status or specify files" | | File not found | List available, ask to specify | | Binary files | Skip, mention in summary | | Large file (>10k) | "Review specific sections?" |
tools
Use the Inbox Zero API CLI to inspect the live API schema, list and manage automation rules, and read inbox analytics through the public API. Use this when a task involves Inbox Zero rules, stats, or API-driven automation and can be solved through the CLI instead of browser interaction.
tools
Write focused unit tests for backend and utility logic
testing
Pause execution for a user-specified duration
testing
Update workspace packages while respecting the repo's pinned package list in .ncurc.cjs. Use when the user asks to update dependencies or refresh package versions.