
Frontend Code Review
Run a structured frontend review on pending changes or named `.tsx`/`.ts`/`.js` files before commit or release.
Overview
frontend-code-review is an agent skill most often used in Ship review (also Build frontend) that inspects frontend files against a split checklist with urgent-prioritized findings.
Install
npx skills add https://github.com/langgenius/dify --skill frontend-code-reviewWhat is this skill?
- Two modes: pending-change (staged/working tree) and file-targeted review
- Living checklist split across code-quality, performance, and business-logic references
- Flags violations with Urgent metadata then groups by category order
- Focused on `.tsx`, `.ts`, and `.js` frontend modules
- Template-driven review sections with representative snippets per rule
- 3 reference checklist categories: code-quality, performance, business-logic
- 2 review modes: pending-change and file-targeted
Adoption & trust: 7.8k installs on skills.sh; 144k GitHub stars; 2/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You are about to commit frontend changes but lack a consistent review rubric across quality, performance, and business-logic rules.
Who is it for?
Solo builders using agents on React/TS frontends who want staged-diff or file-specific reviews tied to documented rules.
Skip if: Backend-only reviews, security pentests, or teams that will not maintain the reference markdown checklists.
When should I use this skill?
The user requests a review of frontend files (e.g., `.tsx`, `.ts`, `.js`)—pending changes or specific named files.
What do I get? / Deliverables
You receive a grouped review report with urgent flags and snippets mapped to the canonical checklist references before you merge or ship.
- Structured review report grouped by urgency and category
- Per-rule snippets showing deviations from the checklist
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Formal review belongs on the Ship shelf even when you catch issues earlier during Build. The review subphase is where checklist-driven quality gates block bad merges on frontend code.
Where it fits
Scan staged `.tsx` files and surface urgent memoization and styling violations before you open a PR.
Review a named dashboard component while refactoring React Flow hooks mid-sprint.
Run a file-targeted pass on a demo UI to catch business-logic checklist gaps before user testing.
How it compares
Use instead of unstructured “look at my PR” prompts when you need checklist coverage and urgency ordering.
Common Questions / FAQ
Who is frontend-code-review for?
Indie frontend developers and agent users who want repeatable reviews of TypeScript and JavaScript UI code before submission.
When should I use frontend-code-review?
Use it in Ship review before commits; during Build frontend when refactoring components; and in Validate prototype when hardening a demo UI before wider testing.
Is frontend-code-review safe to install?
It reads your local frontend files during review—check the Security Audits panel on this page and avoid pointing it at secrets embedded in source.
SKILL.md
READMESKILL.md - Frontend Code Review
# Frontend Code Review ## Intent Use this skill whenever the user asks to review frontend code (especially `.tsx`, `.ts`, or `.js` files). Support two review modes: 1. **Pending-change review** – inspect staged/working-tree files slated for commit and flag checklist violations before submission. 2. **File-targeted review** – review the specific file(s) the user names and report the relevant checklist findings. Stick to the checklist below for every applicable file and mode. ## Checklist See [references/code-quality.md](references/code-quality.md), [references/performance.md](references/performance.md), [references/business-logic.md](references/business-logic.md) for the living checklist split by category—treat it as the canonical set of rules to follow. Flag each rule violation with urgency metadata so future reviewers can prioritize fixes. ## Review Process 1. Open the relevant component/module. Gather lines that relate to class names, React Flow hooks, prop memoization, and styling. 2. For each rule in the review point, note where the code deviates and capture a representative snippet. 3. Compose the review section per the template below. Group violations first by **Urgent** flag, then by category order (Code Quality, Performance, Business Logic). ## Required output When invoked, the response must exactly follow one of the two templates: ### Template A (any findings) ``` # Code review Found <N> urgent issues need to be fixed: ## 1 <brief description of bug> FilePath: <path> line <line> <relevant code snippet or pointer> ### Suggested fix <brief description of suggested fix> --- ... (repeat for each urgent issue) ... Found <M> suggestions for improvement: ## 1 <brief description of suggestion> FilePath: <path> line <line> <relevant code snippet or pointer> ### Suggested fix <brief description of suggested fix> --- ... (repeat for each suggestion) ... ``` If there are no urgent issues, omit that section. If there are no suggestions, omit that section. If the issue number is more than 10, summarize as "10+ urgent issues" or "10+ suggestions" and just output the first 10 issues. Don't compress the blank lines between sections; keep them as-is for readability. If you use Template A (i.e., there are issues to fix) and at least one issue requires code changes, append a brief follow-up question after the structured output asking whether the user wants you to apply the suggested fix(es). For example: "Would you like me to use the Suggested fix section to address these issues?" ### Template B (no issues) ``` ## Code review No issues found. ``` # Rule Catalog — Code Quality ## Conditional class names use utility function IsUrgent: True Category: Code Quality ### Description Ensure conditional CSS is handled via the shared `classNames` instead of custom ternaries, string concatenation, or template strings. Centralizing class logic keeps components consistent and easier to maintain. ### Suggested Fix ```ts import { cn } from '@/utils/classnames' const classNames = cn(isActive ? 'text-primary-600' : 'text-gray-500') ``` ## Tailwind-first styling IsUrgent: True Category: Code Quality ### Description Favor Tailwind CSS utility classes instead of adding new `.module.css` files unless a Tailwind combination cannot achieve the required styling. Keeping styles in Tailwind improves consistency and reduces maintenance overhead. Update this file when adding, editing, or removing Code Quality rules so the catalog remains accurate. ## Classname ordering for easy overrides ### Description When writing components, always place the incoming `className` prop after the component’s own class values so that downstream consumers can override or extend the styling. This keeps your compon