Files
gh-djankies-claude-configs-…/skills/reviewing-code-quality/SKILL.md
2025-11-29 18:22:30 +08:00

151 lines
4.5 KiB
Markdown

---
name: reviewing-code-quality
description: Automated tooling and detection patterns for JavaScript/TypeScript code quality review
---
# Code Quality Review Skill
## Purpose
This skill provides automated analysis commands and detection patterns for code quality issues. Use this as a reference for WHAT to check and HOW to detect issues—not for output formatting or workflow.
## Automated Analysis Tools
Run these scripts to gather metrics (if tools available):
### Linting Analysis
```bash
bash ~/.claude/plugins/marketplaces/claude-configs/review/scripts/review-lint.sh
```
````
**Returns:** Error count, violations with file:line, auto-fix suggestions
### Type Safety Analysis
```bash
bash ~/.claude/plugins/marketplaces/claude-configs/review/scripts/review-types.sh
```
**Returns:** Type errors, missing annotations, error locations
### Unused Code Detection
```bash
bash ~/.claude/plugins/marketplaces/claude-configs/review/scripts/review-unused-code.sh
```
**Returns:** Unused exports, unused dependencies, dead code
### TODO/FIXME Comments
```bash
bash ~/.claude/plugins/marketplaces/claude-configs/review/scripts/review-todos.sh
```
**Returns:** Comment count by type, locations with context
### Debug Statements
```bash
bash ~/.claude/plugins/marketplaces/claude-configs/review/scripts/review-debug-statements.sh
```
**Returns:** console.log/debugger statements with locations
### Large Files
```bash
bash ~/.claude/plugins/marketplaces/claude-configs/review/scripts/review-large-files.sh
```
**Returns:** Files >500 lines sorted by size
## Manual Detection Patterns
When automated tools unavailable or for deeper analysis, use Read/Grep/Glob to detect:
### Code Smells to Detect
**Long Functions:**
```bash
# Find functions with >50 lines
grep -n "function\|const.*=.*=>.*{" <file> | while read line; do
# Count lines until closing brace
done
```
Look for: Functions spanning >50 lines, multiple responsibilities
**Deep Nesting:**
```bash
# Find lines with >3 levels of indentation
grep -E "^[[:space:]]{12,}" <file>
```
Look for: Nesting depth >3, complex conditionals
**Missing Error Handling:**
```bash
grep -n "async\|await\|Promise\|\.then\|\.catch" <file>
```
Look for: Async operations without try-catch or .catch()
**Poor Type Safety:**
```bash
grep -n "any\|as any\|@ts-ignore\|@ts-expect-error" <file>
```
Look for: Type assertions, any usage, suppression comments
**Repeated Patterns:**
Use Read to identify duplicate logic blocks (>5 lines similar code)
**Poor Naming:**
Look for: Single-letter variables (except i, j in loops), unclear abbreviations, misleading names
## Severity Mapping
Use these criteria when classifying findings:
| Pattern | Severity | Rationale |
| ---------------------------------------- | -------- | ----------------------- |
| Type errors blocking compilation | critical | Prevents deployment |
| Missing error handling in critical paths | high | Production crashes |
| Unused exports in public API | high | Breaking changes needed |
| Large files (>500 LOC) | medium | Maintainability impact |
| TODO comments | medium | Incomplete work |
| Debug statements (console.log) | medium | Production noise |
| Deep nesting (>3 levels) | medium | Complexity issues |
| Long functions (>50 lines) | medium | Readability issues |
| Linting warnings | nitpick | Style consistency |
| Minor naming issues | nitpick | Clarity improvements |
## Analysis Priority
1. **Run automated scripts first** (if tools available)
2. **Parse script outputs** for file:line references
3. **Read flagged files** using Read tool
4. **Apply manual detection patterns** to flagged files
5. **Cross-reference findings** (e.g., large file + many TODOs = higher priority)
## Integration Notes
- This skill provides detection methods only
- Output formatting is handled by the calling agent
- Severity classification should align with agent's schema
- Do NOT include effort estimates or workflow instructions
## Related Skills
**Cross-Plugin References:**
- If reviewing Zod schema patterns, use the reviewing-patterns skill for detecting validation issues and schema anti-patterns
- Uses skills tagged with `review: true` including reviewing-vitest-config from vitest-4 for detecting deprecated patterns and Vitest 4.x migration issues