home / skills / bahayonghang / my-claude-code-settings / skill-evolution-manager

This skill helps evolve and harmonize multiple skills by reviewing dialogue, extracting structured feedback, and stitching it into durable evolution records.

npx playbooks add skill bahayonghang/my-claude-code-settings --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 库。
category: skill-management
tags:
  - evolution
  - feedback
  - learning
  - optimization
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 evolution manager for Skills, designed to capture, structure, and persist user feedback and session learnings at the end of a conversation. It automates extracting actionable changes, merging them into each Skill's evolution data, and stitching those changes back into the Skill documentation to survive upgrades.

How this skill works

On trigger, the skill scans the recent session to find satisfaction signals and failure points, then maps those findings to the specific Skill(s) involved. It converts unstructured feedback into a structured JSON evolution payload, calls a merge tool to incrementally update the Skill's evolution data file, and runs a stitching tool to append human-readable best practices into the Skill documentation. It can also reapply saved evolution entries after Skill updates.

When to use it

  • At the end of a conversation to capture feedback and improvement ideas
  • When a user reports a bug, unexpected behavior, or poor prompt results
  • After a multi-Skill workflow to consolidate cross-Skill learnings
  • When you want to persist a repeatable preference or recommended prompt change
  • After a bulk Skill update to reapply previously captured experience

Best practices

  • Always trigger evolution on explicit user feedback or clear failure/success signals
  • Map issues to a single responsible Skill before creating an evolution entry
  • Save preferences, fixes, and custom prompts as separate, structured lists
  • Use the merge script to perform incremental, deduplicated updates to evolution data
  • Avoid editing the main documentation body directly; persist changes through the evolution channel

Example use cases

  • User says downloads are always muted — record a default 'mute' preference for the downloader Skill
  • ffmpeg path fails on Windows — extract the path escaping fix and add a fix entry for that Skill
  • A custom prompt produced a better summary — save the prompt under that Skill's custom_prompts
  • A multi-step workflow touched three Skills — run the process for each Skill to capture cross-Skill lessons
  • After a Skill package was upgraded, re-run the stitching tool to reattach previously saved constraints and tips

FAQ

What gets stored in the evolution data file?

Structured entries such as preferences, fixes, and custom_prompts are stored in a JSON file tied to each Skill.

How are duplicate recommendations avoided?

The merge tool performs incremental de-duplication when combining new entries with existing evolution data.