skills/coding/frontend-code-review/SKILL.md
Comprehensive frontend code quality audit covering ESLint, robustness, side effects, and performance for React/Vue/Taro projects. Should be used when the user needs a thorough code quality check — before committing, during PR review, after refactoring, or when inheriting someone else's code. Distinguished from staged-code-review which focuses on git staged changes pre-commit, this skill focuses on general frontend code quality auditing.
npx skillsauth add ImaginerLabs/skill-manager frontend-code-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Full-spectrum code health check for frontend code, ensuring production-grade quality. Works with React, Vue, Taro, and other modern frontend frameworks.
The goal isn't just to find problems — it's to give the user a clear verdict: is this code safe to ship, and if not, what exactly needs fixing?
| Skill | Relationship | Use case |
| ------------------------------- | ------------ | ----------------------------------------------- |
| staged-code-review | Upstream | When reviewing staged changes before commit |
| frontend-staged-bundle-review | Parallel | When also concerned about bundle size |
| code-comment-writer | Downstream | When review finds readability issues |
| tech-stack-detection | Prerequisite | When project tech stack is unknown |
| react-performance | Deeper dive | When performance issues are found during review |
For the full detailed checklist with code examples, see checklist.md.
Run lint checks, prioritize fixing no-unused-vars, no-undef, exhaustive-deps. Only fix errors introduced by the current change — don't expand the diff.
Key areas:
?. and nullish coalescing ??useEffect subscription must have a cleanup functionReact.memo, useMemo, useCallback where neededkeyReact.lazy for heavy components1. Receive code (specified file or current context)
↓
2. Run ESLint check → auto-fix basic errors
↓
3. Deep analysis: robustness → side effects → performance
↓
4. Generate report with scoring
↓
5. Action recommendation: pass / warn / block
## Code Quality Review Report
### Overview
- **File**: `[filename]`
- **Tech stack**: React / Vue / Taro
- **Overall score**: 🟢 Excellent (90+) / 🟡 Good (70-89) / 🔴 Needs work (<70)
---
### 1. ESLint Check
| Status | Rule | Location | Description |
| ------- | ---- | -------- | ----------- |
| ✅ PASS | - | - | No errors |
**Fixes applied:**
- [List auto-fixed issues]
---
### 2. Robustness Assessment
#### Risk Items
| Severity | Location | Issue | Fix suggestion |
| --------- | ----------- | ------- | -------------- |
| 🔴 High | `file:line` | [issue] | [suggestion] |
| 🟡 Medium | `file:line` | [issue] | [suggestion] |
---
### 3. Side Effects & Context
- **Upstream impact**: [analysis]
- **Downstream impact**: [analysis]
- **Global impact**: [analysis]
---
### 4. Performance Suggestions
| Priority | Location | Issue | Suggestion | Expected gain |
| -------- | ----------- | ------- | ------------ | ------------- |
| 🔴 High | `file:line` | [issue] | [suggestion] | [gain] |
---
### Summary
- **Blockers**: X (must fix)
- **Warnings**: X (should fix)
- **Suggestions**: X (nice to have)
#### Action
- [ ] ✅ Safe to commit (no blockers)
- [ ] ⚠️ Fix warnings before commit
- [ ] ❌ Must fix blockers before commit
| Problem | Typical scenario | Solution |
| --------------- | ---------------------------------------- | ---------------------------------- |
| Null error | Cannot read property of undefined | Use ?. optional chaining |
| Race condition | Fast page switching causes data mismatch | AbortController to cancel requests |
| Memory leak | setState after unmount | useEffect cleanup function |
| Infinite render | useEffect dependency array error | Check dependency completeness |
| Performance | List rendering lag | Use key + React.memo |
| Check | React | Vue |
| ---------------- | --------------------------- | -------------------------------- |
| Effect cleanup | useEffect return function | onUnmounted |
| Computed caching | useMemo | computed |
| Callback caching | useCallback | Not needed manually |
| State update | setState / useState | ref / reactive |
| Props validation | TypeScript interface | props definition + validator |
development
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
devops
Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.
tools
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
documentation
Generates standardized porting documentation from completed feature changes. Analyzes commit diffs or file contents, extracts change intent, and outputs Markdown documentation for cross-team understanding. Should be used when the user needs to document a change for cross-team or cross-project consumption. Distinguished from cross-branch-fix-porter which actively re-implements fixes, this skill documents changes.