Claude-skill-registry frontend-debug-linting
Quality gates for frontend code. ALWAYS use after writing React/Next.js code and before delivery. Covers: ESLint linting, TypeScript type-checking, Prettier formatting, browser console debugging. Catches errors before they reach users.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/frontend-debug-linting" ~/.claude/skills/majiayu000-claude-skill-registry-frontend-debug-linting && rm -rf "$T"
manifest:
skills/data/frontend-debug-linting/SKILL.mdsource content
Debug & Linting
Catch errors before delivery. Lint, type-check, browser verify.
When to Use
- After writing code → run checks
- Before delivery → verify quality
- Debugging → check console/network
Process
LINT → TYPE → BROWSER → DELIVER
- Run lint:
npm run lint - Type check:
npm run typecheck - Browser check: console + screenshot
- Deliver when clean
Quick Commands
npm run lint # ESLint check npm run lint:fix # Auto-fix npm run typecheck # TypeScript check npm run format # Prettier format npm run check # All checks
Common Fixes
TypeScript
"Type 'X' not assignable to 'Y'": → Fix type mismatch or add assertion "'X' declared but never used": → Remove or prefix with _ "Object possibly 'undefined'": → Add null check: obj?.property → Add fallback: obj ?? default
React
"Missing dependencies in useEffect": → Add deps or wrap in useCallback "Each child should have unique key": → Add key={item.id} to list items "img must have alt prop": → Add alt text or alt=""
Formatting
"Prettier errors": → Run: npm run format
Browser Verification
# Check console errors browser_console_messages: { onlyErrors: true } → Must be empty before delivery # Check network browser_network_requests → No failed (4xx, 5xx) requests # Debug element styles browser_evaluate: { function: "() => getComputedStyle(el)" }
Pre-Delivery Checklist
MUST PASS: - [ ] npm run lint → 0 errors - [ ] npm run typecheck → 0 errors - [ ] browser_console_messages → 0 errors - [ ] No failed network requests CAN DELIVER WITH: - ESLint warnings (with explanation) - Console warnings (if understood)
Project Setup
# Add to existing Next.js project npm install -D prettier eslint-config-prettier # package.json scripts { "lint": "eslint . --ext .ts,.tsx", "lint:fix": "eslint . --ext .ts,.tsx --fix", "format": "prettier --write .", "typecheck": "tsc --noEmit", "check": "npm run typecheck && npm run lint" }
Debug Checklist
WHEN SOMETHING BREAKS: 1. browser_console_messages → check errors 2. browser_network_requests → failed requests? 3. npm run typecheck → type errors? 4. Add console.log → trace flow 5. Isolate → comment out sections 6. Fix → run checks → verify