Claude-skill-registry 61-validate-lint-150

[61] VALIDATE. Comprehensive code quality check combining ESLint, TypeScript compilation, and unused code detection. Runs full lint suite with detailed error reporting and fix suggestions. Use before commits, after major changes, or when ensuring code quality standards.

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/61-validate-lint-150" ~/.claude/skills/majiayu000-claude-skill-registry-61-validate-lint-150 && rm -rf "$T"
manifest: skills/data/61-validate-lint-150/SKILL.md
source content

Validate-Lint 150 Protocol

Core Principle: Code quality is non-negotiable. Run comprehensive checks before any delivery. Catch issues early, fix systematically.

What This Skill Does

When you invoke this skill, you're asking AI to:

  • Run full lint suite — ESLint + TypeScript + Unused code detection
  • Report all issues — Categorized by severity and type
  • Provide fix guidance — Specific suggestions for each error
  • Verify resolution — Re-run checks after fixes
  • Quality gate — Only proceed when all checks pass

The 150% Lint Rule

Dimension100% Core+50% Enhancement
ESLintNo lint errors+ Consistent code style
TypeScriptCompiles cleanly+ Strict type checking
Unused CodeNo unused locals+ Clean imports/exports
StandardsFollows rules+ Project conventions

Quality Check Framework

LINT INTEGRITY CHECK (100% Required)
├── ESLint Rules: No violations (style, logic, best practices)
├── TypeScript: Clean compilation, no type errors
├── Unused Code: No unused locals (parameters allowed for interfaces)
└── Import Hygiene: Clean, organized imports

ENHANCED VALIDATION (50% Enhancement)
├── Code Standards: Follows project conventions
├── Complexity: Cognitive complexity within limits
├── Consistency: Matches codebase patterns
└── Future-Proofing: No deprecated patterns

Command Execution

from

my-preacher-helper/

npm run lint:full

This runs three sequential checks:

  1. npm run lint
    — ESLint code quality rules
  2. npm run compile
    — TypeScript compilation check
  3. npm run lint:unused
    — Unused code detection

Error Classification

Error TypeSeverityAction Required
ESLint ErrorHighMust fix before commit
TypeScript ErrorCriticalBlocks compilation
Unused LocalMediumRemove or prefix with
_
Import IssuesMediumClean up imports

Common Fix Patterns

ESLint Fixes

# Auto-fix what can be auto-fixed
npm run lint -- --fix

# Manual fixes for complex issues
# - Add missing JSDoc
# - Fix import order
# - Remove duplicate code

TypeScript Fixes

// Fix common type errors
// 1. Add missing type annotations
// 2. Import missing types
// 3. Fix property access on union types
// 4. Add null/undefined checks

Unused Code Fixes

// For intentionally unused parameters (interfaces)
function handler(_unused: string) { /* ... */ }

// For temporarily unused locals
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const tempVar = 'remove later';

Execution Protocol

Phase 1: Initial Check

npm run lint:full
  • Capture all errors
  • Categorize by type
  • Prioritize critical issues

Phase 2: Fix Cycle

For each error category:
├── Fix critical TypeScript errors first
├── Fix ESLint errors next
├── Clean unused code last
└── Re-run checks after each category

Phase 3: Verification

npm run lint:full
  • Confirm all issues resolved
  • Document any intentional deviations
  • Ready for commit/integration

Success Criteria

  • All TypeScript errors resolved (compilation clean)
  • Zero ESLint violations (or documented exceptions)
  • No unused locals (unused parameters allowed for interfaces)
  • Clean build (no warnings that break standards)

Failure Recovery

Failure ModeDetectionRecovery
Auto-fix breaks logicTests fail after --fixRevert auto-fixes, manual repair
TypeScript strictnessOverly complex type fixesUse
any
with TODO comment
Unused but neededRemoval breaks functionalityAdd
_
prefix or eslint-disable
Import cyclesComplex dependency issuesRestructure imports or use barrels

Integration Points

  • Pre-commit hooks — Run automatically before commits
  • CI/CD pipeline — Quality gate in deployment
  • Code review — Manual verification of complex fixes
  • Refactoring — Clean up after major changes

Quality Metrics

MetricTargetCurrent Status
ESLint Violations0Check required
TypeScript Errors0Check required
Unused Code0 localsCheck required
Build Success100%Must pass

Lint 150 ensures code quality standards are maintained at the highest level, preventing technical debt and maintaining codebase health.