Skills Self-Improving + Proactive Agent

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.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/aysun168/self-improving-bak" ~/.claude/skills/openclaw-skills-self-improving-proactive-agent && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/aysun168/self-improving-bak" ~/.openclaw/skills/openclaw-skills-self-improving-proactive-agent && rm -rf "$T"
manifest: skills/aysun168/self-improving-bak/SKILL.md
source content

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 log

Quick Reference

TopicFile
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
    Proactivity
    skill 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:

  1. Did it meet expectations? — Compare outcome vs intent
  2. What could be better? — Identify improvements for next time
  3. 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 user

Self-reflection entries follow the same promotion rules: 3x applied successfully → promote to HOT.

Quick Queries

User saysAction
"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: X

Common Traps

TrapWhy It FailsBetter Move
Learning from silenceCreates false rulesWait for explicit correction or repeated evidence
Promoting too fastPollutes HOT memoryKeep new lessons tentative until repeated
Reading every namespaceWastes contextLoad only HOT plus the smallest matching files
Compaction by deletionLoses trust and historyMerge, 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

TierLocationSize LimitBehavior
HOTmemory.md≤100 linesAlways loaded
WARMprojects/, domains/≤200 lines eachLoad on context match
COLDarchive/UnlimitedLoad 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:

  1. Most specific wins (project > domain > global)
  2. Most recent wins (same level)
  3. If ambiguous → ask user

6. Compaction

When file exceeds limit:

  1. Merge similar corrections into single rule
  2. Archive unused patterns
  3. Summarize verbose entries
  4. 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:

  1. Load only memory.md (HOT)
  2. Load relevant namespace on demand
  3. 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.md
    when 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.md
    for HOT rules and confirmed preferences
  • corrections.md
    for explicit corrections and reusable lessons
  • projects/
    and
    domains/
    for scoped patterns
  • archive/
    for decayed or inactive patterns
  • heartbeat-state.md
    for recurring maintenance markers

Related Skills

Install with

clawhub install <slug>
if user confirms:

  • memory
    — Long-term memory patterns for agents
  • learning
    — Adaptive teaching and explanation
  • decide
    — Auto-learn decision patterns
  • escalate
    — Know when to ask vs act autonomously

Feedback

  • If useful:
    clawhub star self-improving
  • Stay updated:
    clawhub sync