Realiza code review profesional como un Staff Engineer antes de commits o PRs. Analiza correctness, security, performance, maintainability y testing.
View on GitHubgoat1990/claude-productivity-plugin
productivity
plugins/productivity/skills/review/SKILL.md
February 2, 2026
Select agents to install to:
npx add-skill https://github.com/goat1990/claude-productivity-plugin/blob/main/plugins/productivity/skills/review/SKILL.md -a claude-code --skill reviewInstallation paths:
.claude/skills/review/# Code Review
Realiza code review profesional como un Staff Engineer antes de commits o PRs.
## Trigger
- `/productivity:review` - Review de cambios actuales (staged + unstaged)
- `/productivity:review --staged` - Solo cambios staged
- `/productivity:review [file]` - Review de archivo especifico
- `/productivity:review --pr` - Review completo estilo PR
## Review Checklist
### 1. Correctness
- [ ] El codigo hace lo que deberia hacer?
- [ ] Maneja edge cases?
- [ ] Hay off-by-one errors?
- [ ] Las condiciones son correctas (< vs <=)?
### 2. Security
- [ ] Hay inputs no sanitizados?
- [ ] Se exponen datos sensibles?
- [ ] Hay SQL injection posible?
- [ ] XSS posible?
- [ ] Secrets hardcodeados?
### 3. Performance
- [ ] Hay N+1 queries?
- [ ] Renders innecesarios en React?
- [ ] Loops dentro de loops evitables?
- [ ] Memory leaks (event listeners, subscriptions)?
### 4. Maintainability
- [ ] Codigo legible y auto-documentado?
- [ ] Nombres descriptivos?
- [ ] Funciones pequenas y enfocadas?
- [ ] DRY - no hay duplicacion?
### 5. Testing
- [ ] Hay tests para el nuevo codigo?
- [ ] Los tests son significativos?
- [ ] Cubren edge cases?
### 6. Project Conventions
- [ ] Sigue el estilo del proyecto?
- [ ] Respeta patterns de CLAUDE.md?
- [ ] No repite errores de mistakes.md?
## Output Format
```markdown
# Code Review - [branch/file]
## Summary
- **Files changed**: 5
- **Lines added**: 127
- **Lines removed**: 45
- **Risk level**: Medium
## Issues Found
### Critical (must fix)
#### Missing null check in user handler
**File**: `src/api/users.ts:45`
\`\`\`tsx
// Current
const name = user.profile.name
// Suggested
const name = user?.profile?.name ?? 'Unknown'
\`\`\`
**Why**: Will crash if user.profile is undefined
---
### Suggestions (should fix)
#### Consider using early return
**File**: `src/utils/validate.ts:23`
\`\`\`tsx
// Current
if (isValid) {
// 30 lines of code
}
// Suggested
if (!isValid) return null
// 30 lines of code (less nesting)
\`\`\`
--