self-optimization
Turn mistakes, corrections, dead ends, and repeated fixes into durable improvements. Use when work reveals a non-obvious lesson, a recurring failure, a missing capability, or a rule that should be promoted into agent memory, workflow guidance, or a reusable skill.
Best use case
self-optimization is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Turn mistakes, corrections, dead ends, and repeated fixes into durable improvements. Use when work reveals a non-obvious lesson, a recurring failure, a missing capability, or a rule that should be promoted into agent memory, workflow guidance, or a reusable skill.
Teams using self-optimization should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/self-optimization/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How self-optimization Compares
| Feature / Agent | self-optimization | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Turn mistakes, corrections, dead ends, and repeated fixes into durable improvements. Use when work reveals a non-obvious lesson, a recurring failure, a missing capability, or a rule that should be promoted into agent memory, workflow guidance, or a reusable skill.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
SKILL.md Source
# Self-Optimization
Use this skill to close the loop after real work. The goal is not just to log what went wrong. The goal is to convert signal from mistakes, corrections, and repeated effort into stronger future behavior.
## Core Loop
1. Detect meaningful signal.
2. Capture it in `.learnings/`.
3. De-duplicate and link related entries.
4. Promote stable patterns into durable guidance.
5. Extract reusable skills when the pattern is broad and proven.
## Quick Reference
| Situation | Action |
|-----------|--------|
| Command, tool, or integration fails unexpectedly | Append an entry to `.learnings/ERRORS.md` |
| User corrects the agent or provides missing facts | Append an entry to `.learnings/LEARNINGS.md` |
| A better repeatable approach is discovered | Append an entry to `.learnings/LEARNINGS.md` |
| User asks for a missing capability | Append an entry to `.learnings/FEATURE_REQUESTS.md` |
| Same issue keeps reappearing | Link entries, bump priority, and consider promotion |
| Pattern is stable across tasks | Promote to `AGENTS.md`, `CLAUDE.md`, `TOOLS.md`, `SOUL.md`, or `.github/copilot-instructions.md` |
| Pattern is reusable beyond one repo | Extract a new skill scaffold |
## Detection Triggers
Capture a learning when any of these happen:
- The first attempt was wrong and needed correction.
- A tool or command failed in a non-obvious way.
- The user revealed a project convention that was not documented.
- The agent discovered a stronger pattern than the one it started with.
- The same workaround or warning has appeared more than once.
- The user asked for a capability the current system does not provide.
Skip noisy one-off trivia. Capture things that would realistically save a future session time, confusion, or rework.
## Log Files
Create a local `.learnings/` directory in the workspace or in the OpenClaw workspace.
```text
.learnings/
├── LEARNINGS.md
├── ERRORS.md
└── FEATURE_REQUESTS.md
```
### `LEARNINGS.md`
Use for:
- corrections
- knowledge gaps
- best practices
- project conventions
- improved workflows
Template:
````markdown
## [LRN-YYYYMMDD-XXX] category
**Logged**: 2026-04-01T10:00:00Z
**Priority**: low | medium | high | critical
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Summary
One-line statement of the lesson.
### Details
What was wrong, what changed, and what is now known to be correct.
### Suggested Action
What to do differently next time.
### Metadata
- Source: conversation | debugging | user_feedback | simplify-and-harden
- Related Files: path/to/file
- Tags: tag-a, tag-b
- See Also: LRN-20260401-001
- Pattern-Key: optional.stable.key
- Recurrence-Count: 1
- First-Seen: 2026-04-01
- Last-Seen: 2026-04-01
---
````
### `ERRORS.md`
Use for:
- command failures
- exceptions
- bad tool assumptions
- API or integration breakage
Template:
````markdown
## [ERR-YYYYMMDD-XXX] command_or_tool
**Logged**: 2026-04-01T10:00:00Z
**Priority**: medium
**Status**: pending
**Area**: backend | infra | tests | docs | config
### Summary
Short description of the failure.
### Error
```text
Actual error output goes here.
```
### Context
- Command or action attempted
- Relevant inputs
- Environment details if useful
### Suggested Fix
What should be tried next or documented.
### Metadata
- Reproducible: yes | no | unknown
- Related Files: path/to/file
- See Also: ERR-20260401-001
---
````
### `FEATURE_REQUESTS.md`
Use for:
- missing tooling
- automation requests
- product gaps
- missing agent behaviors
Template:
````markdown
## [FEAT-YYYYMMDD-XXX] capability_name
**Logged**: 2026-04-01T10:00:00Z
**Priority**: low | medium | high
**Status**: pending
**Area**: frontend | backend | infra | tests | docs | config
### Requested Capability
What the user wanted.
### User Context
Why they wanted it.
### Complexity Estimate
simple | medium | complex
### Suggested Implementation
How it might be built or extended.
### Metadata
- Frequency: first_time | recurring
- Related Features: existing_feature
---
````
## ID Format
Use `TYPE-YYYYMMDD-XXX`.
- `LRN` for learning
- `ERR` for error
- `FEAT` for feature request
Examples:
- `LRN-20260401-001`
- `ERR-20260401-002`
- `FEAT-20260401-003`
## Promotion Rules
Promote an entry when it becomes more valuable as guidance than as a historical note.
| Target | Promote When |
|--------|---------------|
| `CLAUDE.md` | Project facts, conventions, or recurring gotchas |
| `AGENTS.md` | Workflow rules, delegation patterns, automation steps |
| `.github/copilot-instructions.md` | Repo guidance that should reach Copilot |
| `TOOLS.md` | Tool quirks, auth requirements, environment gotchas |
| `SOUL.md` | Behavioral or communication rules for OpenClaw sessions |
Promotion checklist:
1. Distill the learning into a short prevention rule.
2. Add it to the right target file.
3. Update the original entry status to `promoted`.
4. Record where it was promoted.
## Recurrence And Dedupe
Before creating a new entry for a familiar issue:
1. Search `.learnings/` for a related keyword or `Pattern-Key`.
2. If a related item exists, link it with `See Also`.
3. Increase `Recurrence-Count` and refresh `Last-Seen`.
4. Escalate priority if the pattern is recurring and costly.
Recurring issues often mean one of three things:
- documentation is missing
- automation is missing
- the architecture or workflow is inviting the same failure
## When To Extract A Skill
Extract a reusable skill when the pattern is:
- resolved and trustworthy
- useful across multiple tasks
- non-obvious enough to justify explicit guidance
- portable beyond a single private incident
Use the helper:
```bash
./skills/self-optimization/scripts/extract-skill.sh my-new-skill --dry-run
./skills/self-optimization/scripts/extract-skill.sh my-new-skill
```
Then customize the generated `SKILL.md` and update the original learning entry with:
- `Status: promoted_to_skill`
- `Skill-Path: skills/my-new-skill`
## Review Rhythm
Review `.learnings/` at these checkpoints:
- before major tasks
- after finishing a feature or bugfix
- when working in an area with previous failures
- during periodic maintenance
Useful checks:
```bash
grep -h "Status\\*\\*: pending" .learnings/*.md | wc -l
grep -B5 "Priority\\*\\*: high" .learnings/*.md | grep "^## \\["
grep -l "Area\\*\\*: backend" .learnings/*.md
```
## OpenClaw Setup
OpenClaw works especially well with this skill because workspace files and hooks let the improvement loop stay visible between sessions.
### Install
```bash
clawdhub install self-optimization
```
Manual install:
```bash
git clone <your-fork-or-source-repo> ~/.openclaw/skills/self-optimization
```
This package is an OpenClaw-oriented evolution of the earlier self-learning workflow.
### Hook Setup
Optional bootstrap reminder:
```bash
cp -r hooks/openclaw ~/.openclaw/hooks/self-optimization
openclaw hooks enable self-optimization
```
### Workspace Layout
```text
~/.openclaw/workspace/
├── AGENTS.md
├── SOUL.md
├── TOOLS.md
├── MEMORY.md
├── memory/
└── .learnings/
├── LEARNINGS.md
├── ERRORS.md
└── FEATURE_REQUESTS.md
```
## Hook Support For Other Agents
### Claude Code / Codex
Use hook scripts in settings:
```json
{
"hooks": {
"UserPromptSubmit": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "./skills/self-optimization/scripts/activator.sh"
}]
}],
"PostToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": "./skills/self-optimization/scripts/error-detector.sh"
}]
}]
}
}
```
### GitHub Copilot
Add a reminder to `.github/copilot-instructions.md`:
```markdown
## Self-Optimization
After solving non-obvious issues, consider:
1. Logging the lesson to `.learnings/`
2. Linking related recurring entries
3. Promoting stable rules into repo guidance
4. Extracting reusable skills when the pattern is broad
```
## Best Practices
1. Log signal, not noise.
2. Prefer prevention rules over postmortems.
3. Link related incidents instead of duplicating them.
4. Promote broadly useful guidance quickly.
5. Treat repeated friction as a systems problem, not just a note-taking problem.
6. Review learnings before repeating the same class of work.Related Skills
self-improvement
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.
Margin Analysis & Profit Optimization
Analyze gross, operating, and net margins by product line, customer segment, and channel. Identify margin erosion patterns and build pricing power.
Cloud Cost Optimization Audit
Analyze cloud infrastructure spend across AWS, Azure, and GCP. Identify waste, rightsizing opportunities, and reserved instance savings.
self-xyz
Integrate Self (self.xyz) — a privacy-first identity protocol using zero-knowledge proofs to verify passports and ID cards. Use when the user mentions Self protocol, Self identity, self.xyz, passport verification, zero-knowledge identity verification, SelfAppBuilder, SelfBackendVerifier, SelfVerificationRoot, or wants to add privacy-preserving KYC, age verification, nationality checks, OFAC screening, or Sybil resistance using real-world identity documents. Covers frontend QR code integration, backend proof verification, and on-chain smart contract verification on Celo.
metacognitive-self-mod
Analyze and improve the improvement process. Use for detecting quality regressions and refining meta-optimization
openclaw-self-guard
OpenClaw Security Vulnerability Monitor - Checks for OpenClaw security vulnerabilities from NVD CVE database and GitHub Security Advisories. Compares local OpenClaw version against known CVEs, outputs vulnerability details and remediation if found, otherwise runs silently. Auto-installs daily cron job. Data sources: NVD (nist.gov), GitHub Security Advisories.
criticism-self-criticism
触发:当一项工作已经完成、进入阶段验收、收到批评反馈,或反复出现同类错误需要系统纠偏时调用;常见信号包括 review、audit、retrospective、quality check、纠错与复盘。 English: Trigger after delivery or at a review checkpoint when quality must be examined honestly and errors must be corrected without defensiveness. Use this skill for structured self-review, feedback processing, and continuous correction.
arch-optimization
OpenClaw通信协议架构优化技能包 - 提供高性能、可靠的agent间通信框架。实现大消息59%性能提升,MessagePack 35%体积减少,统一传输层架构,智能路由算法,完整错误恢复和监控体系。
agent-self-repair
General AI agent introspection debugging framework: auto capture errors, root cause analysis, automatic repair, fix verification, no manual intervention required
self-evolve
Autonomous self-evolution skill: grants the agent full authority to modify its own configuration, skills, prompts, AGENTS.md, SOUL.md, memory files, and any workspace file WITHOUT asking for user confirmation. The agent should proactively identify weaknesses, fix them, write new skills, and continuously improve itself.
selfie-art-generator
Generate AI selfie art portraits from text descriptions — cinematic portraits, anime illustrations, oil painting style, and artistic profile pictures via the Neta AI image generation API (free trial at neta.art/open).
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.