Context Manager
Manage the Claude Code memory hierarchy and audit the full markdown landscape of a project. Produces well-organised memory files, detects documentation overlap, and reports the total context footprint.
Four Context Layers
| Layer |
Location |
Purpose |
What this skill does |
| Memory |
./CLAUDE.md, subdirs, .claude/rules/*.md |
Project context, commands, architecture, rules |
Audit, score, maintain |
| Project docs |
ARCHITECTURE.md, DATABASE_SCHEMA.md, API_ENDPOINTS.md, docs/**/*.md |
Technical documentation |
Check existence per project type, flag staleness, detect CLAUDE.md overlap |
| Session |
SESSION.md, PROJECT_BRIEF.md |
Temporary progress tracking |
Report presence + size (managed by dev-session) |
| Public |
README.md, CONTRIBUTING.md, other root .md |
Public-facing docs |
Detect CLAUDE.md duplication |
Auto-memory (~/.claude/projects/*/memory/MEMORY.md) is also scanned for awareness but managed by Claude automatically.
Operating Modes
Mode 1: Session Capture
When: End of session, "capture learnings", "update CLAUDE.md with what we learned"
- Review the conversation for discoveries worth preserving:
- Commands that worked (or didn't)
- Gotchas and workarounds found
- Architecture decisions made
- Configuration quirks discovered
- Patterns that would help future sessions
- Categorise each discovery using the placement decision tree below
- Draft all changes as diffs in a single batch
- Present the batch — apply after a single yes/no confirmation
Keep it concise: one line per concept. No verbose explanations, no generic advice.
Mode 2: Full Audit
When: "audit context", "audit memory", "check project docs", periodic maintenance, working in a neglected project
- Run the audit script:
python3 skills/context-manager/scripts/audit_memory.py [repo-path]
- Review the output:
- Memory layer: CLAUDE.md sizes, quality scores, rules file sizes
- Project docs: existence, staleness, overlap with CLAUDE.md
- Session/public: presence and size
- Markdown footprint: total KB by layer
- Overlap warnings: sections duplicated between files
- Generate changes autonomously — create, update, or flag files as needed
- Present all changes as a single batch for approval
- Apply approved changes
For large repos, delegate to a sub-agent:
Task(subagent_type: "general-purpose",
prompt: "Run python3 skills/context-manager/scripts/audit_memory.py /path/to/repo
and summarise the findings.")
Mode 3: Restructure
When: "restructure memory", root CLAUDE.md over 200 lines, first-time memory setup
- Run full audit (Mode 2) first
- Split oversized files:
- Extract topic sections from root CLAUDE.md into
.claude/rules/<topic>.md
- Extract directory-specific content into sub-directory CLAUDE.md files
- Move detailed technical content from CLAUDE.md to
docs/ or ARCHITECTURE.md if it's reference material, not operational context
- Resolve overlaps: if CLAUDE.md duplicates ARCHITECTURE.md or docs/, remove the duplication
- Create missing documentation files based on project type
- Present the restructure plan, apply after approval
Placement Decision Tree
Would this still apply if I switched to a completely different project?
├── YES → ~/.claude/rules/<topic>.md
│ (correction rules, API patterns, coding standards)
└── NO → Is it specific to a subdirectory?
├── YES → <dir>/CLAUDE.md
│ (integrations, directory-specific gotchas)
└── NO → Is it reference documentation or operational context?
├── Reference → ARCHITECTURE.md or docs/
│ (system design, schemas, detailed flows)
└── Operational → ./CLAUDE.md (project root)
(identity, stack, commands, critical rules)
Size Targets
| File Type |
Target |
Maximum |
| Root CLAUDE.md |
50-150 lines |
200 |
| Sub-directory CLAUDE.md |
15-50 lines |
80 |
| Rules topic file |
20-80 lines |
120 |
What Belongs Where
Root CLAUDE.md
- Project name, purpose, owner
- Tech stack summary
- Build/deploy/test commands (copy-paste ready)
- Directory structure overview
- Critical "never do X" rules
- Key integrations and secrets locations
Sub-directory CLAUDE.md
- External service integrations for that component
- Non-obvious configuration specific to this area
- Directory-specific commands
- Gotchas when working in this directory
Don't create when: parent covers it, directory is self-explanatory, content would be under 10 lines.
.claude/rules/ topic files
- Correction rules bridging training cutoff (e.g. API changes, deprecated patterns)
- Coding patterns and standards
- Platform-specific formatting rules
- Error prevention patterns
docs/ and ARCHITECTURE.md
- Detailed system architecture (component diagrams, data flows)
- Database schemas and migration guides
- API endpoint catalogues
- Content that Claude should read on demand, not every session
Rule of thumb: If it's needed every session, put it in CLAUDE.md. If it's reference material consulted occasionally, put it in docs/.
What to delete
- Content Claude already knows from training
- Verbose explanations of standard frameworks
- Changelogs or version history (use git)
- Duplicated content (between CLAUDE.md and docs/, ARCHITECTURE.md, or README.md)
- "TODO" items that were never completed
- Generic advice not specific to the project
Project Type Detection
The audit script detects project type from file presence and suggests appropriate documentation:
| Indicator |
Type |
Suggested Docs |
wrangler.jsonc / wrangler.toml |
Cloudflare Worker |
ARCHITECTURE.md |
vite.config.* + .tsx files |
Vite/React |
ARCHITECTURE.md |
next.config.* |
Next.js |
ARCHITECTURE.md |
MCP patterns in src/index.ts |
MCP Server |
ARCHITECTURE.md, API_ENDPOINTS.md |
src/routes/ or src/api/ |
API Project |
API_ENDPOINTS.md, DATABASE_SCHEMA.md |
| Drizzle/Prisma config |
Database |
DATABASE_SCHEMA.md |
All projects get CLAUDE.md. Additional docs only when the project type warrants them. See references/project-types.md for full detection heuristics and doc templates.
Autonomy Rules
- Just do it: Run audit, detect project type, identify gaps, draft changes
- Brief confirmation: Apply changes (single batch yes/no, not item-by-item)
- Ask first: Delete existing content, major restructures (moving 50+ lines), create new project docs from scratch where there's ambiguity about content
Quality Scoring
The audit script scores each CLAUDE.md on 6 criteria (100 points):
| Criterion |
Points |
What it measures |
| Commands/Workflows |
20 |
Build, test, deploy documented |
| Architecture Clarity |
20 |
Structure, relationships, entry points |
| Non-Obvious Patterns |
15 |
Gotchas, quirks, warnings |
| Conciseness |
15 |
Dense content, no filler |
| Currency |
15 |
References valid, commands work |
| Actionability |
15 |
Copy-paste ready, real paths |
See references/quality-criteria.md for the full rubric.
Reference Files
| When |
Read |
| Scoring CLAUDE.md quality |
references/quality-criteria.md |
| Detecting project type and expected docs |
references/project-types.md |
| Creating new CLAUDE.md or rules files |
references/templates.md |
Scripts
scripts/audit_memory.py — Scan all four layers, score quality, detect project type, report footprint and overlap
python3 audit_memory.py [repo-path] — human-readable report
python3 audit_memory.py [repo-path] --json — structured JSON output
1---2name: context-manager-33description: Audit and manage the full project context landscape: CLAUDE.md memory hierarchy, project documentation, markdown footprint, and content overlap. Detects project type, scores quality, flags stale docs, and reports total context cost. Trigger with 'audit context', 'audit memory', 'update CLAUDE.md', 'restructure memory', 'session capture', 'check project docs', 'markdown footprint', or 'what docs does this project need'.4---5
6# Context Manager
7
8Manage the Claude Code memory hierarchy and audit the full markdown landscape of a project. Produces well-organised memory files, detects documentation overlap, and reports the total context footprint.
9
10## Four Context Layers
11
12| Layer | Location | Purpose | What this skill does |
13|-------|----------|---------|---------------------|
14| **Memory** | `./CLAUDE.md`, subdirs, `.claude/rules/*.md` | Project context, commands, architecture, rules | Audit, score, maintain |
15| **Project docs** | `ARCHITECTURE.md`, `DATABASE_SCHEMA.md`, `API_ENDPOINTS.md`, `docs/**/*.md` | Technical documentation | Check existence per project type, flag staleness, detect CLAUDE.md overlap |
16| **Session** | `SESSION.md`, `PROJECT_BRIEF.md` | Temporary progress tracking | Report presence + size (managed by dev-session) |
17| **Public** | `README.md`, `CONTRIBUTING.md`, other root `.md` | Public-facing docs | Detect CLAUDE.md duplication |
18
19Auto-memory (`~/.claude/projects/*/memory/MEMORY.md`) is also scanned for awareness but managed by Claude automatically.
20
21## Operating Modes
22
23### Mode 1: Session Capture
24
25**When**: End of session, "capture learnings", "update CLAUDE.md with what we learned"
26
271. Review the conversation for discoveries worth preserving:
28 - Commands that worked (or didn't)
29 - Gotchas and workarounds found
30 - Architecture decisions made
31 - Configuration quirks discovered
32 - Patterns that would help future sessions
332. Categorise each discovery using the placement decision tree below
343. Draft all changes as diffs in a single batch
354. Present the batch — apply after a single yes/no confirmation
36
37**Keep it concise**: one line per concept. No verbose explanations, no generic advice.
38
39### Mode 2: Full Audit
40
41**When**: "audit context", "audit memory", "check project docs", periodic maintenance, working in a neglected project
42
431. Run the audit script:
44 ```bash
45 python3 skills/context-manager/scripts/audit_memory.py [repo-path]
46 ```
472. Review the output:
48 - **Memory layer**: CLAUDE.md sizes, quality scores, rules file sizes
49 - **Project docs**: existence, staleness, overlap with CLAUDE.md
50 - **Session/public**: presence and size
51 - **Markdown footprint**: total KB by layer
52 - **Overlap warnings**: sections duplicated between files
533. Generate changes autonomously — create, update, or flag files as needed
544. Present all changes as a single batch for approval
555. Apply approved changes
56
57For large repos, delegate to a sub-agent:
58```
59Task(subagent_type: "general-purpose",
60 prompt: "Run python3 skills/context-manager/scripts/audit_memory.py /path/to/repo
61 and summarise the findings.")
62```
63
64### Mode 3: Restructure
65
66**When**: "restructure memory", root CLAUDE.md over 200 lines, first-time memory setup
67
681. Run full audit (Mode 2) first
692. Split oversized files:
70 - Extract topic sections from root CLAUDE.md into `.claude/rules/<topic>.md`
71 - Extract directory-specific content into sub-directory CLAUDE.md files
72 - Move detailed technical content from CLAUDE.md to `docs/` or `ARCHITECTURE.md` if it's reference material, not operational context
733. Resolve overlaps: if CLAUDE.md duplicates ARCHITECTURE.md or docs/, remove the duplication
744. Create missing documentation files based on project type
755. Present the restructure plan, apply after approval
76
77## Placement Decision Tree
78
79```
80Would this still apply if I switched to a completely different project?
81├── YES → ~/.claude/rules/<topic>.md
82│ (correction rules, API patterns, coding standards)
83└── NO → Is it specific to a subdirectory?
84 ├── YES → <dir>/CLAUDE.md
85 │ (integrations, directory-specific gotchas)
86 └── NO → Is it reference documentation or operational context?
87 ├── Reference → ARCHITECTURE.md or docs/
88 │ (system design, schemas, detailed flows)
89 └── Operational → ./CLAUDE.md (project root)
90 (identity, stack, commands, critical rules)
91```
92
93## Size Targets
94
95| File Type | Target | Maximum |
96|-----------|--------|---------|
97| Root CLAUDE.md | 50-150 lines | 200 |
98| Sub-directory CLAUDE.md | 15-50 lines | 80 |
99| Rules topic file | 20-80 lines | 120 |
100
101## What Belongs Where
102
103### Root CLAUDE.md
104- Project name, purpose, owner
105- Tech stack summary
106- Build/deploy/test commands (copy-paste ready)
107- Directory structure overview
108- Critical "never do X" rules
109- Key integrations and secrets locations
110
111### Sub-directory CLAUDE.md
112- External service integrations for that component
113- Non-obvious configuration specific to this area
114- Directory-specific commands
115- Gotchas when working in this directory
116
117**Don't create when**: parent covers it, directory is self-explanatory, content would be under 10 lines.
118
119### .claude/rules/ topic files
120- Correction rules bridging training cutoff (e.g. API changes, deprecated patterns)
121- Coding patterns and standards
122- Platform-specific formatting rules
123- Error prevention patterns
124
125### docs/ and ARCHITECTURE.md
126- Detailed system architecture (component diagrams, data flows)
127- Database schemas and migration guides
128- API endpoint catalogues
129- Content that Claude should read on demand, not every session
130
131**Rule of thumb**: If it's needed every session, put it in CLAUDE.md. If it's reference material consulted occasionally, put it in docs/.
132
133### What to delete
134- Content Claude already knows from training
135- Verbose explanations of standard frameworks
136- Changelogs or version history (use git)
137- Duplicated content (between CLAUDE.md and docs/, ARCHITECTURE.md, or README.md)
138- "TODO" items that were never completed
139- Generic advice not specific to the project
140
141## Project Type Detection
142
143The audit script detects project type from file presence and suggests appropriate documentation:
144
145| Indicator | Type | Suggested Docs |
146|-----------|------|---------------|
147| `wrangler.jsonc` / `wrangler.toml` | Cloudflare Worker | ARCHITECTURE.md |
148| `vite.config.*` + `.tsx` files | Vite/React | ARCHITECTURE.md |
149| `next.config.*` | Next.js | ARCHITECTURE.md |
150| MCP patterns in `src/index.ts` | MCP Server | ARCHITECTURE.md, API_ENDPOINTS.md |
151| `src/routes/` or `src/api/` | API Project | API_ENDPOINTS.md, DATABASE_SCHEMA.md |
152| Drizzle/Prisma config | Database | DATABASE_SCHEMA.md |
153
154All projects get CLAUDE.md. Additional docs only when the project type warrants them. See [references/project-types.md](references/project-types.md) for full detection heuristics and doc templates.
155
156## Autonomy Rules
157
158- **Just do it**: Run audit, detect project type, identify gaps, draft changes
159- **Brief confirmation**: Apply changes (single batch yes/no, not item-by-item)
160- **Ask first**: Delete existing content, major restructures (moving 50+ lines), create new project docs from scratch where there's ambiguity about content
161
162## Quality Scoring
163
164The audit script scores each CLAUDE.md on 6 criteria (100 points):
165
166| Criterion | Points | What it measures |
167|-----------|--------|-----------------|
168| Commands/Workflows | 20 | Build, test, deploy documented |
169| Architecture Clarity | 20 | Structure, relationships, entry points |
170| Non-Obvious Patterns | 15 | Gotchas, quirks, warnings |
171| Conciseness | 15 | Dense content, no filler |
172| Currency | 15 | References valid, commands work |
173| Actionability | 15 | Copy-paste ready, real paths |
174
175See [references/quality-criteria.md](references/quality-criteria.md) for the full rubric.
176
177## Reference Files
178
179| When | Read |
180|------|------|
181| Scoring CLAUDE.md quality | [references/quality-criteria.md](references/quality-criteria.md) |
182| Detecting project type and expected docs | [references/project-types.md](references/project-types.md) |
183| Creating new CLAUDE.md or rules files | [references/templates.md](references/templates.md) |
184
185## Scripts
186
187- `scripts/audit_memory.py` — Scan all four layers, score quality, detect project type, report footprint and overlap
188 - `python3 audit_memory.py [repo-path]` — human-readable report
189 - `python3 audit_memory.py [repo-path] --json` — structured JSON output