eval-code-quality

Specialized code quality evaluator for the Evaluate-Loop. Use this for evaluating code implementation tracks where the deliverable is functional code — features, API routes, state management, utilities. Checks build integrity, type safety, code patterns, error handling, dead code, imports, test coverage, and naming conventions. Dispatched by loop-execution-evaluator when track type is 'feature', 'refactor', or 'infrastructure'. Triggered by: 'evaluate code', 'code review', 'quality check', 'build check'.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "eval-code-quality" with this command: npx skills add ibrahim-3d/conductor-orchestrator-superpowers/ibrahim-3d-conductor-orchestrator-superpowers-eval-code-quality

Code Quality Evaluator Agent

Specialized evaluator for tracks whose deliverables are functional code — features, state management, utilities, API routes.

When This Evaluator Is Used

Dispatched by loop-execution-evaluator when the track is one of:

  • Feature implementation (e.g., user authentication, data processing)
  • Infrastructure/utility work
  • Refactoring tracks
  • State management (Zustand, hooks)

Inputs Required

  1. Track's spec.md and plan.md
  2. Changed files (from plan.md task summaries or git diff)
  3. tsconfig.json — TypeScript config
  4. package.json — dependencies and scripts
  5. Existing test files (if any)

Evaluation Passes (6 checks)

Pass 1: Build Integrity

npm run build    # Must exit 0
npx tsc --noEmit # Must exit 0 (no type errors)
### Build: PASS ✅ / FAIL ❌
- Build status: [success / X errors]
- Type check: [clean / X type errors]
- Errors: [list if any]

Pass 2: Type Safety

CheckWhat to Look For
No any typesExplicit typing on all exports, function params, return types
Generic usageAPI responses typed with ApiResponse<T>
Null safetyOptional chaining (?.) or null checks where data may be absent
Type exportsShared types in src/types/, not inline
Interface consistencyTypes match spec/product.md schema
### Type Safety: PASS ✅ / FAIL ❌
- `any` usage: [count] — [list files:lines]
- Missing types: [list untyped exports]
- Null safety issues: [list]

Pass 3: Code Patterns & State Management

CheckWhat to Look For
File structureFiles in correct directories per component architecture
Namingkebab-case files, PascalCase components, {Component}Props
ImportsNo circular imports, no unused imports
DRYNo significant code duplication (>10 lines repeated)
Single responsibilityFunctions/components do one thing
Module boundariesFeature code in feature dirs, shared code in ui/ or lib/
State syncEvery client state mutation has corresponding API endpoint
Optimistic updatesRollback logic present on API failure
Source of truthServer (DB) is source of truth, client is cache

State Sync Anti-Patterns to Flag:

// ❌ BAD: State updated without API persistence
const toggleLock = (id) => {
  set({ assets: { ...assets, [id]: { locked: true } } });
  // No API call!
}

// ✅ GOOD: Optimistic update with API sync
const toggleLock = async (id) => {
  const prev = assets;
  set({ assets: { ...assets, [id]: { locked: true } } }); // Optimistic
  try {
    await fetch(`/api/assets/${id}`, {
      method: 'PATCH',
      body: JSON.stringify({ locked: true })
    });
  } catch (err) {
    set({ assets: prev }); // Rollback
    throw err;
  }
}
### Code Patterns & State Sync: PASS ✅ / FAIL ❌
- Naming violations: [list]
- Unused imports: [list files]
- Duplication found: [describe]
- **State mutations without API: [count] — [list]**
- **Missing rollback logic: [count] — [list]**
- **API endpoints without client updates: [count] — [list]**

Pass 4: Error Handling

CheckWhat to Look For
API callstry/catch or error handling on all async operations
User feedbackToast/inline error shown to user on failure
Null dataEmpty states handled (no data, loading, error)
Edge casesInvalid input, network failure, timeout
No silent failuresErrors not swallowed without user notification
### Error Handling: PASS ✅ / FAIL ❌
- Unhandled async: [list functions]
- Missing user feedback: [list scenarios]
- Silent failures: [list]

Pass 5: Dead Code & Cleanup

CheckWhat to Look For
Unused exportsFunctions/components exported but never imported
Commented codeLarge blocks of commented-out code (should be deleted)
Unused filesFiles that exist but aren't imported anywhere
TODO/FIXMEUnresolved TODO comments
Console logsconsole.log left in production code
### Dead Code: PASS ✅ / FAIL ❌
- Unused exports: [list]
- Console logs: [list files:lines]
- TODOs: [list]

Pass 6: Test Coverage (when applicable)

CheckTarget
Overall coverage70%
Business logic90%
API routes80%
Utility functions80%
### Tests: PASS ✅ / FAIL ❌ / ⚠️ NOT CONFIGURED
- Coverage: [X]% overall
- Business logic: [X]%
- Untested critical paths: [list]

Verdict Template

## Code Quality Evaluation Report

**Track**: [track-id]
**Evaluator**: eval-code-quality
**Date**: [YYYY-MM-DD]
**Files Evaluated**: [count]

### Results
| Pass | Status | Issues |
|------|--------|--------|
| 1. Build | PASS/FAIL | [details] |
| 2. Type Safety | PASS/FAIL | [count] issues |
| 3. Code Patterns | PASS/FAIL | [count] issues |
| 4. Error Handling | PASS/FAIL | [count] issues |
| 5. Dead Code | PASS/FAIL | [count] issues |
| 6. Tests | PASS/FAIL/N/A | [coverage] |

### Verdict: PASS ✅ / FAIL ❌
[If FAIL, list specific fix actions for loop-fixer]

Handoff

  • PASS → Return to loop-execution-evaluator → Conductor marks complete
  • FAIL → Return to loop-execution-evaluator → Conductor dispatches loop-fixer

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

test-driven-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

subagent-driven-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

context-driven-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

requesting-code-review

No summary provided by upstream source.

Repository SourceNeeds Review