Claude Skills Guide

How to Automate Code Reviews with Claude Skills

Code reviews catch bugs, enforce standards, and spread knowledge — but they also eat time. Claude Code skills let you automate the mechanical parts of code review so human reviewers can focus on architecture and intent. This guide covers how to use the tdd, frontend-design, and supermemory skills as review tools, and how to wire them into a pre-commit and CI workflow.

How Claude Skills Work in a Review Context

Claude Code skills are .md files in ~/.claude/skills/. You invoke them with a slash command inside a Claude Code session:

/tdd
/frontend-design
/supermemory

There is no claude code run tdd subcommand or claude code install command. Skills run inside the Claude Code conversation and can read files in your project via Claude’s built-in file tools.

For automation — pre-commit hooks, CI pipelines — you drive Claude Code non-interactively using claude --print and pass it a prompt that includes the skill invocation and the files to review.

Checking Test Coverage with the TDD Skill

The tdd skill understands test-driven development patterns. Use it to check whether new code has corresponding tests:

# pre-commit-hooks/check-tests.sh
#!/bin/bash

CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(js|ts|jsx|tsx)$' | grep -v '\.test\.' | grep -v '\.spec\.')

if [ -z "$CHANGED_FILES" ]; then
  exit 0
fi

claude --print "
/tdd

Review these changed files and identify any that lack test coverage.
For each file missing tests, list what scenarios should be tested.

Files to review:
$(for f in $CHANGED_FILES; do echo "--- $f ---"; cat "$f"; echo; done)
" > /tmp/tdd-review.txt

cat /tmp/tdd-review.txt

When the tdd skill is active, Claude checks for the presence of test files, reviews import patterns to see if test utilities are in use, and flags functions with no corresponding test cases.

For a function like this:

function calculateDiscount(price, category) {
    const rates = { premium: 0.2, standard: 0.1, basic: 0.05 };
    return price * (rates[category] || 0);
}

Claude with the tdd skill active will flag that tests should cover:

Validating UI Code with frontend-design

The frontend-design skill is designed for HTML, CSS, and component work. Use it to catch accessibility issues, prop-type problems, and common React hook mistakes:

# CI step: review changed UI components
claude --print "
/frontend-design

Review these React components for:
- Missing useEffect dependencies
- Accessibility issues (missing alt text, unlabeled inputs)
- CSS specificity problems

$(git diff origin/main...HEAD -- 'src/components/*.tsx' | head -500)
"

The skill will surface issues like missing dependency arrays:

// frontend-design flags the empty dependency array
function UserProfile({ userId }) {
    const [user, setUser] = useState(null);
    useEffect(() => {
        fetchUser(userId).then(setUser);
    }, []); // userId missing from deps
}

Encoding Standards with supermemory

The supermemory skill maintains your project’s conventions across sessions. Store your review standards once:

/supermemory

Code review standards for this project:
- Max 200 lines per file (split into helpers if over)
- All async functions must have try/catch
- Arrow functions preferred over function declarations
- JSDoc required on all exported functions
- No console.log in production code (use logger.ts)

In subsequent review sessions, invoke supermemory first so Claude has those standards in context before you invoke other skills:

/supermemory
/tdd

Review src/utils/auth.ts against our project standards and check test coverage.

CI Pipeline Integration

For GitHub Actions, drive Claude Code with --print to get structured output and fail the build if issues are found:

# .github/workflows/claude-review.yml
name: Claude Code Review
on: [pull_request]

jobs:
  skill-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: TDD coverage check
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          CHANGED=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '\.(js|ts)$' | grep -v test)
          if [ -n "$CHANGED" ]; then
            claude --print "/tdd
Check if these files have corresponding test files: $CHANGED
If any lack tests, exit with a non-zero summary." > review-output.txt
            cat review-output.txt
          fi

      - name: Frontend design check
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          CHANGED_UI=$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '\.(tsx|jsx)$')
          if [ -n "$CHANGED_UI" ]; then
            claude --print "/frontend-design
Review these component files for accessibility and hook correctness: $CHANGED_UI"
          fi

Pre-Commit Hook Setup

For local enforcement before code reaches CI:

#!/bin/bash
# .git/hooks/pre-commit
# Make executable: chmod +x .git/hooks/pre-commit

STAGED=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(js|ts|jsx|tsx)$')

if [ -z "$STAGED" ]; then
  exit 0
fi

echo "Running Claude Code skill review..."

OUTPUT=$(claude --print "/tdd
List any staged files that are missing test coverage. Be brief — one line per file.
Staged files: $STAGED")

echo "$OUTPUT"

# Fail if tdd skill found uncovered files
if echo "$OUTPUT" | grep -q "missing"; then
  echo "Pre-commit: test coverage issues found. Fix before committing."
  exit 1
fi

Combining Skills Effectively

Skills compose within a single Claude session. For a complete review pass, invoke them together:

/supermemory
/tdd
/frontend-design

Do a full review of src/checkout/. Check standards (supermemory), test coverage (tdd),
and component quality (frontend-design). Give me a prioritized list of issues.

This single prompt triggers all three skill contexts. Claude applies each skill’s lens to the same codebase and produces one consolidated review — more efficient than running three separate prompts.

Spec Compliance with the PDF Skill

For teams maintaining API specifications or architecture decision records as PDFs, the /pdf skill lets you compare implementations against specs during review:

/pdf Load API-spec-v2.pdf and check if the new /users/profile endpoint matches the spec

Claude compares the implementation against the specification and flags deviations — missing fields, wrong status codes, undocumented parameters. The /docx skill works identically for Word documents.

Pair this with a CLAUDE.md security checklist so your security requirements become implicit context for every review:

# Security Review Checklist (CLAUDE.md)

When reviewing authentication code:
- Check for hardcoded secrets or API keys
- Verify JWT expiration is set and validated
- Confirm password hashing uses bcrypt or argon2 (never MD5/SHA1)
- Check for SQL injection via unsanitized inputs

Establishing a Consistent Review Protocol

Consistency matters more than comprehensiveness. Pick two or three skills and apply them to every PR rather than running all four irregularly:

  1. /tdd on every PR that touches business logic
  2. CLAUDE.md security checklist on every PR touching authentication or data handling
  3. /pdf or /docx only when a spec document is directly relevant

Document this protocol in your CLAUDE.md so every team member’s Claude Code session starts with the same review expectations. Over time, the consistency compounds — reviewers stop re-explaining context, and Claude’s suggestions become more calibrated to your codebase’s patterns.

What Automated Review Catches (and What It Doesn’t)

Claude skills handle mechanical checks well: missing tests, accessibility attributes, hook dependency arrays, naming convention violations, file length limits. They are less reliable for: architectural trade-offs, business logic correctness, security vulnerabilities in complex flows, and cross-service consistency.

The practical workflow is: skills handle the checklist, humans handle the judgment calls. Your review queue shrinks because the easy issues are already caught.



Built by theluckystrike — More at zovo.one