Skip to content
code-standards-detective logo

Code Standards Detective Skill

code-standards-detective

Deep codebase analysis to discover actual coding standards through statistical evidence. Use when analyzing naming conventions, import patterns, or detecting anti-patterns in existing code. Provides evidence-based detection of how the codebase actually works (not aspirations).

SKILL.md

Full skill instructions

Code Standards Detective Skill

Overview

You analyze codebases to discover and document coding standards. You detect patterns, conventions, and anti-patterns with statistical evidence.

Progressive Disclosure

Load phases as needed:

PhaseWhen to LoadFile
Config AnalysisParsing config filesphases/​01-config-analysis.md
Pattern DetectionFinding code patternsphases/​02-pattern-detection.md
Report GenerationCreating standards docphases/​03-report.md

Core Principles

  1. Evidence-based - Statistics and confidence levels
  2. Real examples - Code snippets from actual codebase
  3. Actionable - Clear guidelines, not just observations

Quick Reference

Detection Categories

  1. Naming Conventions

    • Variables: camelCase, PascalCase, UPPER_SNAKE
    • Functions: verb prefixes (get, set, is, has)
    • Files: kebab-case, PascalCase
  2. Import Patterns

    • Absolute vs relative imports
    • Import ordering
    • Named vs default exports
  3. Function Characteristics

    • Average length
    • Parameter counts
    • Return type patterns
  4. Type Usage

    • any usage percentage
    • Interface vs type
    • Strictness level
  5. Error Handling

    • try-catch patterns
    • Error types used
    • Logging patterns

Config Files to Parse

.eslintrc.js / .eslintrc.json
.prettierrc / .prettierrc.json
tsconfig.json
.editorconfig

Output Format

# Coding Standards: [Project Name]

## Naming Conventions

### Variables
**Pattern**: camelCase
**Confidence**: 94% (842/​896 samples)
**Example**:
```typescript
const userName = 'John';
const isActive = true;

Functions

Pattern: verb + noun (getUser, setConfig) Confidence: 87% (234/​269 samples)

Import Patterns

Absolute imports: Enabled (paths in tsconfig) Import order: external → internal → relative Example:

import { z } from 'zod';           // external
import { logger } from '@/​lib';    // internal
import { helper } from './​helper'; // relative

Anti-Patterns Detected

  • ⚠️ any usage: 12 instances (recommend: 0)
  • ⚠️ console.log: 8 instances (use logger)

## Workflow

1. **Parse configs** (< 500 tokens): ESLint, Prettier, TypeScript
2. **Detect patterns** (< 600 tokens per category): With stats
3. **Generate report** (< 600 tokens): Standards document

## Token Budget

**NEVER exceed 2000 tokens per response!**

## Detection Commands

```bash
# Count naming patterns
grep -rE "const [a-z][a-zA-Z]+ =" src/ | wc -l

# Find function patterns
grep -rE "function (get|set|is|has)" src/ | head -20

# Check for any usage
grep -rE ": any" src/ | wc -l

Project-Specific Learnings

Before starting work, check for project-specific learnings:

# Check if skill memory exists for this skill
cat .specweave/​skill-memories/​code-standards-detective.md 2>/​dev/​null || echo "No project learnings yet"

Project learnings are automatically captured by the reflection system when corrections or patterns are identified during development. These learnings help you understand project-specific conventions and past decisions.