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.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: frontend-debug-linting
description: 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.
allowed-tools: Read, Edit, Bash (*)
---
# 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**
1. Run lint: `npm run lint`
2. Type check: `npm run typecheck`
3. Browser check: console + screenshot
4. Deliver when clean
## Quick Commands
```bash
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
```yaml
"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
```yaml
"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
```yaml
"Prettier errors":
→ Run: npm run format
```
## Browser Verification
```yaml
# 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
```yaml
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
```bash
# 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
```yaml
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
```

No comments yet. Be the first to comment!