🔄 Self-Iteration Engine

Other

Self-iteration and feedback learning engine for AI agent skills. Tracks usage logs, detects performance patterns, triggers skill updates, and proposes new skill creation based on repeated request patterns. Use when: any skill needs to improve over time, detect failure patterns, learn from user corrections, or decide when to create new skills. Triggers: "learn from this", "improve yourself", periodic review cycles, or any skill declaring dependency for self-improvement.

Install

openclaw skills install self-iteration-engine

🔄 Self-Iteration Engine

Self-iteration and feedback learning engine for AI agent skills. Tracks usage logs, detects performance patterns, triggers skill updates, and proposes new skill creation based on repeated request patterns.

This is a shared component skill — other skills reference it for self-improvement. When updating, ensure backward compatibility with all dependent skills. Users may install this skill standalone for its capabilities.

Usage Log Format

Maintain a usage log file for each skill that declares dependency:

# Usage Log: <skill-name>
## [YYYY-MM-DD]
- Request: <brief description>
- Outcome: success | partial | fail
- User corrected: yes | no
- Correction detail: <if yes, what was corrected>
- Lesson: <what to do differently next time>

File location: memory/usage-logs/<skill-name>.md

Self-Iteration Triggers

Evaluate these conditions during each periodic review (default daily, configurable):

ConditionAction
3+ consecutive successful invocationsMark skill as "stable" — reduce context allocation
2+ failures for the same scenarioFlag for SKILL.md reassessment
Same request type appears 3+ timesEvaluate creating a new dedicated skill
User corrected outputLog correction, adjust future behavior for that scenario
Skill hasn't been reviewed in 30+ daysTrigger review: check if dependencies changed, update examples
External tech change detectedCompare against skill's core technology stack, update if needed

Feedback Loop Implementation

# memory/feedback-loop/<skill-name>.yaml
feedback_loop:
  last_review: "2026-05-19"
  next_review: "2026-05-26"
  status: "stable" | "needs-attention" | "monitoring"
  patterns_observed:
    - pattern: "user asks for financial data on weekends"
      current_response: "check if markets are open"
      improvement: "pre-fill with last trading day data"
      status: "resolved" | "pending" | "in-progress"
  skill_performance:
    total_calls: 47
    success_rate: 0.96
    issues:
      - "data freshness on weekends"

Review Cycle

Daily (lightweight)

  • Scan today's usage log entries
  • Check for failure patterns
  • Log any user corrections

Weekly (moderate)

  • Aggregate performance stats
  • Check iteration triggers (listed above)
  • If any trigger fires → update SKILL.md or create new skill
  • Archive usage logs older than 7 days

Monthly (deep)

  • Full performance review across all skills
  • Compare success rates, identify declining trends
  • Check if any external technology replaced the skill's core stack
  • Propose new skill ideas based on accumulated pattern data
  • Run memory cleanup (delegate to complex-memory-manager)

Update Decision Matrix

SignalDecision
80%+ success rate, no user correctionsNo update needed
60-80% success rateMinor update: clarify instructions, add edge cases
<60% success rateMajor update: redesign workflow, check data sources
User corrects same thing 3+ timesFix that specific guidance in SKILL.md
External API / tool changedUpdate immediately
New competing technology availableEvaluate migration; update if 2x+ better

New Skill Creation Criteria

Create a new skill when:

  • Same request pattern appears 3+ times across different users
  • The pattern cannot be handled well by existing skills
  • The pattern has a clear, bounded scope
  • A distinct tool/API would improve the result

Document in memory/skill-ideas/:

proposal:
  name: <suggested-slug>
  rationale: "Pattern X appeared N times. Existing skill Y handles it poorly because..."
  scope: "<bounded description>"
  priority: high | medium | low
  created: <date>

Cross-Skill Usage

Other skills declare dependency:

metadata:
  openclaw:
    requires:
      skills:
        - self-iteration-engine

Usage logs are prefixed with the source skill name:

  • memory/usage-logs/skill-a.md
  • memory/feedback-loop/skill-a.yaml

When this skill updates log format, check ALL dependent skills' parsing logic.


🔄 自迭代引擎

面向AI Agent技能的自迭代与反馈学习引擎。追踪使用日志、检测性能模式、触发技能更新,并基于重复请求模式提出新技能创建建议。

这是一个共享组件技能——其他技能通过它实现自我改进。更新时需保证向后兼容。用户也可能独立安装此技能使用其能力。

使用日志格式

每个声明依赖的技能维护一份使用日志:

# 使用日志:<skill名称>
## [YYYY-MM-DD]
- 请求:<简述>
- 结果:成功 | 部分成功 | 失败
- 用户修正:是 | 否
- 修正详情:<如果是,修正了什么>
- 经验:<下次应该怎么做>

文件位置:memory/usage-logs/<skill名称>.md

自迭代触发条件

定期审查时评估以下条件(默认每天,可配置):

条件行动
连续成功3次以上标记为"稳定"——减少上下文分配
同一场景失败2次以上标记SKILL.md需重新评估
同类请求出现3次以上评估创建新专用skill
用户修正了输出记录修正,调整后续该场景的行为
技能超过30天未审查触发审查:检查依赖是否变更、更新示例
检测到外部技术变化与技能核心技术栈对比,需要时更新

反馈循环实现

# memory/feedback-loop/<skill名称>.yaml
feedback_loop:
  last_review: "2026-05-19"
  next_review: "2026-05-26"
  status: "stable" | "needs-attention" | "monitoring"
  patterns_observed:
    - pattern: "用户在周末查询金融数据"
      current_response: "检查市场是否开盘"
      improvement: "自动填充最近交易日数据"
      status: "resolved" | "pending" | "in-progress"
  skill_performance:
    total_calls: 47
    success_rate: 0.96
    issues:
      - "周末数据新鲜度"

审查周期

每日(轻量)

  • 扫描今天的日志条目
  • 检查失败模式
  • 记录用户修正

每周(中等)

  • 汇总性能统计
  • 检查触发条件
  • 触发更新或创建新技能
  • 归档超过7天的日志

每月(深度)

  • 全技能性能审查
  • 对比成功率,识别下降趋势
  • 检查外部技术是否取代了技能核心
  • 基于积累的模式数据提出新技能想法
  • 执行记忆清理(委托给complex-memory-manager)

更新决策矩阵

信号决策
成功率>80%,无用户修正无需更新
成功率60-80%小幅更新:澄清说明、补充边界情况
成功率<60%重大更新:重新设计工作流、检查数据源
用户修正同一内容3次以上在SKILL.md中修复该指导
外部API/工具变更立即更新
出现新的竞争技术评估迁移;若2倍以上优于现有则更新

新技能创建标准

以下情况创建新技能:

  • 相同请求模式在不同用户出现3次以上
  • 现有技能无法良好处理该模式
  • 该模式有清晰、有边界的范围
  • 有独特工具/API可提升结果

记录在 memory/skill-ideas/

proposal:
  name: <建议的slug>
  rationale: "模式X出现了N次。现有技能Y处理不佳因为..."
  scope: "<有边界的描述>"
  priority: high | medium | low
  created: <日期>

跨技能使用

其他技能声明依赖的方式:

metadata:
  openclaw:
    requires:
      skills:
        - self-iteration-engine

使用日志以源技能名称为前缀:

  • memory/usage-logs/skill-a.md
  • memory/feedback-loop/skill-a.yaml

本技能更新日志格式时,需检查所有依赖技能的解析逻辑。