Log learnings to .learnings/ for continuous improvement. Promote broadly applicable entries to workspace files.
bash
mkdir -p ~/.openclaw/workspace/.learnings
Create three log files: LEARNINGS.md · ERRORS.md · FEATURE_REQUESTS.md
SituationFileCategoryCommand/operation failsERRORS.md—User corrects youLEARNINGS.md``correctionMissing capability requestedFEATURE_REQUESTS.md—Knowledge was outdatedLEARNINGS.md``knowledge_gapFound better approachLEARNINGS.md``best_practiceRecurring pattern (simplify-and-harden)LEARNINGS.md``Source: simplify-and-harden + Pattern-Key
Learning TypePromote ToBehavioral patternsSOUL.mdWorkflow improvementsAGENTS.mdTool gotchasTOOLS.mdProject facts / conventionsCLAUDE.md
Promote when: applies across multiple files, prevents recurring mistakes, or any contributor should know it.
markdown
## [LRN-YYYYMMDD-XXX] category
**Logged**: ISO-8601 **Priority**: low|medium|high|critical **Status**: pending **Area**: frontend|backend|infra|tests|docs|config
### Summary
One-line description
### Details
What happened, what was wrong, what's correct
### Suggested Action
Specific fix or improvement
### Metadata
- Source: conversation|error|user_feedback
- Related Files:
- Tags:
- See Also: (if related entry exists)
- Pattern-Key: (optional, for recurring patterns)
- Recurrence-Count: 1
---
markdown
## [ERR-YYYYMMDD-XXX] command_name
**Logged**: ISO-8601 **Priority**: high **Status**: pending **Area**: …
### Summary / Error / Context / Suggested Fix
### Metadata
- Reproducible: yes|no|unknown
- See Also:
---
markdown
## [FEAT-YYYYMMDD-XXX] capability_name
**Logged**: ISO-8601 **Priority**: medium **Status**: pending **Area**: …
### Requested Capability / User Context / Complexity Estimate / Suggested Implementation
### Metadata
- Frequency: first_time|recurring
---
Change **Status**: pending → resolved | in_progress | wont_fix | promoted, then add:
markdown
### Resolution
- **Resolved**: ISO-8601
- **Notes**: what was done
grep -r "keyword" .learnings/Recurrence-Count, update Last-Seen, add See AlsoRecurrence-Count >= 3 + seen in 2+ tasks + within 30 daysbash
grep -h "Status\*\*: pending" .learnings/*.md | wc -l # count pending
grep -B5 "Priority\*\*: high" .learnings/*.md | grep "^## \[" # list high-priority
Review before major tasks, after completing features, or weekly during active development.
LEARNINGS.md correctionFEATURE_REQUESTS.mdLEARNINGS.md knowledge_gapERRORS.mdExtract a learning into a reusable skill when: recurring (2+ See Also links) + resolved + non-obvious + broadly applicable.
bash
./skills/self-improvement/scripts/extract-skill.sh skill-name
Or manually: create skills/<name>/SKILL.md with YAML frontmatter ( name, description).
Priority: critical (blocks core / data loss) · high (common workflow) · medium (workaround exists) · low (edge case)
Area: frontend · backend · infra · tests · docs · config