audit
Audit code for security, performance, patterns, accessibility, dead code, and deps
Audit
Systematic code audit across multiple dimensions. Produces an actionable, severity-ranked report.
Steps
1. Determine scope
Parse $ARGUMENTS: security, performance, patterns, a11y, dead-code, deps, all (default). Optional file/directory path to narrow scope.
2. Load context
.ccs/architecture.md→ system overview.ccs/file-index.md→ prioritize S/A-rank files first.ccs/conventions.md→ expected patterns
3. Security audit
Grep for: SQL injection (query(.*$), command injection (exec(, spawn(, eval(), XSS (innerHTML, dangerouslySetInnerHTML), hardcoded secrets (password\s*=\s*["'], api_key), path traversal, CORS wildcards, unvalidated input. Confirm each finding by reading the file.
Production-confirmed patterns (always flag):
innerHTML +=→ DOM re-parse, breaks observers/listeners. UseinsertAdjacentHTML.fetch(without.catch(or surroundingtry/catch→ silent network failures.navigator.clipboardwithout.catch(→ silent clipboard failures.- DB queries outside
try/catch→ crashes serverless functions. - Hardcoded email/role checks → use DB flags.
- Tokens/secrets in committed files → must be in
.gitignore. - Division without zero-guard →
Infinitypropagation. const/letused before declaration → runtimeReferenceError.
4. Performance audit
Grep for: N+1 queries (DB calls in loops), blocking I/O (readFileSync in handlers), memory leaks (listeners without cleanup), large bundle imports (import _ from 'lodash'), missing memoization, unoptimized queries (SELECT *).
5. Pattern audit
Check for: mixed naming conventions, inconsistent error handling, mixed import styles, mixed async patterns, code duplication (similar 10+ line blocks).
6. Accessibility audit (UI codebases only)
Grep for: <img without alt, buttons without accessible text, onClick without onKeyDown, missing form labels, missing role attributes.
7. Dead code detection
For each exported symbol in file-index → Grep for usage. If never imported → flag as potentially dead. Check for unreachable code, unused variables/imports, commented-out blocks.
8. Dependency audit
Read package manager files. Check for outdated versions, known vulnerabilities (npm audit / pip-audit), duplicates, missing peer deps, unused deps. WebSearch for deprecation notices.
9. Generate report
Output severity-ranked findings (Critical/High/Medium/Low/Info) with file, line, category, description, and suggested fix. Provide prioritized action items.
10. Log to .ccs/task.md
Append using template at .claude/skills/_ccs/templates/task-template.md: findings count by severity, top action items.
Rules
- S/A-rank files first — they have the highest blast radius
- Confirm each finding by reading the file (reduce false positives)
- For large codebases, scope to changed files or specific directories
Refs
- File index:
.ccs/file-index.md - Conventions:
.ccs/conventions.md - Task template:
.claude/skills/_ccs/templates/task-template.md - Strategy:
.claude/skills/_ccs/references/context-strategies.md
10x-Code v2.0.0