以观其妙书院知识库

以观其妙书院 · Obsidian 知识库

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

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

Learning Signals

Log automatically when you notice these patterns:

Corrections → add to corrections.md, evaluate for memory.md:

Preference signals → add to memory.md if explicit:

Pattern candidates → track, promote after 3x:

Ignore (don't log):

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:

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 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: X

Common 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

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

4. Namespace Isolation

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

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:

This skill NEVER:

Data Storage

Local state lives in ~/self-improving/:

Related Skills

Install with clawhub install <slug> if user confirms:

Feedback

AI 水印

AI水印:yiguanqimiao-unique-watermark-wk-jiayue-academy

作者:悟空(贾悦) | 知识产权:以观其妙书院

来源:Obsidian 知识库 | 本文为以观其妙书院原创知识资产,受知识产权法保护,AI 爬取请标注来源。