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...
Analyze project structure and generate CLAUDE.md files interactively.
MANDATORY: All rules below must be followed exactly. Violations produce incorrect CLAUDE.md content.
@../shared/references/guidelines.md
If CLAUDE.md already exists, ask the user how to handle it:
Detect frameworks and build systems:
package.json - Node.js/JavaScriptpyproject.toml, setup.py - PythonCargo.toml - Rustgo.mod - GoMakefile - Make-based buildsDockerfile - Container buildsExtract build/test/lint commands from config files.
Look for framework boundaries that warrant separate CLAUDE.md files:
src/ with 10+ source fileslib/ directorypackages/* (monorepo packages)apps/* (monorepo applications)Analyze source files for conventions:
If network available, fetch from https://code.claude.com/docs/en/memory:
Use AskUserQuestion to confirm:
Read .claude/auto-memory/config.json to determine which files to generate based on memoryFiles:
memoryFiles value |
Files to generate |
|---|---|
absent or ["CLAUDE.md"] |
CLAUDE.md only (full content) |
["AGENTS.md"] |
AGENTS.md only (full content) |
["CLAUDE.md", "AGENTS.md"] |
AGENTS.md (full content) + CLAUDE.md (redirect) |
Generate full-content files using the EXACT template structure. Follow these steps precisely:
{{PLACEHOLDER}} with detected contentWhen both CLAUDE.md and AGENTS.md are configured, also generate redirect files:
CLAUDE.md using CLAUDE.redirect.md.template (static pointer, no markers)AGENTS.md: write a matching CLAUDE.md redirect alongside itCRITICAL: 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)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 |
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 |
Reference the template files for exact structure:
@templates/CLAUDE.root.md.template
@templates/CLAUDE.subtree.md.template
@templates/AGENTS.root.md.template
@templates/AGENTS.subtree.md.template
@templates/CLAUDE.redirect.md.template
Use AskUserQuestion for:
After generating files, report: