Agent skill

Pragmatic Review

by heyitsnoah in heyitsnoah/claudesidian

Interactive pragmatic code review focusing on YAGNI and KISS principles.

MITAuto-check passedDevelopment

Install Pragmatic Review

skills CLI
$ npx skills add heyitsnoah/claudesidian --skill pragmatic-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install heyitsnoah/claudesidian pragmatic-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/heyitsnoah/claudesidian.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pragmatic-review .claude/skills/pragmatic-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pragmatic-review
GitHub stars
2.6k
Token cost
~2.6k tokens
SKILL.md length
1,048 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Interactive pragmatic code review focusing on YAGNI and KISS principles.

  • Works in 7 steps: Determine Review Scope → YAGNI/KISS Analysis Framework → Perform Analysis → …
  • The user asks for a code review
  • SKILL.md covers Review Modes, Step 1: Determine Review Scope, Step 2: YAGNI/KISS Analysis… and Step 3: Perform Analysis, plus 7 more sections
  • Calls git

What it does

Pragmatic Review is an agent skill from heyitsnoah/claudesidian. 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.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Code simplification and Code review. It works with Git. The licence is MIT.

When your agent uses it

  • The user asks for a code review
  • Wants to check for over-engineering
  • Wants a YAGNI/KISS-focused review of changes

Example prompts

  • “/pragmatic-review”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Determine Review Scope
  2. YAGNI/KISS Analysis Framework
  3. Perform Analysis
  4. 5: Self-Review Pass
  5. Interactive Review Process
  6. Core Review Rules
  7. Final Summary

What it can do on your machine

Read from SKILL.md and the folder at commit 6c56f35. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • martinfowler.com
    • en.wikipedia.org
    • owasp.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pragmatic Review loads about 2.6k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 1,048 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from heyitsnoah/claudesidian at commit 6c56f35, republished under its MIT licence (© heyitsnoah). 1,048 words, ~2,637 tokens.

Download SKILL.mdSave it as .claude/skills/pragmatic-review/SKILL.md (or your agent's skills folder).
name
pragmatic-review
description
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.

Pragmatic Code Review: YAGNI & KISS Focus

You will perform an interactive code review with laser focus on YAGNI (You Aren't Gonna Need It) and KISS (Keep It Simple, Stupid) principles.

Review Modes

Default mode: Fast YAGNI/KISS-focused review

  • Scans for over-engineering, unused abstractions, unnecessary complexity
  • Quick security and performance checks (OWASP basics, obvious N+1 queries)
  • Self-reflection to validate findings with evidence

Deep mode (--deep flag): Multi-pass comprehensive review

  • Pass 1: Security (OWASP Top 10, input validation, auth issues)
  • Pass 2: Architecture (SOLID principles, separation of concerns)
  • Pass 3: Logic (edge cases, error handling, correctness)
  • Pass 4: Performance (algorithm complexity, resource leaks)
  • Pass 5: YAGNI/KISS (over-engineering, unnecessary abstractions)
  • Pass 6: Maintainability (readability, tests, documentation)
  • Self-reflection after all passes

Use --deep when:

  • Security-critical changes (auth, payment, data handling)
  • Core architecture modifications
  • Complex logic changes with many edge cases
  • Performance-sensitive code paths

Use default mode when:

  • Feature additions
  • Bug fixes
  • Refactoring
  • Documentation changes

CI mode (--ci flag): Non-interactive mode for GitHub Actions

  • Skips ALL interactive prompts
  • Auto-selects: all branch changes vs base branch
  • Uses $GITHUB_BASE_REF environment variable if available
  • Outputs all findings at once as markdown (summary view)

Step 1: Determine Review Scope

Check Current Git State

First, verify we're in a git repository by running:

  • test -d .git to check if .git directory exists

If not in a git repository, ask the user to specify files to review manually.

If in a git repository, gather information:

Current branch:

Run: git rev-parse --abbrev-ref HEAD

Default branch detection:
  1. Try: git rev-parse --verify main
  2. If that fails, try: git rev-parse --verify master
  3. If that fails, try: git rev-parse --verify develop

If user specified --base [branch] in arguments, use that instead.

Working directory status:

Run: git status --short | head -20

Present Options to User

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):

Step 2: YAGNI/KISS Analysis Framework

For each file identified, analyze for these patterns:

YAGNI Detection Patterns
  1. Unused abstractions

    • Interfaces/protocols with single implementations
    • Abstract base classes with one concrete subclass
    • Generic types that are always the same
  2. Premature flexibility

    • Configuration for things that never change
    • Plugin systems with no plugins
    • Feature flags that are always on/off
  3. Over-engineering indicators

    • Factory classes for simple objects
    • Builder patterns for objects with 2-3 fields
    • Event systems with single listeners
  4. Speculative code

    • "TODO: might need this" comments
    • Commented-out code "just in case"
    • Unreachable code paths
    • Methods that are never called
  5. The GenericButton Anti-Pattern

    • Components with 8+ optional parameters serving different use cases
    • So many props that using it is as complex as writing from scratch
  6. Premature Abstraction - Rule of Three

    • Abstraction created at 1st or 2nd duplication (wait for 3rd!)
    • Reference: Martin Fowler - "Tolerate duplication twice, refactor on the third"
KISS Violation Patterns
  1. Verbose implementations

    • Can be reduced by >50% lines
    • Reimplements standard library functions
    • Complex regex when simple string operations work
  2. Abstraction addiction

    • More than 3 levels of inheritance/wrapping
    • Interfaces between every layer
  3. Clever code

    • Needs extensive comments to explain
    • Uses obscure language features unnecessarily
    • One-liners that should be 5 clear lines
  4. Catch-Log-Exit Anti-Pattern

    • Catching exceptions just to log and exit
    • Replaces actual error with a guess about what went wrong
    typescript
    // 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 })
Security Patterns to Check

Even in a YAGNI/KISS review, flag critical security issues:

  1. SQL Injection

    • String concatenation in SQL queries
    • Missing parameterized queries
  2. Authentication/Authorization

    • Hardcoded secrets
    • Weak defaults: SECRET = os.getenv('KEY', 'default')
    • JWT without expiration
  3. Unvalidated External Inputs

    • URL parameters used directly without validation
    • API response data trusted without schema validation
Show full SKILL.md (448 more words)Show less
Performance Patterns to Check

Flag obvious performance issues:

  1. N+1 Query Problems

    • Loops that make database calls
    • Missing eager loading
  2. Inefficient Algorithms

    • O(n²) where O(n) or O(n log n) would work
    • Unnecessary nested loops

Step 3: Perform Analysis

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.

Step 3.5: Self-Review Pass

Before presenting findings, validate each issue:

  1. Evidence Check:

    • Can I provide a link/reference supporting this criticism?
    • Have I explained WHY this matters?
  2. Severity Validation:

    • Is this rating accurate (High/Medium/Low)?
    • Would this issue actually cause problems?
  3. YAGNI-Specific Checks:

    • If flagging duplication: Is this the 3rd+ occurrence?
    • Can this be refactored later when we have more information?

Remove or downgrade any issues that fail these checks.

Step 4: Interactive Review Process

Issue Severity Prefixes

Use these prefixes to communicate priority:

PrefixMeaningAction Required
issue:Bug, correctness problemMust fix before merge
nit:Minor improvement, styleOptional, don't block
thought:Design considerationDiscuss, may defer
suggestion:Specific improvement with codeConsider seriously
Interactive Walkthrough

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

Step 5: Core Review Rules

ALWAYS Flag These YAGNI Issues:
  1. Interfaces with single implementation
  2. Unused code - functions/methods with zero callers
  3. Speculative database fields - columns always NULL
  4. Premature optimization - caching before measuring
ALWAYS Flag These KISS Violations:
  1. Standard library reimplementation
  2. Excessive abstraction layers
  3. Configuration over convention - 100 lines config for 50 lines code
DON'T Flag These:
  1. Necessary complexity - error handling, security measures
  2. Domain complexity - business rules that ARE complex
  3. Team conventions - agreed-upon patterns

Step 6: Final Summary

📝 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]

═══════════════════════════════

Command Parameters Reference

  • --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 branch

Examples:

  • /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 review

Core Philosophy

When in doubt, remember:

  1. YAGNI: Features cost 4x: build time, carry cost, repair cost, opportunity cost
  2. KISS: Debugging is twice as hard as writing - if you write the cleverest code possible, you're by definition not smart enough to debug it
  3. Rule of Three: Tolerate duplication twice, refactor on the third
  4. Pragmatic: Ship working software today, perfect it tomorrow

Your role is to be the champion of simplicity. Every line deleted is a victory.

References

© heyitsnoah, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/pragmatic-review of heyitsnoah/claudesidian.

Open the folder on GitHubat commit 6c56f35

Compare with similar skills

Pragmatic Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pragmatic Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pragmatic Review this skillheyitsnoah/claudesidian2.6k—~2.6kAutomated safety check: PassMIT
Review And Simplify ChangesDimillian/Skills4k—~2kAutomated safety check: PassMIT
Simplify Codesickn33/agentic-awesome-skills47k2 repos~1.8kAutomated safety check: PassMIT
Simplify Codetobihagemann/turbo408—~3.5kAutomated safety check: PassMIT
Subagent ReviewNikiforovAll/claude-code-rules141—~927Automated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Review a git diff or explicit file scope for reuse, code quality, efficiency, clarity, and standards issues, then optionally apply safe Codex-driven fixes.

    4k GitHub stars~2k tokensUpdated 6 mo ago
    DevelopmentAuto-check passed
  • Simplify Code

    sickn33/agentic-awesome-skills

    Review a diff for clarity and safe simplifications, then optionally apply low-risk fixes.

    47k GitHub starsUsed in 2 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Simplify Code

    tobihagemann/turbo

    Run a multi-agent review of changed files for scope, reuse, quality, efficiency, clarity, and altitude issues followed by fixes.

    408 GitHub stars~3.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Subagent Review

    NikiforovAll/claude-code-rules

    Review changed code for reuse, quality, and efficiency using three parallel disposable subagents.

    141 GitHub stars~927 tokensUpdated 9 days ago
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Open Code Review CLI

    alibaba/open-code-review

    Runs the ocr command-line tool to review Git changes, a commit or a branch comparison with an AI model, returning line-level comments and optionally applying fixes.

    46k GitHub stars~3.1k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from heyitsnoah/claudesidian

All 17 skills in this repo
  • JSON Canvas

    heyitsnoah/claudesidian

    Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.

    2.6k GitHub starsUsed in 18 repos~3.5k tokens
    Auto-check passed
  • Add Frontmatter

    heyitsnoah/claudesidian

    Add or update YAML frontmatter properties to enhance Obsidian note organization.

    2.6k GitHub stars~951 tokensUpdated 6 mo ago
    Auto-check passed
  • De AI Ify

    heyitsnoah/claudesidian

    Remove AI-generated jargon and restore human voice to text. An agent skill from heyitsnoah/claudesidian.

    2.6k GitHub stars~526 tokensUpdated 6 mo ago
    Auto-check passed
  • Download Attachment

    heyitsnoah/claudesidian

    Download files from URLs to the Obsidian attachments folder and organize them with descriptive names.

    2.6k GitHub stars~836 tokensUpdated 6 mo ago
    Auto-check passed
  • Git Worktrees

    heyitsnoah/claudesidian

    Work with git worktrees for isolated parallel development. An agent skill from heyitsnoah/claudesidian.

    2.6k GitHub stars~1.1k tokensUpdated 6 mo ago
    Auto-check: notes
  • Install Claudesidian Command

    heyitsnoah/claudesidian

    Install claudesidian shell command to launch Claude Code from anywhere.

    2.6k GitHub stars~2.7k tokensUpdated 6 mo ago
    Auto-check passed

Works with

Categories

Questions about Pragmatic Review

What does Pragmatic Review do?

Interactive pragmatic code review focusing on YAGNI and KISS principles. Pragmatic Review is an agent skill from heyitsnoah/claudesidian. Interactive pragmatic code review focusing on YAGNI and KISS principles.

When should I use Pragmatic Review?

Pragmatic Review fits situations like: the user asks for a code review; wants to check for over-engineering; wants a YAGNI/KISS-focused review of changes.

How do I install Pragmatic Review in Claude Code?

Run `npx skills add heyitsnoah/claudesidian --skill pragmatic-review -a claude-code`. Or copy the skill folder (.agents/skills/pragmatic-review in heyitsnoah/claudesidian) into .claude/skills/pragmatic-review in your project. Claude Code loads it when a task matches its description.

How do I install Pragmatic Review in Codex?

Run `npx skills add heyitsnoah/claudesidian --skill pragmatic-review -a codex`. Or copy the skill folder (.agents/skills/pragmatic-review in heyitsnoah/claudesidian) into .agents/skills/pragmatic-review in your project. Codex loads it when a task matches its description.

Can I use Pragmatic Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add heyitsnoah/claudesidian --skill pragmatic-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pragmatic-review, .gemini/skills/pragmatic-review, .github/skills/pragmatic-review and .opencode/skills/pragmatic-review in your project.

What does Pragmatic Review need to run?

Going by SKILL.md and its folder, Pragmatic Review needs the command-line tools its instructions call (git).

Does Pragmatic Review access the network?

SKILL.md names 3 domains. As links in the text: martinfowler.com, en.wikipedia.org and owasp.org. This is read from the text; nothing was executed.

Is Pragmatic Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Pragmatic Review use?

Pragmatic Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pragmatic Review use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pragmatic Review?

Skills that share tags, products or a category with Pragmatic Review: Review And Simplify Changes (Dimillian/Skills, 4k stars), Simplify Code (sickn33/agentic-awesome-skills, 47k stars), Simplify Code (tobihagemann/turbo, 408 stars) and Subagent Review (NikiforovAll/claude-code-rules, 141 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pragmatic Review?

heyitsnoah (a GitHub user) maintains it in heyitsnoah/claudesidian, which has 2,599 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on April 11, 2026.

Source: heyitsnoah/claudesidian on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.