Agent skill
learn
When the user asks to learn, remember, or save a preference — or after a conversation where the user gave corrections or guidance worth preserving — review the conversation to identify learnings and propose memory updates (CLAUDE.md, rules, skills, agents, docs). Can create new files or reorganize existing ones. Always requires user approval before changes.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/learn-esp1-claude-config
SKILL.md
Learn
Review conversation to identify learnings that should persist. Propose targeted updates for user approval.
Memory Targets
| Location | Scope | When to Use |
|---|---|---|
~/.claude/CLAUDE.md |
Global | Personal preferences across all projects |
./.claude/CLAUDE.md |
Project | Project patterns, conventions, architecture |
~/.claude/rules/*.md |
Global | File-pattern guidance for all projects |
./.claude/rules/*.md |
Project | File-pattern guidance for this project |
~/.claude/skills/*/SKILL.md |
Global | Reusable workflows across projects |
./.claude/skills/*/SKILL.md |
Project | Project-specific workflows |
~/.claude/agents/*.md |
Global | Personal specialized assistants |
./.claude/agents/*.md |
Project | Project-specific assistants |
./docs/**/*.md |
Project | Architecture, decisions, patterns |
When to Create vs Update
Create new file when:
- Skill: Multi-step workflow emerged or domain expertise shared
- Rule: Guidance is file-pattern specific
- Agent: Specialized assistant persona needed
- Doc: Architecture/design decisions to preserve
Update existing when learning fits naturally into existing content.
Before creating docs: Check existing docs for correct placement. Consolidate rather than duplicate.
Workflow
CRITICAL: Never apply changes without explicit user approval.
1. Scan for Learnings
Look for:
- Explicit corrections ("no, do X instead")
- Guidance ("always X", "never Y", "prefer A over B")
- Preferences revealed through repeated feedback
- Workflows developed or refined
- Domain knowledge shared
If no learnings are found, inform the user and stop. Do not invent learnings.
2. Categorize
For each learning:
- Scope: Global (all projects) vs Project-specific
- Type: Preference, convention, knowledge, or process
- Confidence: Explicit (high), inferred (medium), pattern (low - verify)
For low-confidence (pattern-based) learnings, present them as questions rather than proposals: "I noticed you tend to X — would you like me to save this as a preference?"
When scope is ambiguous (global vs project), default to project-level and note the ambiguity in the proposal. Let the user decide to promote to global.
3. Determine Best Location
IMPORTANT: Actively search for the best placement. Don't default to CLAUDE.md.
Search Strategy
-
Search existing files for related content:
- Grep for keywords from the learning
- Check skills, rules, docs for thematic matches
- Look at file structure and organization
-
Evaluate fit for each potential location:
- Does the learning extend existing content naturally?
- Would adding it here make the file too broad?
- Is this the canonical place someone would look?
-
Consider creating new locations when:
- Learning doesn't fit existing files well
- Existing file would become unfocused
- Topic deserves its own space
- Multiple related learnings form a coherent theme
Location Decision Tree
Is this file-pattern specific? (e.g., "for .clj files...")
→ Yes → rules/*.md (create if no matching rule exists)
Is this a multi-step workflow or domain expertise?
→ Yes → skills/*/SKILL.md (create new skill if none fits)
Is this about a specialized assistant persona?
→ Yes → agents/*.md (create new agent)
Is this architectural/design knowledge?
→ Yes → docs/**/*.md (find or create appropriate doc)
Does this extend an existing skill's domain?
→ Yes → That skill's SKILL.md or references/
Is this a general preference/convention?
→ Yes → CLAUDE.md (project or global based on scope)
When to Suggest New Locations
Suggest creating a new skill when:
- A coherent workflow with 3+ steps emerged
- Domain-specific knowledge that doesn't fit elsewhere
- Could benefit other projects (global) or will be reused (project)
Suggest creating a new documentation file/category when:
- Architectural decisions need permanent record
- Complex topic needs structured explanation
- Related decisions are scattered and should consolidate
Suggest creating a new rule when:
- Guidance applies to specific file patterns
- Different file types need different treatment
Suggest creating a new agent when:
- Specialized expertise benefits from persona
- Multi-turn interaction pattern with specific knowledge
For frontmatter options when creating new skills or agents, read references/frontmatter-guide.md.
4. Consider Reorganization
Adding a learning may reveal opportunities to improve existing structure:
Consolidate when:
- Related content is scattered across multiple files
- Multiple small rules/skills could merge into one coherent resource
- Duplicate or overlapping guidance exists
Refactor when:
- Existing file has grown unfocused (split it)
- Learning reveals a better organizational structure
- Content belongs in a different location than where it currently lives
Reorganize when:
- New learning creates a theme that ties existing content together
- Skill references/ could absorb content from CLAUDE.md
- Project docs could absorb content from skills or rules
When proposing reorganization:
- Explain the current state and why it's suboptimal
- Show the proposed new structure
- List all files that would be affected
- Get explicit approval before making changes
5. Propose Updates
## Proposed: [Title]
**Source**: [Quote from conversation]
**Target**: [File path]
**Change**: Create | Add | Modify | Remove
**Location Rationale**: [Why this is the best location - what was considered]
**Duplication check**: [Confirmed no overlap with: list of checked locations]
**Content**:
[Proposed content - clear, concise, actionable]
If suggesting a new file, explain:
- Why existing files don't fit
- What this new location would contain
- How it relates to other memory targets
6. Get Approval
Use AskUserQuestion. Options: Accept, Modify, Skip, Change location.
If user wants a different location, update the proposal accordingly.
7. Apply
Only after approval: Read file, apply change, confirm.
Writing Guidelines
Write memory content that is:
- Specific: "Use
bb test" not "use the test runner" - Actionable: "Run tests before committing" not "testing is important"
- Concise: No filler, no redundancy
- Imperative: "Run X" not "You should run X"
- Non-duplicative: Don't restate what source code, directory structure, or other docs already provide
Source of Truth Checks
Before proposing documentation, verify:
- Does this information already exist in a reference file, skill, or source code?
- Could a reader discover this with
ls,grep, or by reading the referenced file? - If updating a skill, does another skill already own this knowledge?
- Would removing this text lose any information that isn't available elsewhere?
For detailed examples of proposals for different learning types (simple preferences, new rules, new skills, consolidation), read references/examples.md.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?