home / skills / kkkkhazix / khazix-skills / skill-evolution-manager

skill-evolution-manager skill

/skill-evolution-manager

This skill evolves and ingests user feedback to progressively improve multiple skills, preserving lessons across versions.

npx playbooks add skill kkkkhazix/khazix-skills --skill skill-evolution-manager

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
3.1 KB
---
name: Skill Evolution Manager
description: 专门用于在对话结束时,根据用户反馈和对话内容总结优化并迭代现有 Skills 的核心工具。它通过吸取对话中的“精华”(如成功的解决方案、失败的教训、特定的代码规范)来持续演进 Skills 库。
license: MIT
---

# Skill Evolution Manager

这是整个 AI 技能系统的“进化中枢”。它不仅负责优化单个 Skill,还负责跨 Skill 的经验复盘和沉淀。

## 核心职责

1.  **复盘诊断 (Session Review)**:在对话结束时,分析所有被调用的 Skill 的表现。
2.  **经验提取 (Experience Extraction)**:将非结构化的用户反馈转化为结构化的 JSON 数据(`evolution.json`)。
3.  **智能缝合 (Smart Stitching)**:将沉淀的经验自动写入 `SKILL.md`,确保持久化且不被版本更新覆盖。

## 使用场景

**Trigger**: 
- `/evolve`
- "复盘一下刚才的对话"
- "我觉得刚才那个工具不太好用,记录一下"
- "把这个经验保存到 Skill 里"

## 工作流 (The Evolution Workflow)

### 1. 经验复盘 (Review & Extract)
当用户触发复盘时,Agent 必须执行:
1.  **扫描上下文**:找出用户不满意的点(报错、风格不对、参数错误)或满意的点(特定 Prompt 效果好)。
2.  **定位 Skill**:确定是哪个 Skill 需要进化(例如 `yt-dlp` 或 `baoyu-comic`)。
3.  **生成 JSON**:在内存中构建如下 JSON 结构:
    ```json
    {
      "preferences": ["用户希望下载默认静音"],
      "fixes": ["Windows 下 ffmpeg 路径需转义"],
      "custom_prompts": "在执行前总是先打印预估耗时"
    }
    ```

### 2. 经验持久化 (Persist)
Agent 调用 `scripts/merge_evolution.py`,将上述 JSON 增量写入目标 Skill 的 `evolution.json` 文件中。
- **命令**: `python scripts/merge_evolution.py <skill_path> <json_string>`

### 3. 文档缝合 (Stitch)
Agent 调用 `scripts/smart_stitch.py`,将 `evolution.json` 的内容转化为 Markdown 并追加到 `SKILL.md` 末尾。
- **命令**: `python scripts/smart_stitch.py <skill_path>`

### 4. 跨版本对齐 (Align)
当 `skill-manager` 更新了某个 Skill 后,Agent 应主动运行 `smart_stitch.py`,将之前保存的经验“重新缝合”到新版文档中。

## 核心脚本

- `scripts/merge_evolution.py`: **增量合并工具**。负责读取旧 JSON,去重合并新 List,保存。
- `scripts/smart_stitch.py`: **文档生成工具**。负责读取 JSON,在 `SKILL.md` 末尾生成或更新 `## User-Learned Best Practices & Constraints` 章节。
- `scripts/align_all.py`: **全量对齐工具**。一键遍历所有 Skill 文件夹,将存在的 `evolution.json` 经验重新缝合回对应的 `SKILL.md`。常用于 `skill-manager` 批量更新后的经验还原。

## 最佳实践

- **不要直接修改 SKILL.md 的正文**:除非是明显的拼写错误。所有的经验修正应通过 `evolution.json` 通道进行,这样可以保证在 Skill 升级时经验不丢失。
- **多 Skill 协同**:如果一次对话涉及多个 Skill,请依次为每个 Skill 执行上述流程。

Overview

This skill is the central engine for evolving and iterating existing skills based on end-of-session feedback and conversation content. It captures successful patterns, failure lessons, and code or usage constraints to keep the skills library improving over time. It focuses on extracting, persisting, and stitching learned experience into each skill's documentation and metadata.

How this skill works

At the end of a conversation, the skill scans the session to identify satisfiers and pain points, then maps those insights to the specific skills involved. It converts freeform feedback into structured JSON (evolution.json), incrementally merges that data with existing records using helper scripts, and appends human-readable guidance into the skill's documentation. It can also reapply saved experience when skills are updated to preserve accumulated knowledge.

When to use it

  • After a session where a tool returned errors, unexpected behavior, or suboptimal results.
  • When a user explicitly asks to save feedback or to review what went well and what failed.
  • After deploying or updating a skill to reapply previously recorded lessons.
  • When multiple skills were used in one conversation and cross-skill lessons emerged.

Best practices

  • Always route fixes and preferences through the evolution JSON channel rather than editing docs directly.
  • Tag each extracted item with the target skill name and a concise rationale.
  • Prefer actionable, reproducible entries (steps to reproduce, environment, exact error text).
  • Run the merge and stitch scripts per skill to avoid cross-skill contamination.
  • Re-run stitching after skill updates to ensure experience aligns with the new version.

Example use cases

  • Capture a user preference like default muted downloads and persist it for the downloader skill.
  • Record a platform-specific fix (e.g., Windows path escaping for ffmpeg) so future runs avoid the issue.
  • Save a high-value prompt pattern that reliably produces desired output for reuse.
  • After a batch skill update, reapply saved constraints so known workarounds aren’t lost.
  • When a user reports poor UI wording, extract the complaint and suggest a doc update for clarity.

FAQ

How is feedback structured?

Feedback is normalized into a simple JSON with fields like preferences, fixes, and custom_prompts to keep items discrete and machine-mergeable.

What ensures experience isn't lost when a skill is updated?

The workflow re-applies saved evolution data to the updated skill documentation and metadata, preserving prior lessons across versions.