review-frontend
Comprehensive React/TypeScript frontend code review with optional parallel agents
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/anderskev/review-frontendFrontend Code Review
Arguments
--parallel: Spawn specialized subagents per technology area- Path: Target directory (default: current working directory)
Step 1: Identify Changed Files
git diff --name-only $(git merge-base HEAD main)..HEAD | grep -E '\.(tsx?|css)$'
Step 2: Detect Technologies
# Detect React Flow
grep -r "@xyflow/react\|ReactFlow\|useNodesState" --include="*.tsx" -l | head -3
# Detect Zustand
grep -r "from 'zustand'\|create\(\(" --include="*.ts" --include="*.tsx" -l | head -3
# Detect Tailwind v4
grep -r "@theme\|@layer theme" --include="*.css" -l | head -3
# Check for test files
git diff --name-only $(git merge-base HEAD main)..HEAD | grep -E '\.test\.tsx?$'
Step 3: Load Verification Protocol
Load beagle-react:review-verification-protocol before any substantive judgment on code.
Pass before Step 5: The skill is loaded (or its checklist is open in context). Do not classify severity or write findings until this gate clears.
Step 4: Load Skills
Use the Skill tool to load each applicable skill (e.g., Skill(skill: "beagle-react:react-router-code-review")).
Always load:
beagle-react:react-router-code-reviewbeagle-react:shadcn-code-review
Conditionally load based on detection:
| Condition | Skill |
|---|---|
| @xyflow/react detected | beagle-react:react-flow-code-review |
| Zustand detected | beagle-react:zustand-state |
| Tailwind v4 detected | beagle-react:tailwind-v4 |
| Test files changed | beagle-react:vitest-testing |
Step 5: Review
Sequential (default):
- Load applicable skills
- Review React Router patterns first
- Review shadcn/ui patterns
- Review detected technology areas
- Consolidate findings
Parallel (--parallel flag):
- Detect all technologies upfront
- Spawn one subagent per technology area with
Tasktool - Each agent loads its skill and reviews its domain
- Wait for all agents
- Consolidate findings
Step 6: Verify Findings
Before reporting any issue:
- Re-read the actual code (not just diff context)
- For "unused" claims - did you search all references?
- For "missing" claims - did you check framework/parent handling?
- For syntax issues - did you verify against current version docs?
- Remove any findings that are style preferences, not actual issues
Pass before promoting to Critical/Major: For that item, (2)–(4) are satisfied with a concrete artifact when applicable — e.g. opened file at FILE:LINE, grep/search output for references, or cited parent/framework code — not only diff context.
Step 7: Review Convergence
Single-Pass Completeness
You MUST report ALL issues across ALL categories (style, logic, types, tests, security, performance) in a single review pass. Do not hold back issues for later rounds.
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-anderskev-review-frontend": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
explanation-docs
Explanation documentation patterns for understanding-oriented content - conceptual guides that explain why things work the way they do
tutorial-docs
Tutorial patterns for documentation - learning-oriented guides that teach through guided doing
pytest-code-review
Reviews pytest test code for async patterns, fixtures, parametrize, and mocking. Use when reviewing test_*.py files, checking async test functions, fixture usage, or mock patterns.
reference-docs
Reference documentation patterns for API and symbol documentation. Use when writing reference docs, API docs, parameter tables, or technical specifications. Triggers on reference docs, API reference, function reference, parameters table, symbol documentation.
serde-code-review
Reviews serde serialization code for derive patterns, enum representations, custom implementations, and common serialization bugs. Use when reviewing Rust code that uses serde, serde_json, toml, or any serde-based serialization format. Covers attribute macros, field renaming, and format-specific pitfalls.