When to Use#
User has coding style preferences, stack decisions, or patterns they want remembered. Agent learns ONLY from explicit corrections and confirmations, never from observation.
Architecture#
Memory lives in ~/coding/ with tiered structure. See memory-template.md for setup.
text
~/coding/
├── memory.md # Active preferences (≤100 lines)
└── history.md # Archived old preferences
Quick Reference#
TopicFileCategories of preferencesdimensions.mdWhen to add preferencescriteria.mdMemory templatesmemory-template.md
Data Storage#
All data stored in ~/coding/. Create on first use:
bash
mkdir -p ~/coding
Scope#
This skill ONLY:
- Learns from explicit user corrections ("I prefer X over Y")
- Stores preferences in local files (
~/coding/)
- Applies stored preferences to code output
This skill NEVER:
- Reads project files to infer preferences
- Observes coding patterns without consent
- Makes network requests
- Reads files outside
~/coding/
- Modifies its own SKILL.md
Core Rules#
1. Learn from Explicit Feedback Only#
- User corrects output → ask: "Should I remember this preference?"
- User confirms → add to
~/coding/memory.md
- Never infer from silence or observation
2. Confirmation Required#
No preference is stored without explicit user confirmation:
- "Actually, I prefer X" → "Should I remember: prefer X?"
- User says yes → store
- User says no → don't store, don't ask again
Keep each entry 5 words max:
python: prefer 3.11+
naming: snake_case for files
tests: colocated, not separate folder
4. Category Organization#
Group by type (see dimensions.md):
- Stack — frameworks, databases, tools
- Style — naming, formatting, comments
- Structure — folders, tests, configs
- Never — explicitly rejected patterns
5. Memory Limits#
- memory.md ≤100 lines
- When full → archive old patterns to history.md
- Merge similar entries: "no Prettier" + "no ESLint" → "minimal tooling"
6. On Session Start#
- Load
~/coding/memory.md if exists
- Apply stored preferences to responses
- If no file exists, start with no assumptions
7. Query Support#
User can ask:
- "Show my coding preferences" → display memory.md
- "Forget X" → remove from memory
- "What do you know about my Python style?" → show relevant entries
Common Traps#
- Adding preferences without confirmation → user loses trust
- Inferring from project structure → privacy violation
- Exceeding 100 lines → context bloat
- Vague entries ("good code") → useless, be specific
Security & Privacy#
Data that stays local:
- All preferences stored in
~/coding/
- No telemetry or analytics
This skill does NOT:
- Send data externally
- Access files outside
~/coding/
- Observe without explicit user input
Feedback#
- If useful:
clawhub star coding
- Stay updated:
clawhub sync