--- name: skill-rule-修改规范 description: 修改 Skill / Rule / Agent 文件的操作规范。当 AI 或用户需要新增、修改、删除 .cursor/skills/ 或 .cursor/rules/ 或 .cursor/agents/ 中的任何文件时触发。修改前必须遵循本规范,未经本规范允许不可直接改写 Skill/Rule/Agent。 --- # Skill / Rule / Agent 修改规范 > Skill、Rule、Agent 是 AI 行为的「操作系统」。修改它们比修改功能代码风险更高——一行错误的规则会影响所有未来任务的执行,而且问题难以溯源。 > > **修改 Skill/Rule/Agent 和修改生产代码一样,需要相同严格的流程。** > > **三型作用域**: > - `.cursor/skills/`:Skill 文件(步骤化流程,按场景触发) > - `.cursor/rules/`:Rule 文件(全局约束,alwaysApply 或条件触发) > - `.cursor/agents/`:Agent 文件(独立上下文执行单元,如 verifier / user-simulator) > > 三型文件均受本规范约束,无例外。判断应建哪型,参照 `Skill体系设计原则_v1.0.md §2.5 统一决策树`。 --- ## 知识导航表(执行前必须理解的概念根) > 本 Skill 的步骤设计基于以下文档的核心概念。若不理解这些概念,步骤无法正确执行。 | 层级 | 文档 | 需要理解的概念 | |---|---|---| | **D0 认知根(必读)** | `_内部总控/认知结构/L1_系统性文档/系统架构思维维度/Skill体系设计原则_v1.0.md` | §2.2 Rule本质(普遍约束<300词);§2.3 Skill本质(任务流程);§2.4 Agent本质(隔离执行);§2.5 三型统一决策树;§4 文档体系与知识层次 | | **D3 规范参考** | `_内部总控/认知结构/L1_系统性文档/系统架构思维维度/系统对象全量分类表_20260320.md` | 类型A(Rule)/ B(Skill)/ C(Agent)的完整定义与存放位置 | | **D4 运行时数据** | 目标 Skill/Rule/Agent 文件(执行时确定)| 待修改对象的当前版本和现有内容 | **核心概念速查**: ① ceremony(B) = 备份→三问→最小化修改→变更记录→更新索引 ② alwaysApply Rule = 每次对话注入,违反即错误(应≤4个,目前过多是已知技术债) ③ Skill趋薄化 = 知识迁移到 K-objects,Skill 只保留导航+触发+守门 --- ## Step 0:复杂度级别判断(所有操作的第一步) **在回答三问之前,先判断本次操作属于哪个级别**: ``` Level 1 补丁型:修改已有组件的局部内容(一个步骤/注意事项/触发词措辞) → 走本规范的「三问 + 备份 + 修改 + 变更记录 + 索引」流程 → 不需要 skill-designer 引导,直接执行 Level 2 新增型:新建独立 Skill/Agent/Rule,与现有系统无显著交互 → 先走 skill-designer 的 Step 1-5(含关卡A + 关卡C) → 完成后回到本规范 Step 4-6(备份 + 写入 + 变更记录 + 索引) Level 3 集成型:新建组件,与多个现有组件有触发词重叠或调用关系 → 先走 skill-designer 的 Step 1-7(含关卡A + 关卡B + 关卡C) → 完成后回到本规范 Step 4-6 Level 4 系统型:重构多个现有组件的交互关系 → 先走 skill-designer 完整八步 → 需要在 Step 3(产品定义)完成后,暂停等待用户二次确认规模 ``` **Level 判断有疑问时**:加载 `skill-designer` Skill,由它引导判断。 --- ## ⚠️ 修改前必须回答的三个问题(Level 1 及所有级别通用) 在动笔之前,必须能清楚回答以下三问。答不出来,不允许开始修改。 ``` 1. 这次修改的根因是什么? → 是 AI 执行中发现了真实的执行漏洞? → 还是用户/AI 凭感觉觉得"应该加点什么"? → 根因必须来自真实事件(某次任务执行的具体问题),不能是假设 2. 修改后,会影响哪些已有的执行路径? → 哪些任务会因为这个改动而改变行为? → 有没有可能让之前正常工作的流程变得不正常? 3. 怎么验证改完之后规则确实生效且没有副作用? → 能不能构造一个具体的场景来验证新规则? → 用什么方法检查没有破坏已有约束? ``` --- ## 激活后立即执行 ``` Step 1 Read: 被修改的 Skill/Rule 文件(了解现状) Step 1.5 Read: _内部总控/认知结构/L1_系统性文档/系统架构思维维度/Skill体系设计原则_v1.0.md → 重点阅读:§4.3.5「认知根原则」,确认本次修改有认知根支撑 → 带着以下问题进入 Step 2:「本次修改是否与该 Skill 的认知根一致? 是否会让这个 Skill 更难追溯到认知结构?」 Step 2 Read: 相关联的 Skill/Rule(检查是否有冲突风险) → 如果改测试工程师 Skill,要读 role-menu.mdc → 如果改 role-menu.mdc,要读所有被引用的 Skill Step 3 回答「修改前三问」,写在修改记录里 Step 4 执行修改(见操作规范) Step 5 执行闭环验证(见验证规范) Step 6 写修改记录(见留痕规范) ``` --- ## 修改操作规范 ### 1. 最小化原则 **只改需要改的,不顺手改其他**。 ``` ✅ 允许:针对具体问题修改对应章节 ✅ 允许:新增一个新章节/新条目 ✅ 允许:删除一个被验证无效或有害的规则 ❌ 禁止:「顺手」重新整理整个文件的格式 ❌ 禁止:一次修改超过 3 个独立的规则点(拆分成多次修改) ❌ 禁止:在没有根因的情况下「完善」措辞 ``` **为什么**:每次改动范围越小,出问题时越容易定位根因。 ### 2. 版本留痕 **修改任何 Skill/Rule 之前,必须先留痕**。 ``` 操作(Skill): Copy-Item .cursor/skills/[skill-name]/SKILL.md → .cursor/skills/[skill-name]/history/SKILL_v旧版_YYYYMMDD.md 操作(Rule): Copy-Item .cursor/rules/[rule-name].mdc → .cursor/rules/history/[rule-name]_YYYYMMDD.mdc 操作(Agent 子智能体): 新建 agent → 无需备份(文件不存在) 修改 agent → Copy-Item .cursor/agents/[agent-name].md → .cursor/agents/history/[agent-name]_YYYYMMDD.md ``` 没有先留痕就修改 = 无法回滚 = 不允许操作。 **Agent 子智能体的特殊规则**: - `.cursor/agents/` 目录下的 `.md` 文件与 Skill/Rule 同等重要,修改时遵循相同流程 - 新建 agent 无需备份,但需要在 SKILL-INDEX.md 的「子智能体清单」中注册 - 废弃 agent 时:将文件移入 `.cursor/agents/history/deprecated/` 目录,并更新索引 ### 3. 规则冲突检查 **新规则不能与现有规则产生矛盾**。 ``` 检查清单: □ 新规则是否与 role-menu.mdc 中的强制规则冲突? □ 新规则是否与同一个 Skill 内的其他规则矛盾? □ 新规则是否假设了其他 Skill 的某个行为,而那个 Skill 没有保证这个行为? □ **能力独立性检查(2026-03-20 新增)**: - 本次修改是否在流程层/角色层 Skill 里新增了 API 调用、外部工具调用? 如果是 → 先查 SKILL-INDEX 能力层分类,确认是否已有对应能力层 Skill。 有 → 引用,不嵌入 无 → 先建能力层 Skill,再引用 - 本次修改是否引入了 API Key / 模型名 / Endpoint URL? 如果是 → 必须引用 `_内部总控/凭证/` 配置文件,不得硬编码 □ 如果两个规则都适用,AI 应该遵守哪个?(模糊 = Bug) ``` 有冲突 → 先解决冲突,再写新规则;不能「新旧并存」。 ### 4. Rule-Skill 配套完整性检查(新增,2026-03-20) **当新建一个 `alwaysApply: true` Rule 时,必须强制回答以下问题**: ``` □ 这条 Rule 是否包含「AI 应该怎么做」的知识内容(不只是「不能做什么」)? → YES:必须同时创建或指向配套 Skill,将正向知识内容放入 Skill → NO(纯禁止清单):只创建 Rule 即可 □ 是否已存在覆盖此领域的 Skill? → 已存在:在 Rule 的 Step 2 中引用该 Skill → 不存在:必须新建 Skill(Level 2 流程),不允许把知识内容堆在 Rule 里 ``` **根因**:Rule = 约束层(防违规),Skill = 知识层(怎么做对)。 把知识内容放进 Rule 会导致: - AI 无法主动查阅(Rule 不是主动调用的对象) - 内容冗余分散,更新时需要同步两处 - 用户无法通过 role-menu 路由找到此领域知识 **典型场景**(触发本检查): - 新建「前端品牌规范」Rule → 必须配套「frontend-brand」Skill(正反已验证) - 新建「后端 API 规范」Rule → 必须配套「backend-api-conventions」Skill - 新建「代码提交规范」Rule → 纯约束(禁止/强制格式),可不建 Skill **允许例外**(不需要配套 Skill 的 Rule): - 纯元认知约束:如 `knowledge-integrity-rules`(R1-R15 认知护栏) - 纯流程钩子:如 `auto-experience-hook`(结束时执行固定动作) - 纯安全防护:如 `multi-project-file-guard`(防路径混淆) --- ## 闭环验证规范(修改后必须执行) 修改 Skill/Rule 后,不能只靠「读起来对」来判断是否有效。必须构造验证场景。 ### ⚠️ 认知体系相关 Skill:强制使用 SANDBOX-FORMAT 正式两阶段沙盘 **触发条件**:修改的 Skill 满足以下任一条件: - Skill 名称以 `cognitive-` 开头 - Skill 的执行步骤中读取或写入 `_内部总控/认知结构/` 目录下的文件 - Skill 是「数字大脑」体系的核心组成部分(如 cognitive-ask / cognitive-update-knowledge 等) **强制要求**: 1. **修改前**:必须先创建「当前行为」的正式沙盘(`sandboxes/认知结构/` 或 `sandboxes/Skill体系/`),记录现有行为的 Phase 1 预想 + Phase 2 实际 2. **修改后**:必须更新或新建「修复后行为」的沙盘,重新执行 Phase 2 验证,确认 Gap 已消除 3. 沙盘必须按 `_内部总控/skill-system-design/SANDBOX-FORMAT.md` 标准格式 4. **不允许跳过**:没有正式沙盘就修改认知体系 Skill = 规范违规,修改无效,必须补做沙盘并验证 **沙盘精度要求**(认知体系适用「最精确、最复杂」标准): - Phase 1 中,预想行为必须基于文档中已明确描述的能力,不允许「理想化」 - Phase 2 中,验证必须覆盖「全局性问题」和「聚焦性问题」两种输入类型 - Gap 描述必须有具体文件路径 + 步骤引用,不允许模糊归因 --- ### 验证方法 A:正向验证(新规则是否生效) 构造一个**如果没有这个规则 AI 会犯错**的场景,验证加了规则后 AI 确实行为不同。 ``` 示例(验证关卡C 的「AI 自测视角切换」规则): 场景:AI 刚写完一段代码 预期:AI 应该明确宣告「切换为测试工程师视角」再测试 验证:在对话里触发这个场景,检查 AI 是否按新规则行动 ``` ### 验证方法 B:负向验证(没有破坏已有约束) 选 1-2 个依赖被修改 Skill 的常见任务,验证它们仍然正常工作。 ``` 示例(验证测试工程师 Skill 修改后): 场景:触发一次正常的关卡C 预期:关卡C 的已有行为(Bug 报告格式、产品偏差分类)不变 验证:走一遍关卡C,确认原有行为没有被破坏 ``` ### 验证方法 C:冲突验证(规则之间没有矛盾) 人工读一遍同一 Skill 内所有规则,检查有没有「两条规则都适用但指向不同行为」的情况。 --- ## 留痕规范(修改记录) 每次修改完成后,**必须执行以下两步**,缺一不可: ### Step A:在 Skill 文件底部追加变更记录 每次修改完成后,在对应 Skill 文件底部追加一条变更记录。 **格式**: ```markdown --- ## 变更记录 ### YYYY-MM-DD HH:MM — [变更标题] **根因**:[一句话描述触发本次修改的真实事件] **修改内容**: - 新增:[章节/条目名] → [一句话描述内容] - 修改:[章节/条目名] → [从什么改成了什么] - 删除:[章节/条目名] → [为什么删除] **验证结果**: - 正向验证:[场景] → [结果:通过/未通过] - 负向验证:[场景] → [结果:通过/未通过] **已知风险**:[如有,描述可能的副作用及观察方式] ``` ### Step B:同步更新 Skill 总索引 修改任何 Skill 后,**必须同步更新** `.cursor/skills/skill-index/SKILL-INDEX.md`: ``` 操作清单: □ 找到对应 Skill 在索引中的行 □ 更新版本号(规则见下方) □ 更新「最近更新」日期为今日 □ 如果本次修复了已知问题,状态改为 ✅ 已验证 □ 在索引底部「变更记录」追加一行:[日期] | [Skill目录名] | v旧→v新 | [修改一句话摘要] ``` **版本号规则**: - 核心逻辑/步骤顺序变动 → 版本号第二位 +1(v1.0 → v1.1) - 注意事项/触发词/文字修正 → 版本号第三位 +0.1(v1.0 → v1.0.1) --- ## 什么情况下允许跳过部分步骤 只有一种情况:**紧急修复一个正在造成系统性错误的规则**。 ``` 允许跳过:版本留痕(可事后补)、闭环验证(可事后补) 不允许跳过:修改前三问(必须回答)、留痕记录(必须写) ``` --- ## 与其他 Skill 的关系 本 Skill 是所有其他 Skill 修改的**前置条件**,优先级高于被修改的 Skill 本身。 即:即使某个 Skill 本身说「可以随时更新」,修改它之前也必须先过本 Skill 的流程。 --- ## 变更记录 ### 2026-03-19 00:59 — 初始创建 **根因**:在修改测试工程师 Skill 时,发现没有任何规范约束「如何修改 Skill」本身。这导致本次修改是在没有留痕、没有验证的情况下进行的——恰好违反了本 Skill 要建立的原则。 **修改内容**: - 新增:本 Skill 全部内容(首次创建) **验证结果**: - 本次为初始创建,验证将在第一次实际使用时执行 **已知风险**:`history/` 目录需要手动创建,首次使用时需要先建目录 --- ### 2026-03-19 — v1.0 → v1.1 — 加入索引联动规则 **根因**:建立了 Skill 总索引(SKILL-INDEX.md)和 skill-capture-closure Skill 后,修改规范需要强制要求「每次修改 Skill 必须同步更新索引」,否则索引与实际状态会产生漂移。 **修改内容**: - 修改:「留痕规范」章节 → 从「追加变更记录」单步,改为「Step A:追加变更记录 + Step B:同步更新索引」两步强制操作 - 新增:版本号规则说明(第二位/第三位的使用场景) **验证结果**: - 本次修改即遵循了新规范(已备份 history/SKILL_v1.0_20260319.md,并将同步更新索引) **已知风险**:Step B 的执行依赖 SKILL-INDEX.md 存在。若索引文件被移动,需同步修改本规范中的路径引用 --- ### 2026-03-19 — v1.2 → v1.3 — 加入复杂度分级判断(Step 0) **根因**:产品框架 Human-Readable + Agent-Operable 原则适用于 Skill 开发,Skill 有两类用户(人类设计者 + AI执行者)。建立 skill-designer Skill 后,修改规范需要在三问之前增加「复杂度级别判断」步骤——Level 1 走原有流程,Level 2+ 先经过 skill-designer 的双视角设计验证流程。 **修改内容**: - 新增:「Step 0:复杂度级别判断」章节,置于「修改前三问」之前,包含 L1-L4 的分级标准和对应流程路由 **验证结果**: - 正向验证:新建 Level 2 Skill 时,AI 应先触发 skill-designer 而不是直接开始编写(待真实场景验证) - 负向验证:Level 1 补丁型修改(如给 Skill 加注意事项)仍走原有三问流程,不强制走 skill-designer **验证状态**:🔵 待验证 --- ### 2026-03-19 — v1.1 → v1.2 — 扩展规范覆盖 .cursor/agents/ 目录 **根因**:本次批量新建了 6 个子智能体文件(`.cursor/agents/*.md`),原规范只覆盖 `.cursor/skills/` 和 `.cursor/rules/`,agents 目录处于规范空白区。需要明确 agent 文件的留痕要求(新建无需备份、修改需备份、废弃需归档)。 **修改内容**: - 修改:「版本留痕」章节 → 新增「操作(Agent 子智能体)」分支,说明新建/修改/废弃三种情况的处理方式 **验证结果**: - 正向验证:修改任何 agent 文件时,AI 应先备份到 history/ 目录(待真实场景验证) - 负向验证:Skill 和 Rule 的留痕流程不变 **已知风险**:`.cursor/agents/history/deprecated/` 目录需首次使用时手动创建 --- ### 2026-03-19 — v1.3 → v1.4 — 认知体系相关 Skill 强制 SANDBOX-FORMAT 正式沙盘 **根因**:修改 cognitive-ask Skill 时,只做了非正式验证场景描述,未运行 SANDBOX-FORMAT 两阶段沙盘。用户指出:所有涉及认知体系的 Skill 修改,必须做「最精确、最复杂」的正式沙盘。规范中「闭环验证」一节只要求非正式验证,是结构性漏洞。 **修改内容**: - 新增:「⚠️ 认知体系相关 Skill:强制使用 SANDBOX-FORMAT 正式两阶段沙盘」章节,位于「闭环验证规范」开头 - 明确触发条件:cognitive-* Skill / 读写 认知结构/ 目录 / 数字大脑核心组成部分 - 明确强制要求:修改前沙盘(记录现有行为)+ 修改后沙盘(验证 Gap 消除) - 明确精度要求:不允许理想化 Phase 1 / 覆盖全局+聚焦两类输入 / Gap 必须有具体证据 **验证结果**: - 正向验证:下次修改 cognitive-ask 时,必须先建沙盘,不能直接修改文件 - 负向验证:非认知体系的 Skill 修改(如 role-DevOps)不触发此要求,走原有验证流程 --- ### v1.6 — 2026-03-22 — Step 1.5 新增读取 Skill体系设计原则_v1.0.md **根因**:Skill体系设计原则_v1.0.md §4.3.5(认知根原则)要求所有 Skill 修改需确认与认知根一致,但 skill-rule-修改规范 在执行时从未读取该 L1 文档(CS-016 沙盘确认)。 **修改内容**: - 新增:Step 1.5 Read Skill体系设计原则_v1.0.md,带「本次修改是否与认知根一致」问题进入三问环节 **备份路径**:`history/SKILL_v1.5_20260322.md` --- ### v1.6 → v1.7 — 2026-03-22 — 作用域扩展至 Agent 文件(Fix 3) **根因**:description 和文件标题只声明覆盖 `.cursor/skills/` 和 `.cursor/rules/`,Agent 文件(`.cursor/agents/`)未显式纳入。修改 verifier.md/user-simulator.md 等 Agent 时可能不触发本规范,与「认知根原则」和「三型均需规范修改流程」的意图不符。 **修改内容**: - 修改:frontmatter description → 显式加入 `.cursor/agents/`,「Skill 或 Rule 文件」→「Skill / Rule / Agent 文件」 - 修改:文档标题 → `# Skill / Rule / Agent 修改规范` - 新增:正文「三型作用域」说明(三个目录 + 参考 §2.5 决策树) **备份路径**:`history/SKILL_v1.6_20260322_before_agent-scope.md` **验证状态**:🔵 待验证(修改 .cursor/agents/ 中任一文件时,此规范应被触发) --- ### 2026-03-20 — v1.4 → v1.5 — 新增「Rule-Skill 配套完整性检查」(结构性漏洞修复) **根因**:2026-03-20 真实事件——创建 `frontend-brand-guard.mdc` Rule 时,AI 只生成了约束层(Rule),没有自主判断需要同步创建知识层(Skill)。用户不得不主动指出:「应该把所有可复用的内容写到 Skill 里」。根本原因:`skill-rule-修改规范` 的「修改操作规范」章节只有「最小化原则/版本留痕/规则冲突检查」三条,没有要求检查「新 Rule 是否需要配套 Skill」。 **修改内容**: - 新增:`修改操作规范` 第 4 条「Rule-Skill 配套完整性检查」 - 内容:当新建 `alwaysApply: true` Rule 时,强制判断是否包含正向知识内容 → 有则必须同时创建或引用配套 Skill - 列出:典型需要配套 Skill 的场景 / 允许不配套的例外场景(纯元认知约束/流程钩子/安全防护) **验证结果**: - 正向验证:下次新建领域规范 Rule(如「后端 API 规范」)时,AI 应主动检查是否需要同步建 Skill(待真实场景验证) - 负向验证:新建 `knowledge-integrity-rules` 类纯元认知 Rule 时,不强制要求 Skill(例外条款覆盖) - 冲突验证:本条与「规则冲突检查(第3条)」不冲突,前者检查 Rule 内容,本条检查 Rule 完整性 **已知风险**:「是否包含正向知识内容」的判断仍依赖 AI 的理解,边界模糊时默认建 Skill(成本低,有益无害) **验证状态**:🔵 待验证(下次新建 alwaysApply Rule 时观察) --- ### v1.7.1 — 2026-03-23 — 新增知识导航表(D0/D3/D4 + 核心概念速查) **根因**:Skill 只有机械步骤,没有指向背景概念文档。AI 执行时不理解 Rule/Skill/Agent 三型本质及设计原则来源(连接缺口)。 **修改内容**: - 新增:「知识导航表」章节(D0 → Skill体系设计原则_v1.0.md §2.2/2.3/2.4/2.5;D3 → 系统对象全量分类表;D4 → 目标文件;核心概念速查 3 条) **验证状态**:🔵 待验证 **备份路径**:`history/SKILL_v1.6_20260323_before_nav.md`