Interactive pragmatic code review focusing on YAGNI and KISS principles. Use when the user asks for a code review, wants to check for over-engineering, or wants a YAGNI/KISS-focused review of changes.
67
80%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.agents/skills/pragmatic-review/SKILL.mdYou will perform an interactive code review with laser focus on YAGNI (You Aren't Gonna Need It) and KISS (Keep It Simple, Stupid) principles.
Default mode: Fast YAGNI/KISS-focused review
Deep mode (--deep flag): Multi-pass comprehensive review
Use --deep when:
Use default mode when:
CI mode (--ci flag): Non-interactive mode for GitHub Actions
$GITHUB_BASE_REF environment variable if availableFirst, verify we're in a git repository by running:
test -d .git to check if .git directory existsIf not in a git repository, ask the user to specify files to review manually.
If in a git repository, gather information:
Run: git rev-parse --abbrev-ref HEAD
git rev-parse --verify maingit rev-parse --verify mastergit rev-parse --verify developIf user specified --base [branch] in arguments, use that instead.
Run: git status --short | head -20
If --ci flag is present: Skip all interactive prompts and auto-select
option 2: Review all changes on current branch vs base.
Unless --auto or --ci flag is present, ask the user:
📋 CODE REVIEW SCOPE SELECTION
════════════════════════════════
What would you like to review?
1️⃣ Current uncommitted changes
2️⃣ All changes on current branch (compared to [detected default branch])
3️⃣ Specific files or directory
4️⃣ Last N commits
5️⃣ Staged changes only
Please enter your choice (1-5):For each file identified, analyze for these patterns:
Unused abstractions
Premature flexibility
Over-engineering indicators
Speculative code
The GenericButton Anti-Pattern
Premature Abstraction - Rule of Three
Verbose implementations
Abstraction addiction
Clever code
Catch-Log-Exit Anti-Pattern
// TERRIBLE: replaces actual error with a guess
try {
await createNewBranch({ branchName, cwd })
} catch (error) {
console.error('Error: Not in a git repository') // Maybe wrong!
process.exit(1)
}
// CORRECT: let it throw naturally
await createNewBranch({ branchName, cwd })Even in a YAGNI/KISS review, flag critical security issues:
SQL Injection
Authentication/Authorization
SECRET = os.getenv('KEY', 'default')Unvalidated External Inputs
Flag obvious performance issues:
N+1 Query Problems
Inefficient Algorithms
Check for --deep flag: If present, use Multi-Pass Deep Mode with 6
sequential passes. Otherwise, use Fast YAGNI/KISS Mode.
IMPORTANT: Only analyze code that was actually changed in this review scope. Do not flag pre-existing issues.
Before presenting findings, validate each issue:
Evidence Check:
Severity Validation:
YAGNI-Specific Checks:
Remove or downgrade any issues that fail these checks.
Use these prefixes to communicate priority:
| Prefix | Meaning | Action Required |
|---|---|---|
issue: | Bug, correctness problem | Must fix before merge |
nit: | Minor improvement, style | Optional, don't block |
thought: | Design consideration | Discuss, may defer |
suggestion: | Specific improvement with code | Consider seriously |
For each issue, present:
═══════════════════════════════════════
Issue [current] of [total]
═══════════════════════════════════════
📁 File: [filename]
📍 Lines: [start-end]
🏷️ Type: [YAGNI | KISS | Both]
🎯 Severity: [High | Medium | Low]
CURRENT CODE:
[show actual code snippet]
ISSUE DETECTED: [Specific description]
WHY THIS MATTERS: [Explain the real cost/problem]
SUGGESTED SIMPLIFICATION:
[Show the simpler alternative code]
═══════════════════════════════════════
What would you like to do?
1. ✅ Accept - Add to fix list
2. ❌ Skip - Keep current code
3. 💬 Discuss - Mark for team review
4. 👀 Context - See more surrounding code
5. ⏹️ Stop - End review here📝 PRAGMATIC REVIEW COMPLETE
═══════════════════════════════
Review Statistics:
• Files reviewed: [X]
• Lines changed: [Y]
Issues Found: [Y total]
• Critical (blocking): [count]
• High priority: [count]
• Medium: [count]
• Low: [count]
COMPLEXITY REDUCTION POTENTIAL:
• Lines removable: ~[total] (-X%)
• Unnecessary abstractions: [count]
TOP 3 QUICK WINS:
1. [Biggest impact, easiest change]
2. [Second biggest impact]
3. [Third biggest impact]
RECOMMENDATION: [Clear ship/don't ship with reasoning]
═══════════════════════════════--auto : Skip interactive prompts, use defaults (uncommitted changes)--ci : CI mode - skip ALL prompts, review branch vs base--deep : Enable 6-pass comprehensive review--branch [name] : Review specific branch--base [branch] : Compare against this base branchExamples:
/pragmatic-review - Interactive mode/pragmatic-review --auto - Review current changes automatically/pragmatic-review --ci - CI mode for GitHub Actions/pragmatic-review --deep - Comprehensive 6-pass reviewWhen in doubt, remember:
Your role is to be the champion of simplicity. Every line deleted is a victory.
6c56f35
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.