code-review
llama-farm/llamafarm
Comprehensive code review for diffs with security, quality, and domain-specific analysis.
What is code-review?
Analyzes changed code in diffs for security vulnerabilities, anti-patterns, and quality issues. Auto-detects whether code is frontend, backend, CLI, or config based on file paths, then applies domain-specific checklists. Use this when reviewing pull requests, staged changes, or commit ranges.
- Parses diffs and extracts changed files and lines
- Auto-detects domain (frontend/backend/CLI/config) from directory paths
- Checks for security issues: hardcoded secrets, eval/dynamic execution, command injection
- Identifies code quality problems: debug statements, empty catch blocks, TODOs
- Detects LLM code smells: placeholder implementations, overly generic abstractions
- Performs impact analysis to find breaking changes and unaccounted usages
How to install code-review
npx skills add https://github.com/llama-farm/llamafarm --skill code-review- A diff to review (paste directly, or agent can generate via git diff, git diff HEAD~1, etc.)
- Access to the codebase files for context (the skill reads full files to understand surrounding code)
How to use code-review
- 1.Provide or generate a diff (e.g., paste PR diff, run git diff, or let the agent generate one)
- 2.Invoke the skill (e.g., /code-review)
- 3.The skill parses the diff and detects domains from file paths
- 4.It applies generic and domain-specific checklists to changed lines only
- 5.A structured markdown report is generated in /tmp/claude/{sanitized-path}/reviews/ with all findings
- 6.Review the report, prioritize critical issues, and apply recommendations
Use cases
- Review a pull request diff before merging to catch security and quality issues
- Analyze staged changes in git before committing to prevent problems from entering the codebase
- Audit a commit range (e.g., main..HEAD) to understand what changed and identify risks
- Check code generated by other AI agents for common pitfalls and anti-patterns
- Validate refactoring changes to ensure no breaking changes were introduced
- Code reviewers and maintainers evaluating pull requests
- Developers performing self-review before committing
- CI/CD pipelines automating code quality checks
- Teams using AI agents for code generation who need validation
code-review FAQ
The skill asks you to provide a diff or offers to generate one using git commands like git diff or git diff main..HEAD.
It focuses on changed lines from the diff but reads full file context to understand surrounding code and detect impacts.
Frontend (designer/), Backend (server/, rag/, runtimes/universal/), CLI/Go (cli/), and Config (config/). It auto-detects and applies relevant checklists.
Critical (must fix immediately), High (important), Medium (should address), and Low (nice to have).
Yes, it performs impact analysis by searching for usages of modified exports, API signatures, shared utilities, and config schemas elsewhere in the codebase.
Full instructions (SKILL.md)
Source of truth, from llama-farm/llamafarm.
name: code-review description: Comprehensive code review for diffs. Analyzes changed code for security vulnerabilities, anti-patterns, and quality issues. Auto-detects domain (frontend/backend) from file paths. allowed-tools: Bash, Read, Edit, Write, Grep, Glob, Task
Code Review Skill
You are performing a comprehensive code review on a diff. Your task is to analyze the changed code for security vulnerabilities, anti-patterns, and quality issues.
Input Model
This skill expects a diff to be provided in context before invocation. The caller is responsible for generating the diff.
Example invocations:
- User pastes PR diff, then runs
/code-review - Agent runs
git diff HEAD~1, then invokes this skill - CI tool provides diff content for review
If no diff is present in context, ask the user to provide one or offer to generate one (e.g., git diff, git diff main..HEAD).
Domain Detection
Auto-detect which checklists to apply based on directory paths in the diff:
| Directory | Domain | Checklist |
|---|---|---|
designer/ | Frontend | Read frontend.md |
server/ | Backend | Read backend.md |
rag/ | Backend | Read backend.md |
runtimes/universal/ | Backend | Read backend.md |
cli/ | CLI/Go | Generic checks only |
config/ | Config | Generic checks only |
If the diff spans multiple domains, load all relevant checklists.
Review Process
Step 1: Parse the Diff
Extract from the diff:
- List of changed files
- Changed lines (additions and modifications)
- Detected domains based on file paths
Step 2: Initialize the Review Document
Create a review document using the temp-files pattern:
SANITIZED_PATH=$(echo "$PWD" | tr '/' '-')
REPORT_DIR="/tmp/claude/${SANITIZED_PATH}/reviews"
mkdir -p "$REPORT_DIR"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
FILEPATH="${REPORT_DIR}/code-review-${TIMESTAMP}.md"
Initialize with this schema:
# Code Review Report
**Date**: {current date}
**Reviewer**: Code Review Agent
**Source**: {e.g., "PR diff", "unstaged changes", "main..HEAD"}
**Files Changed**: {count}
**Domains Detected**: {list}
**Status**: In Progress
## Summary
| Category | Items Checked | Passed | Failed | Findings |
|----------|---------------|--------|--------|----------|
| Security | 0 | 0 | 0 | 0 |
| Code Quality | 0 | 0 | 0 | 0 |
| LLM Code Smells | 0 | 0 | 0 | 0 |
| Impact Analysis | 0 | 0 | 0 | 0 |
| Simplification | 0 | 0 | 0 | 0 |
{domain-specific categories added based on detected domains}
## Detailed Findings
{findings added here as review progresses}
Step 3: Review Changed Code
For EACH checklist item:
- Scope feedback to diff lines only - Only flag issues in the changed code
- Use file context - Read full file content to understand surrounding code
- Apply relevant checks - Use domain-appropriate checklist items
- Document findings - Record each violation found in changed code
Key principle: The diff is what gets reviewed. The rest of the file provides context to make that review accurate.
Step 4: Impact Analysis
Check if the diff might affect other parts of the codebase:
- Changed exports/interfaces - Search for usages elsewhere that may break
- Modified API signatures - Check for callers that need updating
- Altered shared utilities - Look for consumers that may be affected
- Config/schema changes - Find code that depends on old structure
Report any unaccounted-for impacts as findings with severity based on risk.
Step 5: Document Each Finding
For each issue found, add an entry:
### [{CATEGORY}] {Item Name}
**Status**: FAIL
**Severity**: Critical | High | Medium | Low
**Scope**: Changed code | Impact analysis
#### Violation
- **File**: `path/to/file.ext`
- **Line(s)**: 42-48 (from diff)
- **Code**:
// problematic code snippet from diff
- **Issue**: {explanation of what's wrong}
- **Recommendation**: {how to fix it}
Step 6: Finalize the Report
After completing all checks:
- Update the summary table with final counts
- Add an executive summary:
- Total issues found
- Critical issues requiring immediate attention
- Impact analysis results
- Recommended priority order for fixes
- Update status to "Complete"
- Inform the user of the report location
Generic Review Categories
These checks apply to ALL changed code regardless of domain.
Category: Security Fundamentals
Hardcoded Secrets
Check diff for:
- API keys, passwords, secrets in changed code
- Patterns:
api_key,apiKey,password,secret,token,credentialwith literal values
Pass criteria: No hardcoded secrets in diff (should use environment variables) Severity: Critical
Eval and Dynamic Code Execution
Check diff for:
- JavaScript/TypeScript:
eval(,new Function(,setTimeout(",setInterval(" - Python:
eval(,exec(,compile(
Pass criteria: No dynamic code execution in changed lines Severity: Critical
Command Injection
Check diff for:
- Python:
subprocesswithshell=True,os.system( - Go:
exec.Command(with unsanitized input
Pass criteria: No unvalidated user input in shell commands Severity: Critical
Category: Code Quality
Console/Print Statements
Check diff for:
- JavaScript/TypeScript:
console.log,console.debug,console.info - Python:
print(statements
Pass criteria: No debug statements in production code changes Severity: Low
TODO/FIXME Comments
Check diff for:
TODO:,FIXME:,HACK:,XXX:comments
Pass criteria: New TODOs should be tracked in issues Severity: Low
Empty Catch/Except Blocks
Check diff for:
- JavaScript/TypeScript:
catch { }orcatch(e) { } - Python:
except: passor empty except blocks
Pass criteria: All error handlers log or rethrow Severity: High
Category: LLM Code Smells
Placeholder Implementations
Check diff for:
TODO,PLACEHOLDER,IMPLEMENT,NotImplemented- Functions that just
return None,return [],return {}
Pass criteria: No placeholder implementations in production code Severity: High
Overly Generic Abstractions
Check diff for:
- New classes/functions with names like
GenericHandler,BaseManager,AbstractFactory - Abstractions without clear reuse justification
Pass criteria: Abstractions are justified by actual reuse Severity: Low
Category: Impact Analysis
Breaking Changes
Check if diff modifies:
- Exported functions/classes - search for imports elsewhere
- API endpoints - search for callers
- Shared types/interfaces - search for usages
- Config schemas - search for consumers
Pass criteria: All impacted code identified and accounted for Severity: High (if unaccounted impacts found)
Category: Simplification
Duplicate Logic
Check diff for:
- Repeated code patterns (not just syntactic similarity)
- Copy-pasted code with minor variations
- Similar validation, transformation, or formatting logic
Pass criteria: No obvious duplication in changed code Severity: Medium Suggestion: Extract shared logic into reusable functions
Unnecessary Complexity
Check diff for:
- Deeply nested conditionals (more than 3 levels)
- Functions doing multiple unrelated things
- Overly complex control flow
Pass criteria: Code is reasonably flat and focused Severity: Medium Suggestion: Use early returns, extract helper functions
Verbose Patterns
Check diff for:
- Patterns that have simpler alternatives in the language
- Redundant null checks or type assertions
- Unnecessary intermediate variables
Pass criteria: Code uses idiomatic patterns Severity: Low Suggestion: Simplify using language built-ins
Domain-Specific Review Items
Based on detected domains, read and apply the appropriate checklists:
- Frontend detected (
designer/): Readfrontend.mdand apply those checks to changed code - Backend detected (
server/,rag/,runtimes/): Readbackend.mdand apply those checks to changed code
Final Summary Template
## Executive Summary
**Review completed**: {timestamp}
**Total findings**: {count}
### Critical Issues (Must Fix)
1. {issue 1}
2. {issue 2}
### Impact Analysis Results
- {summary of any breaking changes or unaccounted impacts}
### High Priority (Should Fix)
1. {issue 1}
2. {issue 2}
### Recommendations
{Overall recommendations based on the changes reviewed}
Notes for the Agent
-
Scope to diff: Only flag issues in the changed lines. Don't review unchanged code.
-
Use context: Read full files to understand the changes, but feedback targets the diff only.
-
Check impacts: When changes touch exports, APIs, or shared code, search for affected consumers.
-
Be specific: Include file paths, line numbers (from diff), and code snippets for every finding.
-
Prioritize: Flag critical security issues immediately.
-
Provide solutions: Each finding should include a recommendation for how to fix it.
-
Update incrementally: Update the review document after each category, not at the end.
Related skills
More from llama-farm/llamafarm and the wider catalog.

ai-paper-reproduction
End-to-end README-first reproduction of AI paper repositories with auditable outputs and conservative patch rules.

ai-paper-reproduction
Agent skill from lllllllama/rigorpilot-skills.

ai-research-explore
Structured exploration of deep learning research candidates with scientific rigor, fair comparison, and auditable experiments.

ai-research-reproduction
README-first deep learning repository reproduction with auditable evidence and conservative patch rules.

analyze-project
Read-only analysis skill for understanding deep learning research repositories and flagging suspicious patterns.

env-and-assets-bootstrap
Prepare conda environments and asset paths for README-documented deep learning repo reproduction.