Claude-skill-registry ln-622-build-auditor
Build health audit worker (L3). Checks compiler/linter errors, deprecation warnings, type errors, failed tests, build configuration issues. Returns findings with severity (Critical/High/Medium/Low), location, effort, and recommendations.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/levn-ln-622-build-auditor" ~/.claude/skills/majiayu000-claude-skill-registry-ln-622-build-auditor && rm -rf "$T"
skills/data/levn-ln-622-build-auditor/SKILL.mdBuild Health Auditor (L3 Worker)
Specialized worker auditing build health and code quality tooling.
Purpose & Scope
- Worker in ln-620 coordinator pipeline - invoked by ln-620-codebase-auditor
- Audit codebase for build health issues (Category 2: Critical Priority)
- Check compiler/linter errors, deprecation warnings, type errors, failed tests, build config
- Return structured findings to coordinator with severity, location, effort, recommendations
- Calculate compliance score (X/10) for Build Health category
Inputs (from Coordinator)
Receives
contextStore as JSON string:
{ "tech_stack": { "language": "TypeScript", "build_tool": "Webpack", "test_framework": "Jest", ... }, "best_practices": {...}, "principles": {...}, "codebase_root": "/path/to/project" }
Workflow
- Parse Context: Extract tech stack, build tools, test framework from contextStore
- Run Build Checks: Execute compiler, linter, type checker, tests (see Audit Rules below)
- Collect Findings: Record each violation with severity, location, effort, recommendation
- Calculate Score: Count violations by severity, calculate compliance score (X/10)
- Return Results: Return JSON with category, score, findings to coordinator
Audit Rules (Priority: CRITICAL)
1. Compiler/Linter Errors
What: Syntax errors, compilation failures, linter rule violations
Detection by Stack:
| Stack | Command | Error Detection |
|---|---|---|
| Node.js/TypeScript | or | Check exit code, parse stderr for errors |
| Python | | Check exit code, parse stderr |
| Go | | Check exit code, parse stderr |
| Rust | | Check exit code, parse stderr |
| Java | | Check exit code, parse build log |
Linters:
- ESLint (JS/TS):
→ parse JSON for errorsnpx eslint . --format json - Pylint (Python):
pylint **/*.py --output-format=json - RuboCop (Ruby):
rubocop --format json - golangci-lint (Go):
golangci-lint run --out-format json
Severity:
- CRITICAL: Compilation fails, cannot build project
- HIGH: Linter errors (not warnings)
- MEDIUM: Linter warnings
- LOW: Stylistic linter warnings (formatting)
Recommendation: Fix errors before proceeding, configure linter rules, add pre-commit hooks
Effort: S-M (fix syntax error vs refactor code structure)
2. Deprecation Warnings
What: Usage of deprecated APIs, libraries, or language features
Detection:
- Compiler warnings:
,DeprecationWarning
in stack trace@deprecated - Dependency warnings:
,npm outdatedpip list --outdated - Static analysis: Grep for
annotations@deprecated
Severity:
- CRITICAL: Deprecated API removed in next major version (imminent breakage)
- HIGH: Deprecated with migration path available
- MEDIUM: Deprecated but still supported for 1+ year
- LOW: Soft deprecation (no removal timeline)
Recommendation: Migrate to recommended API, update dependencies, refactor code
Effort: M-L (depends on API complexity and usage frequency)
3. Type Errors
What: Type mismatches, missing type annotations, type checker failures
Detection by Stack:
| Stack | Tool | Command |
|---|---|---|
| TypeScript | tsc | |
| Python | mypy | |
| Python | pyright | |
| Go | go vet | |
| Rust | cargo | (type checks only) |
Severity:
- CRITICAL: Type error prevents compilation (
fails,tsc
fails)cargo check - HIGH: Runtime type error likely (implicit
, missing type guards)any - MEDIUM: Missing type annotations (code works but untyped)
- LOW: Overly permissive types (
,any
without narrowing)unknown
Recommendation: Add type annotations, enable strict mode, use type guards
Effort: S-M (add types to single file vs refactor entire module)
4. Failed or Skipped Tests
What: Test suite failures, skipped tests, missing test coverage
Detection by Stack:
| Stack | Framework | Command |
|---|---|---|
| Node.js | Jest | |
| Node.js | Mocha | |
| Python | Pytest | |
| Go | go test | |
| Rust | cargo test | |
Severity:
- CRITICAL: Test failures in CI/production code
- HIGH: Skipped tests for critical features (payment, auth)
- MEDIUM: Skipped tests for non-critical features
- LOW: Skipped tests with "TODO" comment (acknowledged debt)
Recommendation: Fix failing tests, remove skip markers, add missing tests
Effort: S-M (update test assertion vs redesign test strategy)
5. Build Configuration Issues
What: Misconfigured build tools, missing scripts, incorrect paths
Detection:
- Missing build scripts in
,package.json
,Makefilebuild.gradle - Incorrect paths in
,tsconfig.json
,webpack.config.jsCargo.toml - Missing environment-specific configs (dev, staging, prod)
- Unused or conflicting build dependencies
Severity:
- CRITICAL: Build fails due to misconfiguration
- HIGH: Build succeeds but outputs incorrect artifacts (wrong target, missing assets)
- MEDIUM: Suboptimal config (no minification, missing source maps)
- LOW: Unused config options
Recommendation: Fix config paths, add missing build scripts, optimize build settings
Effort: S-M (update config file vs redesign build pipeline)
Scoring Algorithm
violations = {critical: N, high: M, medium: K, low: L} penalty = (critical * 2.0) + (high * 1.0) + (medium * 0.5) + (low * 0.2) score = max(0, 10 - penalty)
Examples:
- 0 violations → 10/10
- 1 critical (build fails) → 8/10
- 2 critical, 5 high → 3/10
- 10 high, 20 medium → 0/10
Output Format
Return JSON to coordinator:
{ "category": "Build Health", "score": 7, "total_issues": 5, "critical": 1, "high": 2, "medium": 2, "low": 0, "findings": [ { "severity": "CRITICAL", "location": "src/utils/helper.ts:45", "issue": "TypeScript error: Type 'string' is not assignable to type 'number'", "principle": "Type Safety", "recommendation": "Fix type mismatch: change 'id: string' to 'id: number' or update usage", "effort": "S" }, { "severity": "HIGH", "location": "tests/api.test.ts:112", "issue": "Test failed: Expected 200, received 404", "principle": "Test Quality", "recommendation": "Update API endpoint or fix test assertion", "effort": "M" } ] }
Critical Rules
- Do not auto-fix: Report violations only; coordinator creates task for user to fix
- Tech stack aware: Use contextStore to run appropriate build commands (npm vs cargo vs gradle)
- Exit code checking: Always check exit code (0 = success, non-zero = failure)
- Timeout handling: Set timeout for build/test commands (default 5 minutes)
- Environment aware: Run in CI mode if detected (no interactive prompts)
Definition of Done
- contextStore parsed successfully
- All 5 build checks completed (compiler, linter, type checker, tests, config)
- Findings collected with severity, location, effort, recommendation
- Score calculated using penalty algorithm
- JSON result returned to coordinator
Reference Files
- Build audit rules: references/build_rules.md
Version: 3.0.0 Last Updated: 2025-12-23