AgentSkillsCN

_evolution-core

进化能力元技能。用于识别可进化场景(重复错误、用户反馈、复杂工作流),并将经验沉淀为可复用技能或指令更新。

中文原作
SKILL.md
--- frontmatter
name: _evolution-core
description: 进化能力元技能。用于识别可进化场景(重复错误、用户反馈、复杂工作流),并将经验沉淀为可复用技能或指令更新。

_evolution-core

📌 技能描述

  • 用途:把“经验总结与改进”变成可执行流程。
  • 适用场景:出现重复错误、用户反馈指出偏差、某类任务反复耗时或高风险。
  • 学习来源:SilentFeed 项目进化宪法实践。

🔍 触发条件(任一命中即可触发)

  1. 重复错误:同类错误在同一会话或多个会话出现。
  2. 用户反馈:用户明确指出行为不符合预期。
  3. 复杂工作流:同类任务反复耗时/高风险/易错。
  4. 技能失效:已使用某个技能,但流程仍失败或产生偏差(如脚本/工具报错、遗漏关键步骤)。

✅ 执行流程(6 步)

  1. 识别:用一句话描述问题与触发类型。
  2. 归因:找出根因(流程缺失/类型误解/工具使用不当)。
  3. 抽象:提炼为可复用规则或流程。
  4. 落地
    • 若是通用规则 → 更新 .github/copilot-instructions.md(宪法/指南层)。
    • 若是可复用流程 → 创建或改进技能文件(.evolution-skills/.../SKILL.md)。
  5. 登记
    • .github/copilot-instructions.md 的"自定义技能库"表格中记录
    • AGENTS.md<project_skills> 部分添加技能定义(见下文)
  6. 验证:在后续工作中应用该改进,并确认问题不再复现。

🤖 自动进化要求(新增)

当触发 技能失效 时,必须执行以下补救动作(不可跳过):

  1. 定位失效点:指出是“技能步骤缺失”还是“执行路径与技能不一致”。
  2. 立即修正技能:在对应 SKILL.md 中补充缺失步骤或纠正规则。
  3. 补充范式:在技能中加入“失败样例 → 正确样例”对照。
  4. 标注注意事项:将导致失败的关键前置条件写入技能“常见问题/检查清单”。
  5. 自检记录:在本次响应中显式说明“已触发自动进化并完成修正”。

🧭 输出决策

  • 创建新技能:当规则需要独立沉淀、可长期复用。
  • 改进现有技能:当问题是既有技能的缺口或变体。
  • 更新指令:当规则应成为“宪法级/指南级”行为规范。

🧰 快速检查清单

  • 触发条件是否明确?(重复错误/用户反馈/复杂工作流)
  • 根因是否可复用?
  • 是否需要新技能?如果否,是否应更新指令?
  • 是否已在技能表中登记?
  • 是否完成后验验证?

💡 命名约定(建议)

  • 项目自定义技能统一加前缀 _,例如:_evolution-core
  • 前缀用于与 OpenSkills 官方技能区分。
  • 如需按领域分类,可使用 _evo-_proj- 等统一前缀策略。

📝 例子

场景:TypeScript mock 重复报错。

  • 触发:重复错误
  • 处理:创建 _typescript-type-safety 技能
  • 登记:加入自定义技能表格 + AGENTS.md
  • 验证:后续 mock 错误显著减少

场景 2:频繁在命令行中写长篇提交说明导致问题。

  • 触发:重复错误 + 用户反馈
  • 处理:创建 _git-commit 技能(参考 pr-creator 思路)
  • 登记:加入技能表格和 AGENTS.md(自定义技能部分)
  • 验证:后续提交都遵循规范,无命令行问题

🔍 进化机会识别指南

识别模式 A: 重复错误

当在同一个会话或连续的会话中遇到相同或相似的错误时:

code
会话 1: 错误 A 出现 → 修复
会话 2: 错误 A 再次出现(或变体) → 🚩 技能创建机会

行动:
1. 分析为什么会重复出现
2. 提取通用的预防措施
3. 创建技能文件
4. 更新 Copilot 指令中的快速检查清单

识别模式 B: 用户反馈

当用户指出某个行为不符合预期时:

code
用户反馈: "你应该先查看类型定义,而不是直接写 mock"
       ↓
理解: 发现了我的工作流程中的缺陷
       ↓
改进: 将用户的建议编码为技能和指令
       ↓
验证: 在后续工作中应用改进

行动清单:

  • 理解用户的具体指点
  • 分析为什么我的做法不够好
  • 思考是否这个问题有通用性
  • 如果通用,创建或改进技能
  • 更新 Copilot 指令
  • 在下次遇到时验证改进是否有效

识别模式 C: 复杂工作流

当发现某个类型的任务总是费时或容易出错时:

code
观察: 每次处理 React 组件时都会踩某些坑
      ↓
分析: 这些坑有共同的根本原因吗?
      ↓
如果是: 创建 React 组件相关的技能
如果否: 记录为常见坑位

🚀 技能创建决策树

code
遇到问题
  │
  ├─ 这个问题会重复出现吗?
  │  ├─ 否 → 记录为常见坑位
  │  └─ 是 → 继续
  │
  ├─ 问题的解决有通用的模式吗?
  │  ├─ 否 → 记录为项目特定的细节
  │  └─ 是 → 继续
  │
  ├─ 这个模式是否复杂到需要详细说明?
  │  ├─ 否 → 添加到 Copilot 指令的快速检查清单
  │  └─ 是 → 继续
  │
  └─ 创建新技能!
     ├─ 取一个清晰的名字
     ├─ 编写完整的 SKILL.md
     ├─ 添加到本指令文件的技能表格
     └─ 在相关工作中验证

🔧 技能维护指南

如何在 AGENTS.md 中注册新技能

当创建新的自定义技能后,需要在 AGENTS.md 中手动添加:

位置AGENTS.md<project_skills> 部分(在 <!-- PROJECT_SKILLS_START --><!-- PROJECT_SKILLS_END --> 之间)

格式

xml
<skill>
<name>_your-skill-name</name>
<description>技能的简要描述,说明用途、适用场景、核心能力</description>
<location>project</location>
<path>.evolution-skills/_your-skill-name/SKILL.md</path>
</skill>

要点

  • <name> 使用 _ 前缀(区分自定义技能)
  • <description> 简明扼要,突出核心价值
  • <location> 固定为 project
  • <path> 提供完整的相对路径

为什么手动维护

  • .evolution-skills/ 不由 OpenSkills 管理
  • openskills sync 只更新 <available_skills> 部分
  • <project_skills> 部分是项目特定的,不会被覆盖

📚 参考资料

本技能是 SilentFeed 项目 AI 进化系统的一部分,相关文档:

核心文档

  • .github/copilot-instructions.md - AI 系统进化宪法(根本法则)
  • .github/AI_EVOLUTION_SYSTEM.md - 进化系统完整说明(架构与机制)
  • .github/COPILOT_CONSTITUTION.md - 宪法框架的元文档(设计理念)

知识库

  • .github/type-error-patterns.md - TypeScript 错误模式库(沉淀的错误模式)
  • .github/ERROR_ANALYSIS_SESSION.md - 错误分析会话案例(历史记录)
  • .github/ARCHITECTURE_EVOLUTION.md - 架构演进说明(转变历程)

文档与技能的关系

  • 文档 = "为什么"和"是什么"(说明性、知识性)
  • 技能 = "怎么做"(执行性、操作性)
  • 技能引用文档,但不替代文档
  • 文档在 .github/,技能在 .evolution-skills/

📝 案例库

案例 1:TypeScript Mock 数据创建错误

场景:多次测试中遇到类型不匹配的 mock 数据。

  • 触发条件:重复错误(同类型错误在多个测试文件出现)
  • 根因分析:mock 工厂函数缺少类型严格性检查
  • 输出决策:创建新技能 _typescript-type-safety
  • 验证:后续 test 文件遵循技能规范,类型错误减少 80%

案例 2:Git 提交说明格式不规范

场景:用户反馈提交是使用 AI 技能生成的,但缺少技能签名。

  • 触发条件:用户反馈("你的提交工作并没有使用你创建的 AI 技能")
  • 根因分析:_git-commit 技能的签名行要求不够强制,缺少检查清单项
  • 改进内容:
    1. 升级签名要求从"建议"→ "❗ 关键步骤"
    2. 添加新的第 5 步"添加技能签名行"(强制)
    3. 快速检查清单新增项:❗ 是否在末尾添加了技能签名行?
  • 输出决策:强化现有技能 _git-commit(而非创建新技能)
  • 验证:后续提交都遵循签名规范,例如提交 fefa83c

案例 3:指令文件混合通用与项目特定内容

场景:copilot-instructions.md 文件混乱,难以区分哪些是通用框架、哪些是项目特定。

  • 触发条件:复杂工作流(文件达到 400+ 行,难以维护)
  • 根因分析:缺少明确的分层设计(战略层 vs 战术层 vs 执行层)
  • 改进内容:
    1. 重新组织为三部分:Part 1(通用)/ Part 2(项目特定)/ Part 3(技能系统)
    2. 添加清晰的部分分隔和说明
    3. 提取重复内容到技能文件
  • 输出决策:更新指令(宪法级,影响深远)
  • 验证:文件从 432→158→214 行,结构更清晰;相关技能也得到强化

🔄 改进建议

  • 目前技能路径固定为 .evolution-skills/,未来可考虑按领域分类
  • 当技能数量增多时,可在 AGENTS.md 中按类别分组
  • 考虑添加技能依赖关系声明(如某技能依赖另一技能)
  • 可创建"技能进化历史"文档,记录每个技能的版本演变