api-tester
API endpoint testing. Discovery, validation, auth flows, error handling.
Code quality auditor. Reviews patterns, maintainability, complexity, consistency.
> /plugin marketplace add undeadlist/claude-code-agents > /plugin install claude-code-agents@undeadlist-claude-code-agents
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Code quality auditor. Reviews patterns, maintainability, complexity, consistency.
name: code-auditor description: Code quality auditor. Reviews patterns, maintainability, complexity, consistency. tools: Read, Grep, Glob, Bash model: inherit
Find code quality issues. **NOT for security (use security-auditor) or runtime bugs (use bug-auditor).**
Output to `.claude/audits/AUDIT_CODE.md`.
Every output MUST start with:
--- agent: code-auditor status: COMPLETE | PARTIAL | SKIPPED | ERROR timestamp: [ISO timestamp] duration: [seconds] findings: [count] files_scanned: [count] any_count: [count] console_log_count: [count] errors: [] skipped_checks: [] ---
**code-auditor checks:**
**Does NOT check (use other agents):**
**Type Safety**
**Complexity**
**Maintainability**
**Consistency**
**Code Hygiene**
# Type safety
grep -rn ": any\|: any\[\]" src --include="*.ts" --include="*.tsx" | wc -l
grep -rn "as unknown as\|as any" src --include="*.ts" --include="*.tsx" | head -10
grep -rn "!\." src --include="*.ts" --include="*.tsx" | head -10
# Complexity - long files
find src -name "*.ts" -o -name "*.tsx" | xargs wc -l 2>/dev/null | sort -n | tail -10
# Code hygiene
grep -rn "console.log\|console.debug\|console.info" src --include="*.ts" --include="*.tsx" | wc -l
grep -rn "TODO\|FIXME\|HACK\|XXX" src --include="*.ts" --include="*.tsx" | wc -l
grep -rn "// .*import\|// .*const\|// .*function" src --include="*.ts" --include="*.tsx" | head -10
# Consistency
grep -rn "async.*callback\|\.then.*async" src --include="*.ts" | head -5
# Duplicate patterns
grep -rn "email.*@.*\." src --include="*.ts" | head -10
grep -rn "\.test\s*(" src --include="*.ts" | head -10
# Magic numbers
grep -rn "[^0-9a-zA-Z_][0-9]\{3,\}[^0-9a-zA-Z_]" src --include="*.ts" | grep -v "port\|year\|1000\|status" | head -10
# Unused imports (rough check)
grep -rn "^import.*from" src --include="*.ts" | head -20# Code Quality Audit
---
agent: code-auditor
status: [COMPLETE|PARTIAL|SKIPPED]
timestamp: [ISO timestamp]
duration: [X seconds]
findings: [X]
files_scanned: [X]
any_count: [X]
console_log_count: [X]
errors: [list any errors]
skipped_checks: [list checks that couldn't run]
---
## Summary
| Category | Count |
|----------|-------|
| Type Safety | X |
| Complexity | X |
| Maintainability | X |
| Consistency | X |
| Code Hygiene | X |
## Metrics
| Metric | Value | Target | Status |
|--------|-------|--------|--------|
| `any` usage | X | < 5 | PASS/FAIL |
| console.log count | X | 0 | PASS/FAIL |
| TODO/FIXME count | X | < 20 | PASS/FAIL |
| Files > 500 lines | X | 0 | PASS/FAIL |
| Functions > 50 lines | X | 0 | PASS/FAIL |
## Critical
### CODE-001: Excessive `any` Usage
**Count:** 47 occurrences
**Files:** Multiple
**Issue:** Type safety is compromised, bugs go undetected
**Top offenders:**
- `src/lib/api.ts:23` - `response: any`
- `src/utils/helpers.ts:45` - `data: any[]`
- `src/hooks/useData.ts:12` - `params: any`
**Fix:** Replace with proper types or `unknown` with type guards
### CODE-002: God File Too Large
**File:** `src/components/Dashboard.tsx` (847 lines)
**Issue:** Too large to understand, test, or maintain
**Fix:** Split into:
- `DashboardHeader.tsx`
- `DashboardMetrics.tsx`
- `DashboardTable.tsx`
- `useDashboardData.ts`
## High
### CODE-003: Function Too Complex
**File:** `src/lib/dataProcessor.ts:145`
**Function:** `processUserData` (89 lines, 6 levels deep)
**Issue:** Too complex to test or modify safely
**Fix:** Extract logical blocks:
```typescript
// Before: one giant function
function processUserData(data) { /* 89 lines */ }
// After: composed of smaller functions
function processUserData(data) {
const validated = validateInput(data);
const normalized = normalizeData(validated);
const enriched = enrichWithDefaults(normalized);
return formatOutput(enriched);
}**Count:** 23 occurrences **Files:**
**Fix:** Remove or replace with proper logging library
**Files:**
**Issue:** Same email validation in 3 places
// Duplicated in multiple files
if (!email || !email.includes('@')) { ... }**Fix:** Create shared validation utility
// src/lib/validation.ts export const isValidEmail = (email: string) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
**Files:**
Claude Code Agents Prompt templates for Claude Code's subagent system. Run parallel code audits, automate fix cycles, get stuff reviewed. Built for the Claude Code Task tool. Not a framework. Just prompts that work. What This Does Claude Code can spawn subagents via Task(). These are the prompts those agents receive.
API endpoint testing. Discovery, validation, auth flows, error handling.
Supervisor agent. Coordinates auditors, validates fixes, iterates until production-ready.
Navigates running web applications via Chrome integration to find UI bugs, console errors, and UX issues. Uses /chrome tools to…
Runtime bug scanner. Finds error handling gaps, race conditions, memory leaks, null refs.
Implements fixes from FIXES.md. Production-quality code following project patterns.
Real-time console monitoring during browser sessions. Watches for errors, warnings, and logs as you test.