skill-self-evolution-enhancer
# Skill Self-Evolution Enhancer
This skill enables **other skills** to gain self-evolution capabilities similar to self-improving-agent. A skill that originally has no self-evolution will, after enhancement, have: logging, learning from user feedback, promotion to rules, and a Review→Apply→Report loop—all tailored to its domain.
## Quick Reference
| Step | Action |
|------|--------|
| User requests evolution for skill X | Read target skill's SKILL.md |
| Deep analysis | Identify capabilities, scenarios, evolution directions |
| Extract domain | Name, use cases, triggers, areas, promotion targets |
| Generate .learnings/ | Domain-specific LEARNINGS.md, ERRORS.md, FEATURE_REQUESTS.md |
| Generate EVOLUTION.md | Triggers, Review-Apply-Report, OpenClaw feedback rules |
| Language | Match target skill's user language (infer from SKILL.md) |
## When to Use
- User says: "给 skill X 加上自进化能力" / "Add self-evolution to skill X"
- Scaling self-improvement across many skills (each with its own evolution direction)
- Target skill is non-coding (e.g., 洗稿能手, 电脑加速) and needs domain-specific triggers
## Workflow
### Step 1: Read Target Skill
```
Read(target_skill_path/SKILL.md)
```
Obtain path from user or infer (e.g., `skills/xxx`, `~/.cursor/skills/xxx`).
### Step 2: Deep Capability & Scenario Analysis
**Before generating** any config, analyze the target skill deeply:
**Capabilities** (what the skill does):
- Primary outputs and workflows
- Secondary or edge capabilities
- Dependencies (tools, APIs, formats)
**Scenarios** (when and how it is used):
- User personas
- Typical tasks (e.g., 科普改写 vs 汇报改写)
- Input/output patterns
**Evolution directions** (what can improve):
- User feedback patterns (e.g., "改得不通顺" → style)
- Failure modes (e.g., "优化无效" → strategy)
- Recurring corrections → domain-specific rules
**Use cases** → infer from description, Quick Reference, examples
### Step 3: Extract Domain Config
When reading the target skill, extract:
| Field | Where to Find | Example |
|-------|---------------|---------|
| **Domain name** | `name` in frontmatter, title | 洗稿能手, 电脑加速 |
| **Use cases / scenarios** | Description, Quick Reference, examples | 科普、汇报、直播 |
| **Learning triggers** | User feedback phrases in examples | "改得不通顺", "不像口播", "风格不对" |
| **Error triggers** | Failure modes | "优化无效", "某些电脑不适用", "报错" |
| **Areas** | Output types, workflow stages | 文案/口播/短视频脚本, 或 系统优化/卡顿/报错 |
| **Promotion targets** | Skill-specific rules | `{skill}-专属进化规则.md`, `{skill}-最佳实践.md` |
**Language**: Infer from SKILL.md content (Chinese vs English). Generate all output files in that language.
Use [assets/DOMAIN-CONFIG-TEMPLATE.md](assets/DOMAIN-CONFIG-TEMPLATE.md) to structure the extracted data.
### Step 4: Generate .learnings/
Create inside target skill directory: `target_skill_path/.learnings/`
**Structure** (same as self-improving-agent):
- `.learnings/LEARNINGS.md`
- `.learnings/ERRORS.md`
- `.learnings/FEATURE_REQUESTS.md`
Use templates from `assets/`; parameterize with domain areas, categories, promotion targets. Write in the target skill's language.
### Step 5: Generate EVOLUTION.md
Create `target_skill_path/EVOLUTION.md` using [assets/EVOLUTION-RULES-TEMPLATE.md](assets/EVOLUTION-RULES-TEMPLATE.md).
**Must include**:
- Quick Reference: domain triggers → actions
- **Review→Apply→Report** loop (see below)
- Detection triggers (when to log)
- Promotion decision tree
- Area tags
- Domain-specific activation conditions (for hooks)
- Experience invalidation / update rules (when user corrects again)
### Step 6: Optional – Activator Script
If target skill has `scripts/`, add `scripts/activator.sh` with domain-specific reminder text. Adapt from self-improving-agent; replace generic prompts with domain triggers.
## Review → Apply → Report Loop
The enhanced skill must **use** learnings, not only log them. Include this in EVOLUTION.md or the enhanced skill's instructions:
### Before Task
- Load relevant entries from `.learnings/LEARNINGS.md` (and ERRORS.md if applicable)
- Filter by area, tags, or keywords
- Note which entries apply to the current task
### During Task
- Apply learnings when relevant
- Optionally annotate output: "本次参考了 [LRN-xxx]: ..." (or equivalent in target language)
### After Task
- Summarize for user: which learnings were used, what evolution result, what improvement
- Let OpenClaw decide: per-use mention vs end-of-task summary
**Example** (Chinese): "本次改写了口播稿,参考了经验 [LRN-20250115-001](科普场景应避免过于书面),相比之前更口语化。"
**Example** (English): "Used learning [LRN-20250115-001] (avoid formal tone for科普) in this rewrite; output is more conversational than before."
## User Preference vs Domain Best Practice
| Type | Storage | Example |
|------|---------|---------|
| **User preference** | MEMORY.md (user-level) | "This user prefers shorter sentences" |
| **Domain best practice** | `.learnings/LEARNINGS.md` | "科普场景应避免过于书面" |
Evolution is driven by **user feedback**; log and promote based on user corrections and recurring patterns.
## OpenClaw Active Feedback
Add to the enhanced skill or SOUL.md/AGENTS.md:
- When using experience from `.learnings/`, briefly tell the user
- At end of task, optionally summarize: evolution used, improvements
- Let OpenClaw decide when to surface (per-use vs summary)
See [references/openclaw-feedback.md](references/openclaw-feedback.md) for SOUL.md and AGENTS.md snippets.
## Experience Invalidation & Update
When user corrects again after a learning was applied:
- Add `Contradicted-By: LRN-YYYYMMDD-XXX` to the original entry
- Mark `Last-Valid` or `Status: superseded` if the learning is no longer valid
- Increment `Recurrence-Count` if the pattern recurs but the fix is different
Include in LEARNINGS template: `Recurrence-Count`, `Last-Valid`, `Contradicted-By`.
## Domain Extraction Framework
### Trigger Extraction
**Learning triggers** (user feedback → log to LEARNINGS.md):
- Look for: "用户说", "when user says", example dialogs
- Infer: common corrections, style mismatches, scene-specific preferences
- Add generic fallbacks: "不对", "不是这样", "改一下"
**Error triggers** (failures → log to ERRORS.md):
- Look for: "失败", "报错", "不适用", "when X fails"
- Infer: environment-specific failures, edge cases
- Add generic fallbacks: "操作失败", "未达到预期"
### Area Mapping
Define 3–6 areas that partition the skill's scope. Use domain-specific areas, not coding areas.
### Promotion Target Naming
- `{skill-name}-专属进化规则.md` — evolution rules, style preferences
- `{skill-name}-最佳实践.md` — best practices
- `{skill-name}-安全规范.md` — safety constraints (e.g., 电脑加速)
Use kebab-case for skill name in filenames.
## Logging Format (Reuse from Self-Improving-Agent)
ID format: `LRN-YYYYMMDD-XXX`, `ERR-YYYYMMDD-XXX`, `FEAT-YYYYMMDD-XXX`
Statuses: `pending` | `in_progress` | `resolved` | `wont_fix` | `promoted` | `promoted_to_skill`
For full entry formats, see the self-improving-agent skill's Logging Format section.
## References
- [assets/DOMAIN-CONFIG-TEMPLATE.md](assets/DOMAIN-CONFIG-TEMPLATE.md) — Schema for domain config
- [assets/EVOLUTION-RULES-TEMPLATE.md](assets/EVOLUTION-RULES-TEMPLATE.md) — EVOLUTION.md template
- [references/domain-examples.md](references/domain-examples.md) — 洗稿能手, 电脑加速 examples
- [references/openclaw-feedback.md](references/openclaw-feedback.md) — SOUL.md, AGENTS.md snippets for active feedback
- [scripts/generate-evolution.sh](scripts/generate-evolution.sh) — Optional scaffold generator
## Source
- Based on: self-improving-agent 3.0.1
- Purpose: Enable any skill to gain self-evolution capabilities similar to self-improving-agent
标签
skill
ai