360 Secure SkillHub
360 安全技能中心

Self Optimization

核心功能:把工作中的错误、用户修正、改进方法、缺失需求等转化为持久改进,经记录、去重关联、升级流程,沉淀为工作流指导或可复用技能。典型场景含工具意外失败、用户纠正代理、发现重复方法等。触发后对应写入.learnings下的三类文档,稳定模式可升级为项目指导文档,跨场景模式可提取为新技能。

alethean-kaw
alethean-kaw
热度 54.97
最近更新 2026-05-11 17:39:00
分类:效率依赖:代码执行 / 读写文件 / MCP 服务应用场景:工作流 / 模板 / 笔记整理 / 摘要总结 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add self-optimization
Metadata
name
self-optimization
description
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.
metadata
null

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.

.learnings/
├── LEARNINGS.md
├── ERRORS.md
└── FEATURE_REQUESTS.md

LEARNINGS.md

Use for:

  • corrections
  • knowledge gaps
  • best practices
  • project conventions
  • improved workflows

Template:

## [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:

## [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:

## [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:

./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:

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

clawdhub install self-optimization

Manual install:

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:

cp -r hooks/openclaw ~/.openclaw/hooks/self-optimization
openclaw hooks enable self-optimization

Workspace Layout

~/.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:

{
  "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:

## 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.