analyze
Deep-dive codebase analysis that explains how things actually work — business rules, architecture patterns, auth flows, data models, integrations, and…
Identify existing codebase patterns (naming conventions, architectural patterns, testing patterns) to maintain consistency. Use when generating code, reviewing changes, or understanding established practices.
$ npx -y skills add rsmdt/the-startup --skill pattern-detection --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pattern-detectionContext preview
The summary Claude sees to decide when to auto-load this skill.
Identify existing codebase patterns (naming conventions, architectural patterns, testing patterns) to maintain consistency. Use when generating code, reviewing changes, or understanding established practices.
name: pattern-detection description: Identify existing codebase patterns (naming conventions, architectural patterns, testing patterns) to maintain consistency. Use when generating code, reviewing changes, or understanding established practices.
Act as a codebase pattern analyst that discovers, verifies, and documents recurring conventions across naming, architecture, testing, and code organization to ensure new code maintains consistency with established practices.
**Analysis Target**: $ARGUMENTS
PatternCategory: NAMING | ARCHITECTURE | TESTING | ORGANIZATION | ERROR_HANDLING | CONFIGURATION
Confidence: HIGH | MEDIUM | LOW
Pattern { category: PatternCategory name: string // e.g., "PascalCase component files" description: string // what the pattern is evidence: string[] // file:line examples that demonstrate it confidence: Confidence isDocumented: boolean // found in style guide or CONTRIBUTING.md }
PatternReport { patterns: Pattern[] conflicts: PatternConflict[] // where patterns are inconsistent recommendations: string[] // for new code }
PatternConflict { category: PatternCategory description: string exampleA: string // file:line of pattern A exampleB: string // file:line of pattern B recommendation: string // which to follow and why }
State { target = $ARGUMENTS samples = [] patterns = [] conflicts = [] }
**Always:**
**Never:**
Determine scope:
match (target) { specific file => survey sibling files in same directory directory/module => survey representative files across subdirectories entire codebase => sample from each major directory/module }
For each scope, collect representative samples: 1. Read 3-5 files of each relevant type (source, test, config). 2. Prioritize files in the same module/feature as the target. 3. Include style guides, CONTRIBUTING.md, linter configs if present. 4. Note file ages — newer files may represent intended direction.
Read reference/pattern-catalogs.md for detection guidance.
Scan samples across each PatternCategory:
match (category) { NAMING => { File naming convention (kebab, PascalCase, snake_case) Function/method verb prefixes (get/fetch/retrieve) Variable naming (pluralization, private indicators) Boolean prefixes (is/has/can/should) } ARCHITECTURE => { Directory structure layering (MVC, Clean, Hexagonal, feature-based) Import direction and dependency flow State management approach Module boundary conventions } TESTING => { Test file placement (co-located, mirror tree, feature-based) Test naming style (BDD, descriptive, function-focused) Setup/teardown conventions Assertion and mock patterns } ORGANIZATION => { Import ordering and grouping Export style (default vs named) Comment and documentation patterns Code formatting conventions } }
For each detected pattern, record: name, description, 2+ evidence locations, confidence level.
For each detected pattern: 1. Check if documented in style guide or CONTRIBUTING.md. 2. Check linter/formatter configs that enforce it. 3. Count occurrences — high consistency = likely intentional. 4. Check commit history — was it introduced deliberately?
Assign confidence:
match (evidence) { documented + enforced by tooling => HIGH consistent across 80%+ of files => HIGH consistent across 50-80% of files => MEDIUM found in < 50% of files => LOW — may be accidental }
Compare patterns within each category for inconsistencies (e.g., some files use camelCase, others use snake_case).
For each conflict: 1. Identify both variations with evidence. 2. Check date/author patterns — newer code may represent intended direction. 3. Check if one variation is in the target area being modified. 4. Recommend which pattern to follow with rationale.
Produce PatternReport: 1. Confirmed patterns (HIGH confidence first). 2. Probable patterns (MEDIUM confidence). 3. Conflicts detected with resolution recommendations. 4. Recommendations for new code in the target area.
The Agentic Startup - A collection of Claude Code commands, skills, and agents.
Repo: rsmdt/the-startup
Deep-dive codebase analysis that explains how things actually work — business rules, architecture patterns, auth flows, data models, integrations, and…
You MUST use this before any creative work — creating features, building components, adding functionality, or modifying behavior. Explores user intent,…
Create or update a project constitution with governance rules. Uses discovery-based approach to generate project-specific rules.
Systematically diagnose and resolve bugs through conversational investigation and root cause analysis
Lightweight implementation orchestrator for low-complexity work — fixes, refactors, doc changes, or single-AC features that do not warrant a phase plan or…