self-improving
Skill17 starsChanged 6 months agoApache-2.0View on GitHub
Self-reflection + Self-criticism + Self-learning + Self-organizing memory. Agent evaluates its own work, catches mistakes, and improves permanently. Use when (1) a command, tool, API, or operation fails; (2) the user corrects you or rejects your work; (3) you realize your knowledge is outdated or incorrect; (4) you discover a better approach; (5) the user explicitly installs or references the skill for the current task.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- JayMeDotDot/jmdd-agent-skillstheir own version, first seen Oct 17, 2026
- pr-pm/prpmtheir own version, first seen Feb 24, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- pr-pm/prpm★ 124same name
- JayMeDotDot/jmdd-agent-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- AGENTS.mdAGENTS.md
- azure-cost-managementSkill
- azure-policySkill
- azure-securitySkill
- brainstormSkill
- create-providerSkill
- create-atlasclaw-skillSkill
- docxSkill
- find-skillsSkill
- google-cloud-waf-securitySkill
- humanizerSkill
- information-security-manager-iso27001Skill
- pdfSkill
- pptxSkill
- prometheus-analysisSkill
- prometheusSkill
- senior-secopsSkill
- skill-vetterSkill
- summarizeSkill
- textSkill
- word-docxSkill
- xlsxSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 14 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 50
No extra binaries required
- Distinctive: line 86
After completing significant work, pause and evaluate:
- Distinctive: line 93
After completing a multi-step task
- Distinctive: line 94
After receiving feedback (positive or negative)
- Distinctive: line 95
After fixing a bug or mistake
- Distinctive: line 96
When you notice your output could be better
- Distinctive: line 164
Never infer from silence alone
- Distinctive: line 165
After 3 identical lessons → ask to confirm as rule
- Distinctive: line 178
Never delete without asking
- Distinctive: line 190
If ambiguous → ask user
- Distinctive: line 193
When file exceeds limit:
- Distinctive: line 197
Never lose confirmed preferences
- Very specific: line 200
Every action from memory → cite source: "Using X (from projects/foo.md:12)"
- Distinctive: line 208
If context limit hit:
- Distinctive: line 211
Never fail silently — tell user what's not loaded
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
When to Use
User corrects you or points out mistakes. You complete significant work and want to evaluate the outcome. You notice something in your own output that could be better. Knowledge should compound over time without manual maintenance.
Architecture
Memory lives in ~/self-improving/ with tiered structure. If ~/self-improving/ does not exist, run setup.md.
Workspace setup should add the standard self-improving steering to the workspace AGENTS, SOUL, and HEARTBEAT.md files, with recurring maintenance routed through heartbeat-rules.md.
~/self-improving/
├── memory.md # HOT: ≤100 lines, always loaded
├── index.md # Topic index with line counts
├── heartbeat-state.md # Heartbeat state: last run, reviewed change, action notes
├── projects/ # Per-project learnings
├── domains/ # Domain-specific (code, writing, comms)
├── archive/ # COLD: decayed patterns
└── corrections.md # Last 50 corrections logQuick Reference
| Topic | File |
| Setup guide | setup.md |
| Heartbeat state template | heartbeat-state.md |
| Memory template | memory-template.md |
| Workspace heartbeat snippet | HEARTBEAT.md |
| Heartbeat rules | heartbeat-rules.md |
| Learning mechanics | learning.md |
| Security boundaries | boundaries.md |
| Scaling rules | scaling.md |
| Memory operations | operations.md |
| Self-reflection log | reflections.md |
| OpenClaw HEARTBEAT seed | openclaw-heartbeat.md |
Requirements
- No credentials required
- No extra binaries required
- Optional installation of the
Proactivityskill may require network access
Learning Signals
Log automatically when you notice these patterns:
Corrections → add to corrections.md, evaluate for memory.md:
- "No, that's not right..."
- "Actually, it should be..."
- "You're wrong about..."
- "I prefer X, not Y"
- "Remember that I always..."
- "I told you before..."
- "Stop doing X"
- "Why do you keep..."
Preference signals → add to memory.md if explicit:
- "I like when you..."
- "Always do X for me"
- "Never do Y"
- "My style is..."
- "For [project], use..."
Pattern candidates → track, promote after 3x:
- Same instruction repeated 3+ times
- Workflow that works well repeatedly
- User praises specific approach
Ignore (don't log):
- One-time instructions ("do X now")
- Context-specific ("in this file...")
- Hypotheticals ("what if...")
Self-Reflection
After completing significant work, pause and evaluate:
- Did it meet expectations? — Compare outcome vs intent
- What could be better? — Identify improvements for next time
- Is this a pattern? — If yes, log to
corrections.md
When to self-reflect:
- After completing a multi-step task
- After receiving feedback (positive or negative)
- After fixing a bug or mistake
- When you notice your output could be better
Log format:
CONTEXT: [type of task]
REFLECTION: [what I noticed]
LESSON: [what to do differently]Example:
CONTEXT: Building Flutter UI
REFLECTION: Spacing looked off, had to redo
LESSON: Check visual spacing before showing userSelf-reflection entries follow the same promotion rules: 3x applied successfully → promote to HOT.
Quick Queries
| User says | Action |
| "What do you know about X?" | Search all tiers for X |
| "What have you learned?" | Show last 10 from corrections.md |
| "Show my patterns" | List memory.md (HOT) |
| "Show [project] patterns" | Load projects/{name}.md |
| "What's in warm storage?" | List files in projects/ + domains/ |
| "Memory stats" | Show counts per tier |
| "Forget X" | Remove from all tiers (confirm first) |
| "Export memory" | ZIP all files |
Memory Stats
On "memory stats" request, report:
📊 Self-Improving Memory
HOT (always loaded):
memory.md: X entries
WARM (load on demand):
projects/: X files
domains/: X files
COLD (archived):
archive/: X files
Recent activity (7 days):
Corrections logged: X
Promotions to HOT: X
Demotions to WARM: XCommon Traps
| Trap | Why It Fails | Better Move |
| Learning from silence | Creates false rules | Wait for explicit correction or repeated evidence |
| Promoting too fast | Pollutes HOT memory | Keep new lessons tentative until repeated |
| Reading every namespace | Wastes context | Load only HOT plus the smallest matching files |
| Compaction by deletion | Loses trust and history | Merge, summarize, or demote instead |
Core Rules
1. Learn from Corrections and Self-Reflection
- Log when user explicitly corrects you
- Log when you identify improvements in your own work
- Never infer from silence alone
- After 3 identical lessons → ask to confirm as rule
2. Tiered Storage
| Tier | Location | Size Limit | Behavior |
| HOT | memory.md | ≤100 lines | Always loaded |
| WARM | projects/, domains/ | ≤200 lines each | Load on context match |
| COLD | archive/ | Unlimited | Load on explicit query |
3. Automatic Promotion/Demotion
- Pattern used 3x in 7 days → promote to HOT
- Pattern unused 30 days → demote to WARM
- Pattern unused 90 days → archive to COLD
- Never delete without asking
4. Namespace Isolation
- Project patterns stay in
projects/{name}.md - Global preferences in HOT tier (memory.md)
- Domain patterns (code, writing) in
domains/ - Cross-namespace inheritance: global → domain → project
5. Conflict Resolution
When patterns contradict:
- Most specific wins (project > domain > global)
- Most recent wins (same level)
- If ambiguous → ask user
6. Compaction
When file exceeds limit:
- Merge similar corrections into single rule
- Archive unused patterns
- Summarize verbose entries
- Never lose confirmed preferences
7. Transparency
- Every action from memory → cite source: "Using X (from projects/foo.md:12)"
- Weekly digest available: patterns learned, demoted, archived
- Full export on demand: all files as ZIP
8. Security Boundaries
See boundaries.md — never store credentials, health data, third-party info.
9. Graceful Degradation
If context limit hit:
- Load only memory.md (HOT)
- Load relevant namespace on demand
- Never fail silently — tell user what's not loaded
Scope
This skill ONLY:
- Learns from user corrections and self-reflection
- Stores preferences in local files (
~/self-improving/) - Maintains heartbeat state in
~/self-improving/heartbeat-state.mdwhen the workspace integrates heartbeat - Reads its own memory files on activation
This skill NEVER:
- Accesses calendar, email, or contacts
- Makes network requests
- Reads files outside
~/self-improving/ - Infers preferences from silence or observation
- Deletes or blindly rewrites self-improving memory during heartbeat cleanup
- Modifies its own SKILL.md
Data Storage
Local state lives in ~/self-improving/:
memory.mdfor HOT rules and confirmed preferencescorrections.mdfor explicit corrections and reusable lessonsprojects/anddomains/for scoped patternsarchive/for decayed or inactive patternsheartbeat-state.mdfor recurring maintenance markers
Related Skills
Install with clawhub install <slug> if user confirms:
memory— Long-term memory patterns for agentslearning— Adaptive teaching and explanationdecide— Auto-learn decision patternsescalate— Know when to ask vs act autonomously
Feedback
- If useful:
clawhub star self-improving - Stay updated:
clawhub sync
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

