codebase-analyzer

severity1's avatarfrom severity1

This skill should be used when the user asks to "initialize auto-memory", "create CLAUDE.md", "set up project memory", or runs the /auto-memory:init command. Analyzes codebase structure and generates CLAUDE.md files using the exact template format with AUTO-MANAGED markers.

⭐62stars🔀2forks📁View on GitHub🕐Updated Dec 13, 2025

When & Why to Use This Skill

This Claude skill automates the initialization and management of project memory by analyzing codebase structures and generating standardized CLAUDE.md files. It utilizes intelligent detection to capture frameworks, build commands, and coding patterns, ensuring AI agents have precise, auto-managed context to improve coding accuracy and consistency across any repository.

Use Cases

  • Project Onboarding: Quickly initialize a standardized CLAUDE.md file for new or existing repositories to provide AI agents with immediate context on build systems, test commands, and architectural rules.
  • Monorepo Contextualization: Automatically detect framework boundaries in complex projects and generate subtree-specific memory files for packages or apps, ensuring the AI maintains relevant context across different modules.
  • Coding Standard Enforcement: Extract and document project-specific naming conventions, import styles, and architectural patterns to ensure AI-generated code remains consistent with the existing codebase.
  • Automated Documentation Maintenance: Leverage AUTO-MANAGED markers to keep technical summaries, dependency lists, and build instructions up-to-date as the project evolves, reducing manual documentation overhead.
namecodebase-analyzer
descriptionThis skill should be used when the user asks to "initialize auto-memory", "create CLAUDE.md", "set up project memory", or runs the /auto-memory:init command. Analyzes codebase structure and generates CLAUDE.md files using the exact template format with AUTO-MANAGED markers.

Codebase Analyzer

Analyze project structure and generate CLAUDE.md files interactively.

Guidelines

MANDATORY: All rules below must be followed exactly. Violations produce incorrect CLAUDE.md content.

@../shared/references/guidelines.md

Algorithm

1. Check Existing CLAUDE.md

If CLAUDE.md already exists, ask the user how to handle it:

  • Migrate: Convert to auto-managed format (add markers)
  • Backup: Create CLAUDE.md.backup and generate fresh
  • Merge: Keep manual sections, add auto-managed sections
  • Cancel: Abort initialization

2. Scan Directory Structure

Detect frameworks and build systems:

  • package.json - Node.js/JavaScript
  • pyproject.toml, setup.py - Python
  • Cargo.toml - Rust
  • go.mod - Go
  • Makefile - Make-based builds
  • Dockerfile - Container builds

Extract build/test/lint commands from config files.

3. Identify Subtree Candidates

Look for framework boundaries that warrant separate CLAUDE.md files:

  • src/ with 10+ source files
  • lib/ directory
  • packages/* (monorepo packages)
  • apps/* (monorepo applications)

4. Detect Code Patterns

Analyze source files for conventions:

  • Naming: PascalCase, camelCase, snake_case usage
  • Imports: ES6 modules, CommonJS, ordering patterns
  • Architecture: Feature-based, layered, MVC patterns
  • Style: Indentation, quotes, semicolons

5. Fetch Memory Guidelines (Optional)

If network available, fetch from https://code.claude.com/docs/en/memory:

  • Use WebFetch tool
  • Extract relevant sections for context
  • Reference official guidelines above as primary source

6. Present Findings

Use AskUserQuestion to confirm:

  • Detected framework and commands
  • Suggested subtree locations
  • Detected patterns

7. Generate CLAUDE.md

Generate files using the EXACT template structure. Follow these steps precisely:

  1. Copy template skeleton - Use template file as the base structure
  2. Use exact marker format - See Marker Syntax section below
  3. Replace placeholders - Substitute {{PLACEHOLDER}} with detected content
  4. Include all required sections - Even if content is minimal, include the section
  5. Add MANUAL section at the end for user notes
  6. Size limits: Root 150-200 lines, Subtrees 50-75 lines

Marker Syntax

CRITICAL: Use the EXACT marker format below. Do NOT use variations.

<!-- AUTO-MANAGED: section-name -->
## Section Heading

Content goes here

<!-- END AUTO-MANAGED -->

For user-editable content:

<!-- MANUAL -->
## Custom Notes

Add project-specific notes here. This section is never auto-modified.

<!-- END MANUAL -->

Common mistakes to avoid:

  • <!-- BEGIN AUTO-MANAGED: name --> - WRONG (no BEGIN prefix)
  • <!-- END AUTO-MANAGED: name --> - WRONG (no name in closing tag)
  • <!-- AUTO-MANAGED section-name --> - WRONG (missing colon)

Section Definitions

Root CLAUDE.md Sections

Generate these sections in order:

Section Name Heading Required Placeholder Content
project-description ## Overview Yes {{DESCRIPTION}} Project name, tagline, key features
build-commands ## Build & Development Commands Yes {{BUILD_COMMANDS}} Build, test, lint, run commands
architecture ## Architecture Yes {{ARCHITECTURE}} Directory tree, key files, data flow
conventions ## Code Conventions Yes {{CONVENTIONS}} Naming, imports, formatting rules
patterns ## Detected Patterns Yes {{PATTERNS}} AI-detected recurring code patterns
git-insights ## Git Insights No {{GIT_INSIGHTS}} Key commits, design decisions
best-practices ## Best Practices No {{BEST_PRACTICES}} From official Claude Code docs

Subtree CLAUDE.md Sections

Generate these sections in order:

Section Name Heading Required Placeholder Content
module-description ## Purpose Yes {{DESCRIPTION}} Module purpose and responsibility
architecture ## Module Architecture Yes {{ARCHITECTURE}} Module structure, key files
conventions ## Module-Specific Conventions Yes {{CONVENTIONS}} Module-specific rules
dependencies ## Key Dependencies Yes {{DEPENDENCIES}} Module dependencies

Templates

Reference the template files for exact structure:

Root Template

@templates/CLAUDE.root.md.template

Subtree Template

@templates/CLAUDE.subtree.md.template

User Interactions

Use AskUserQuestion for:

  1. Existing CLAUDE.md handling (migrate/backup/merge/cancel)
  2. Subtree location confirmation
  3. Final approval before writing files

Output

After generating files, report:

  • Files created/modified
  • Sections populated
  • Any warnings or suggestions