Code Quality Skill
π¨ MANDATORY 7-PHASE WORKFLOW
PHASE 1: Exploration (explore-codebase) β BLOCKER
PHASE 2: Documentation (research-expert) β BLOCKER
PHASE 3: Impact Analysis (Grep usages) β BLOCKER
PHASE 3.5: DRY Detection (jscpd duplication) β NON-BLOCKING
PHASE 4: Error Detection (linters)
PHASE 5: Precision Correction (with docs + impact + DRY)
PHASE 6: Verification (re-run linters, tests, duplication)
CRITICAL: Phases 1-3 are BLOCKERS. Never skip them. DRY: Phase 3.5 is non-blocking but findings inform Phase 5 corrections.
PHASE 1: Architecture Exploration
Launch explore-codebase agent FIRST:
> Agent(subagent_type="fuse-ai-pilot:explore-codebase", prompt="...")
Gather:
- Programming language(s) detected
- Existing linter configs (.eslintrc, .prettierrc, pyproject.toml)
- Package managers and installed linters
- Project structure and conventions
- Framework versions (package.json, go.mod, Cargo.toml)
- Architecture patterns (Clean, Hexagonal, MVC)
- State management (Zustand, Redux, Context)
- Interface/types directories location
PHASE 2: Documentation Research
Launch research-expert agent:
> Agent(subagent_type="fuse-ai-pilot:research-expert", prompt="Verify [library/framework] documentation for [error type]. Find [language] best practices for [specific issue].")
Request for each error:
- Official API documentation
- Current syntax and deprecations
- Best practices for error patterns
- Version-specific breaking changes
- Security advisories
- Language-specific SOLID patterns
PHASE 3: Impact Analysis
For EACH element to modify: Grep usages β assess risk β document impact.
| Risk | Criteria | Action | |------|----------|--------| | π’ LOW | Internal, 0-1 usages | Proceed | | π‘ MEDIUM | 2-5 usages, compatible | Proceed with care | | π΄ HIGH | 5+ usages OR breaking | Flag to user FIRST |
PHASE 3.5: Code Duplication Detection (DRY)
Tool: jscpd β 150+ languages β npx jscpd ./src --threshold 5 --reporters console,json
| Level | Threshold | Action | |-------|-----------|--------| | π’ Excellent | < 3% | No action needed | | π‘ Good | 3-5% | Document, fix if time | | π Acceptable | 5-10% | Extract shared logic | | π΄ Critical | > 10% | Mandatory refactoring |
See references/duplication-thresholds.md for per-language thresholds, config, and extraction patterns. See references/linter-commands.md for language-specific jscpd commands.
Linter Commands
See references/linter-commands.md for language-specific commands.
Error Priority Matrix
| Priority | Type | Examples | Action | |----------|------|----------|--------| | Critical | Security | SQL injection, XSS, CSRF, auth bypass | Fix IMMEDIATELY | | High | Logic | SOLID violations, memory leaks, race conditions | Fix same session | | High | DRY | Code duplication > 10%, copy-paste logic blocks | Mandatory refactoring | | Medium | DRY | Code duplication 5-10%, repeated patterns | Extract shared logic | | Medium | Performance | N+1 queries, deprecated APIs, inefficient algorithms | Fix if time | | Low | Style | Formatting, naming, missing docs | Fix if time |
SOLID Validation
See references/solid-validation.md for S-O-L-I-D detection patterns and fix examples.
File Size Rules
See references/file-size-rules.md for LoC limits, calculation, and split strategies.
Architecture Rules
See references/architecture-patterns.md for project structures and patterns.
Validation Report Format
See references/validation-report.md for the complete sniper report template.
Complete Workflow Example
See references/examples.md for detailed walkthrough.
Forbidden Behaviors
Workflow Violations
- β Skip PHASE 1 (explore-codebase)
- β Skip PHASE 2 (research-expert)
- β Skip PHASE 3 (impact analysis)
- β Skip PHASE 3.5 (DRY detection)
- β Jump to corrections without completing Phases 1-3
- β Proceed when BLOCKER is active
Code Quality Violations
- β Leave ANY linter errors unfixed
- β Apply fixes that introduce new errors
- β Ignore SOLID violations
- β Ignore DRY violations > 5% duplication
- β Copy-paste code instead of extracting shared logic
- β Create tests if project has none
Architecture Violations
- β Interfaces in component files (ZERO TOLERANCE)
- β Business logic in components (must be in hooks)
- β Monolithic components (must section)
- β Files >100 LoC without split
- β Local state for global data (use stores)
Safety Violations
- β High-risk changes without user approval
- β Breaking backwards compatibility silently
- β Modifying public APIs without deprecation