code-standards-detective
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:
| Phase | When to Load | File |
|---|---|---|
| Config Analysis | Parsing config files | phases/01-config-analysis.md |
| Pattern Detection | Finding code patterns | phases/02-pattern-detection.md |
| Report Generation | Creating standards doc | phases/03-report.md |
Core Principles
- Evidence-based - Statistics and confidence levels
- Real examples - Code snippets from actual codebase
- Actionable - Clear guidelines, not just observations
Quick Reference
Detection Categories
-
Naming Conventions
- Variables: camelCase, PascalCase, UPPER_SNAKE
- Functions: verb prefixes (get, set, is, has)
- Files: kebab-case, PascalCase
-
Import Patterns
- Absolute vs relative imports
- Import ordering
- Named vs default exports
-
Function Characteristics
- Average length
- Parameter counts
- Return type patterns
-
Type Usage
- any usage percentage
- Interface vs type
- Strictness level
-
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
- ⚠️
anyusage: 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
More from anton-abyzov/specweave
technical-writing
Technical writing expert for API documentation, README files, tutorials, changelog management, and developer documentation. Covers style guides, information architecture, versioning docs, OpenAPI/Swagger, and documentation-as-code. Activates for technical writing, API docs, README, changelog, tutorial writing, documentation, technical communication, style guide, OpenAPI, Swagger, developer docs.
45spec-driven-brainstorming
Spec-driven brainstorming and product discovery expert. Helps teams ideate features, break down epics, conduct story mapping sessions, prioritize using MoSCoW/RICE/Kano, and validate ideas with lean startup methods. Activates for brainstorming, product discovery, story mapping, feature ideation, prioritization, MoSCoW, RICE, Kano model, lean startup, MVP definition, product backlog, feature breakdown.
43kafka-architecture
Apache Kafka architecture expert for cluster design, capacity planning, and high availability. Use when designing Kafka clusters, choosing partition strategies, or sizing brokers for production workloads.
34docusaurus
Docusaurus 3.x documentation framework - MDX authoring, theming, versioning, i18n. Use for documentation sites or spec-weave.com.
29frontend
Expert frontend developer for React, Vue, Angular, and modern JavaScript/TypeScript. Use when creating components, implementing hooks, handling state management, or building responsive web interfaces. Covers React 18+ features, custom hooks, form handling, and accessibility best practices.
29reflect
Self-improving AI memory system that persists learnings across sessions in CLAUDE.md. Use when capturing corrections, remembering user preferences, or extracting patterns from successful implementations. Enables continual learning without starting from zero each conversation.
27