skill-evolution-driver
SKILL.md
技能进化驱动师
任务目标
- 本 Skill 用于:驱动技能进行自我进化,随着项目过程推进持续优化
- 能力包含:
- 监控skill-manager存储的数据,识别技能优化机会
- 在空闲时提醒用户潜在的优化建议
- 维护技能优化任务清单
- 执行技能更新流程(备份、更新、测试、还原)
- 管理技能版本号
- 触发条件:以下任一情况触发
- 用户直接需求:"优化技能"、"改进技能"、"技能需要更新"、"技能升级"、"修复技能问题"
- 自动监控触发:监控到skill-manager存储的技能数据中有待优化的任务(如:status=pending的优化任务、日志中的错误和警告、缺失的必要字段)
- 版本相关:"技能版本号需要更新"、"需要记录技能变更"
- 质量相关:"技能格式不正确"、"需要检查技能质量"、"技能测试不通过"
优化识别
数据来源
从skill-manager存储的技能数据中分析优化机会:
- 缺失信息:技能配置中缺乏必要字段(如version)
- 格式问题:数据格式不符合规范
- 重复信息:存在冗余或重复的内容
- 使用模式:根据访问频率和方式识别改进点
- 错误日志:从日志中识别常见错误或警告
- 跨技能协作问题:从其他技能的日志中识别对当前技能的依赖问题或改进建议
优化类型
- format_improvement:格式改进
- content_optimization:内容优化
- version_update:版本号更新
- bug_fix:Bug修复
- feature_enhancement:功能增强
进化流程
步骤1:提醒用户
自动监控触发
智能体定期检查 skill-manager 存储的数据,识别优化机会:
检查工具:调用 scripts/check_optimization_opportunities.py
# 检查所有技能
python scripts/check_optimization_opportunities.py
# 检查特定技能
python scripts/check_optimization_opportunities.py --skill-name dev-observability
检查内容:
- 待处理任务:检查 skill-evolution-driver 自身存储的优化任务(status=pending)
- 缺失字段:检查技能配置是否缺少必要字段(如 version、deploy_mode、manual_path)
- 错误日志:检查技能日志中的 ERROR/WARNING/CRITICAL 日志
- 目录问题:检查技能目录结构是否符合规范
提醒格式:
检测到潜在优化机会:
- 技能:skill-name
- 优化类型:format_improvement
- 描述:SKILL.md缺少version字段
- 是否开始优化?(y/n)
用户主动触发
当用户表达以下需求时,直接提醒用户:
- "优化技能"、"改进技能"
- "技能需要更新"、"技能升级"
- "修复技能问题"
- "技能版本号需要更新"
- "技能格式不正确"、"需要检查技能质量"
步骤2:维护任务清单
若用户同意,调用skill-manager存储优化任务:
{
"task_id": "OPT-001",
"skill_name": "skill-name",
"optimization_type": "format_improvement",
"description": "SKILL.md缺少version字段",
"status": "pending",
"feasibility": "pending",
"backup_path": "",
"old_version": "",
"new_version": "",
"test_result": "",
"notes": "",
"created_at": "2024-01-22 12:00:00",
"updated_at": "2024-01-22 12:00:00"
}
存储方式:更新 skill-evolution-driver 在 skill-manager 中的配置
import sys
sys.path.insert(0, '/workspace/projects/skill-manager/scripts')
from skill_manager import SkillStorage
storage = SkillStorage(data_path="/workspace/projects/skill-data.json")
existing_config = storage.get_config("skill-evolution-driver") or {}
existing_config["optimization_tasks"] = [task_dict] # 任务列表
storage.save_config("skill-evolution-driver", existing_config)
步骤3:分析可行性
分析该技能的优化可行性:
可行性评估标准:
- 技能目录结构完整
- SKILL.md格式正确
- 脚本语法正确
- 依赖关系清晰
- 优化内容明确
不可行情况:
- 技能目录不存在或损坏
- SKILL.md格式错误,无法解析
- 优化内容不明确或过于复杂
- 优化可能破坏现有功能
更新任务状态:
- 可行:
feasibility: "feasible" - 不可行:
feasibility: "not_feasible",并在notes中说明原因
步骤4:备份技能
调用 scripts/backup_skill.py 备份技能:
python scripts/backup_skill.py --skill-dir /workspace/projects/skill-name
备份文件格式:skill-name.backup.<timestamp>.skill
更新任务:
backup_path: "/workspace/projects/skill-name.backup.<timestamp>.skill"
步骤5:更新技能
执行具体的优化操作,并更新版本号:
- 执行优化:根据优化类型修改技能内容
- 更新版本号:调用
scripts/update_version.py
python scripts/update_version.py --skill-dir /workspace/projects/skill-name --type patch
版本号类型:
patch:修订版本(v1.0.0 -> v1.0.1)minor:次版本(v1.0.0 -> v1.1.0)major:主版本(v1.0.0 -> v2.0.0)
更新任务:
old_version: "v1.0.0"new_version: "v1.0.1"
步骤6:进行测试
对更新后的技能进行测试验证:
测试内容:
- SKILL.md格式验证(YAML前言区)
- 脚本语法检查(Python语法)
- 目录结构验证(符合固定结构)
- 依赖完整性检查(dependency字段)
测试脚本:
python scripts/backup_skill.py --validate-only --skill-dir /workspace/projects/skill-name
步骤7:处理测试结果
测试不通过:
- 调用
scripts/restore_skill.py还原技能 - 使用
manage_optimization_tasks.py更新任务状态
# 还原技能
python scripts/restore_skill.py --backup-file <备份路径> --skill-dir /workspace/projects/skill-name
# 更新任务状态
python scripts/manage_optimization_tasks.py update \
--task-id OPT-001 \
--status failed \
--test-result failed \
--notes "测试失败:SKILL.md格式错误"
测试通过:
- 使用
manage_optimization_tasks.py更新任务状态 - 打包新的.skill文件
- 告知用户更新内容
- 提醒用户重新加载技能
# 更新任务状态
python scripts/manage_optimization_tasks.py update \
--task-id OPT-001 \
--status completed \
--test-result passed \
--notes "优化成功:已添加version字段" \
--new-version v1.0.1 \
--backup-path /workspace/projects/skill-name.backup.20260122120000.skill
重要:必须更新任务状态为 completed,避免下次检查时重复提醒相同的优化机会。
步骤8:通知用户
根据测试结果通知用户:
测试通过:
✓ 技能优化成功
- 技能:skill-name
- 版本:v1.0.0 -> v1.0.1
- 更新内容:添加version字段
- 备份:skill-name.backup.<timestamp>.skill
请重新加载AI交互界面以使用更新后的技能。
测试不通过:
✗ 技能优化失败
- 技能:skill-name
- 原因:测试失败
- 详情:SKILL.md格式错误
- 技能已还原
核心功能说明
智能体可处理的功能
- 监控skill-manager数据,识别优化机会
- 在空闲时提醒用户优化建议
- 维护技能优化任务清单
- 分析优化可行性
- 执行优化操作
- 进行测试验证
- 处理测试结果
- 通知用户
脚本实现的功能
- 检查优化机会:
scripts/check_optimization_opportunities.py扫描skill-manager数据,自动识别优化机会(过滤已完成的任务) - 管理优化任务:
scripts/manage_optimization_tasks.py提供优化任务的增删改查功能(add/update/list) - 备份技能:
scripts/backup_skill.py备份整个skill目录 - 还原技能:
scripts/restore_skill.py从备份还原技能 - 更新版本号:
scripts/update_version.py增加SKILL.md中的version字段 - 测试验证:
scripts/backup_skill.py --validate-only验证技能格式
资源索引
- 优化机会检查工具:见 scripts/check_optimization_opportunities.py(自动扫描skill-manager数据,识别优化机会,过滤已完成的任务)
- 优化任务管理工具:见 scripts/manage_optimization_tasks.py(优化任务的增删改查)
- 备份工具:见 scripts/backup_skill.py(备份技能目录)
- 还原工具:见 scripts/restore_skill.py(从备份还原技能)
- 版本管理:见 scripts/update_version.py(更新版本号)
- 优化指南:见 references/optimization_guide.md(优化类型、测试标准、最佳实践)
注意事项
- 优化前必须备份技能
- 优化过程中保持task状态同步更新
- 测试不通过必须还原技能
- 版本号遵循语义化版本规范
- 重大变更需用户明确确认
- 优化完成后必须更新任务状态为
completed,避免重复提醒 - 优化后需提醒用户重新加载技能
最佳实践
- 定期监控skill-manager数据,识别优化机会
- 优先处理高价值、低风险的优化
- 优化前充分分析可行性
- 保持详细的优化日志
- 定期清理过期的备份文件
- 向用户提供清晰的优化说明
使用示例
示例1:添加version字段
检测到skill-name的SKILL.md缺少version字段。
- 提醒用户
- 用户同意后,创建优化任务
- 分析可行性:可行
- 备份技能:skill-name.backup.20240122120000.skill
- 更新SKILL.md,添加version: v1.0.0
- 测试验证:通过
- 更新任务状态:completed
- 通知用户:优化成功
示例2:格式改进
检测到skill-name的SKILL.md格式不符合规范。
- 提醒用户
- 用户同意后,创建优化任务
- 分析可行性:可行
- 备份技能
- 修正SKILL.md格式
- 测试验证:通过
- 更新任务状态:completed
- 通知用户:优化成功
示例3:不可行的优化
检测到skill-name的优化内容过于复杂。
- 提醒用户
- 用户同意后,创建优化任务
- 分析可行性:不可行
- 更新任务状态:failed
- 更新备注:优化内容过于复杂,需要人工介入
- 通知用户:优化不可行,需人工处理
Weekly Installs
7
Repository
ewanyuan/cox-codingGitHub Stars
45
First Seen
Feb 7, 2026
Security Audits
Installed on
claude-code7
opencode6
gemini-cli6
antigravity6
github-copilot6
zencoder6