| name | skill-chain-executor |
| description | Execute skill chain plans generated by skill-chain-planner (v2.0). Reads the chain plan directory, parses the two-layer execution model, reliability design, degradation matrix, and execution state machine, then recursively calls `skill-for-skills` to generate each sub-skill. Orchestrates creation order by priority and dependency, with state-machine tracking, budget guard, degradation handling, and reliability conformance validation. Triggered by: "执行skill链", "创建skill链", "执行链规划", "批量创建skill", "chain executor", "执行规划", "递归生成skill", "按照规划创建", "deploy chain", "execute plan", "create chain skills", "可靠性验证", "降级处理", "状态机续接", "预算守卫". |
| version | 2.0.0 |
| metadata | {"tags":"chain, orchestration, skill-creation, pipeline, executor","output_template":"templates/data-exchange-format.md"} |
| allowed-tools | Read Glob Skill |
Skill Chain Executor
Purpose
读取 skill-chain-planner 输出的 Skill 链规划目录,解析链架构和子 Skill 规格,然后递归调用 skill-for-skills 为每个需要新建的子 Skill 生成 SKILL.md 和 README.md。本 Skill 不自已生成任何 Skill 文件——它只负责编排和委托。
v2.0 能力:解析两层执行模型、可靠性设计、降级矩阵、执行状态机;创建过程维护状态机(会话内可续接,崩溃需重跑)、预算守卫、降级处理,并对生成的 Skill 做可靠性一致性验证。向后兼容 v1.x 规划(新文件/字段缺失时降级标注)。
When to Use
- 用户持有
skill-chain-planner 生成的规划目录,希望一键执行整个链的创建
- 用户需要按依赖顺序批量创建多个子 Skill
- 用户希望在创建 Skill 的同时验证已有 Skill 是否可用
- 用户需要清晰了解链中哪些 Skill 已就绪、哪些仍需创建
- 用户完成了一个复杂任务的分解规划后,需要进入实施阶段
When NOT to Use
- 用户只需要创建一个简单的单 Skill —— 应直接使用
skill-for-skills
- 用户还没有
skill-chain-planner 输出的规划目录 —— 应先使用 skill-chain-planner 进行任务分解
- 用户想升级或修改已有 Skill —— 应直接使用
skill-for-skills 的升级功能
- 用户询问 Skill 概念或规范本身 —— 应引导阅读
skill-for-skills/sum.md
Workflow / Steps
Step 1: 定位并读取链规划目录
输入格式规范: Planner 输出的规划目录必须遵循 templates/data-exchange-format.md 中定义的数据交换格式。本节为内联速览,完整目录结构、文件格式和字段定义以模板文件为准。
读取用户指定的 skill-chain-planner 输出目录(以下称为 $PLAN_DIR),确认目录结构完整。
预期目录结构:
$PLAN_DIR/
├── chain-overview.md # [必需] 链架构总览
├── risk-register.md # [可选] 风险登记表
├── skills/ # [必需] 子 Skill 创建规格
│ ├── skill-P0-<name>.md # P0 优先级的 Skill
│ ├── skill-P1-<name>.md # P1 优先级的 Skill
│ └── ...
├── reliability-design.md # [可选] v2.0 可靠性三支柱+预算估算
├── degradation-matrix.md # [可选] v2.0 分层降级矩阵
├── execution-state-machine.md # [可选] v2.0 执行状态机+崩溃恢复
├── usage-guide.md # [可选] 使用指南
└── implementation-roadmap.md # [可选] 实施路线图
- 如果
$PLAN_DIR 不存在或缺少 chain-overview.md、skills/ 目录,输出错误信息并终止
- 如果目录结构完整,记录
$PLAN_DIR 路径,进入 Step 2
Step 2: 解析链架构
chain-overview.md 的完整格式定义见 templates/data-exchange-format.md Section 三。Executor 按列名定位字段(不依赖列顺序),必需列: Skill/优先级/上游依赖/状态。
使用 Read 工具读取 $PLAN_DIR/chain-overview.md,提取以下关键信息:
- 依赖关系矩阵 — 解析表格,提取每个 Skill 的:名称、类型、优先级、上游依赖、下游影响、状态(需新建 / 已有 / 需升级)
- 执行顺序图 — 理解 Skill 之间的执行流向
- 数据流转表 — 理解各 Skill 之间的输入输出关系
- 质量属性 — 幂等性、可观测性、恢复策略
- 执行模型分层(v2.0) - execution_model / llm_skill_count / budget_estimate_usd / trace_id_strategy(缺失用默认值:single-layer / 0 / ∞ / 不传播)
- v2.0 可选文件 - 若存在
reliability-design.md / degradation-matrix.md / execution-state-machine.md,读取并记录供后续步骤使用;缺失则标注降级(向后兼容 v1.x 规划)
解析规则:
- 状态为"需新建"的 Skill → 标记为
ACTION_CREATE
- 状态为"已有"的 Skill → 标记为
ACTION_VERIFY
- 状态为"需升级"的 Skill → 标记为
ACTION_UPGRADE
- 如果状态信息缺失,通过
ls <skill-name>/SKILL.md 2>/dev/null 判断:目录存在且含 SKILL.md 则为已有,否则为需新建
Step 3: 按优先级排序创建顺序
根据依赖关系矩阵和优先级,生成执行顺序:
排序规则:
- 先处理 P0,再处理 P1,最后处理 P2
- 在同一优先级内,按依赖关系排序:无上游依赖的排前面
- 在同一优先级内且无依赖关系时,按
chain-overview.md 的执行顺序图中的 Step 编号排序
输出执行计划:
## 执行计划
### 需创建(按顺序):
1. [P0] skill-a — 无依赖
2. [P0] skill-b — 依赖 skill-a
3. [P1] skill-c — 依赖 skill-b
### 需验证:
- skill-d(已有)
- skill-e(已有)
### 需升级:
- skill-f(需升级)
向用户输出执行计划并请求确认,确认后进入 Step 3.5 构建创建状态机与预算计划,再进入 Step 4。
Step 3.5: 构建创建状态机与预算计划(v2.0)
若规划含 execution-state-machine.md 与 reliability-design.md,据此构建创建期的状态机与预算;否则用默认值(向后兼容 v1.x)。
创建状态机(映射运行时状态机到创建期):
- 状态集合:
idle → creating → paused_confirm → done | error | interrupted
- 每个 Skill 创建后更新状态;
paused_confirm = 创建失败等待用户选择(重试/跳过/终止)
- 持久化:创建进度(已创建/已跳过/失败的 Skill 列表)仅存于会话内存草稿(无持久化层)。会话内中断(用户暂停/换轮)可从已完成 Skill 续接;若会话或进程崩溃则进度丢失,需重跑——幂等保护:已成功创建的 Skill 会被 Step 4 识别为已有,不会重复生成
预算计划:
- 创建预算 = 独立的
MAX_SKILL_FOR_SKILLS_CALLS(默认 30)。不复用 reliability-design.md 的运行时 LLM $ 预算——创建成本是 skill-for-skills 调用次数,与运行时 token 费用单位不同;运行时预算仅作参考上限提示
- 预算计量:每次
skill-for-skills 调用计入一次;累计调用超 MAX_SKILL_FOR_SKILLS_CALLS → 中断 + 保留已创建 Skill(对应 budget_exceeded)
- 降级预案:从
degradation-matrix.md 加载每个 Skill 的运行时降级默认输出,供 Step 5.4a 创建失败时参考(创建降级 = 跳过该 Skill 并标注其运行时降级默认行为,供用户后续手动补建)
输出:创建状态机初始状态(idle)+ 预算上限 + 降级预案表(Skill → 降级默认输出)。
Step 4: 验证已有 Skill
对标记为 ACTION_VERIFY 的已有 Skill,逐一验证:
- 检查
./<skill-name>/SKILL.md 是否存在(使用 Glob 或 Read)
- 检查
./<skill-name>/README.md 是否存在
- 如果已有但有缺失(如缺少 README.md),记录警告但不中断流程
- 如果指定的已有 Skill 完全不存在,输出警告并询问用户:是否将其转为新建?
验证报告格式:
✅ skill-d — 已就绪(SKILL.md ✓, README.md ✓)
⚠️ skill-e — 部分缺失(SKILL.md ✓, README.md ✗ — 不影响核心功能)
❌ skill-f — 不存在(将转为新建)
Step 5: 递归调用 skill-for-skills 创建子 Skill
对标记为 ACTION_CREATE 的子 Skill,按 Step 3 确定的顺序逐一执行:
对每个子 Skill 执行以下子步骤:
5.1 读取并预验证规格文件
子 Skill 规格文件格式见 templates/data-exchange-format.md Section 四(四层规格模板:身份层→接口层→实现层→可靠性与运行时层)。
读取 $PLAN_DIR/skills/skill-P{优先级}-{name}.md,获取该子 Skill 的完整创建规格。读取后执行轻量预验证——不解析完整语义,仅检查格式骨架:
| 检查项 | 不通过标志 | 处理 |
|---|
| YAML frontmatter 存在 | 文件不以 --- 开头 | ❌ 标记为 SPEC_ERROR,报告 "规格文件缺少 frontmatter" |
skill_name 字段存在 | 无此字段或值为空 | ❌ 标记为 SPEC_ERROR,报告 "规格文件未声明 skill_name" |
priority 字段存在 | 无此字段 | ⚠️ 从文件名推断(skill-P0-* → P0)并补充 |
| 身份层/接口层/实现层/可靠性与运行时层标题存在 | 缺少任一层标题 | ⚠️ 继续执行但记录警告(可靠性与运行时层:llm 角色必查,pure_python 可省略) |
原则: 预验证只拦截 skill-for-skills 无法自行处理的致命格式缺陷。语义完整性由 skill-for-skills 内部判断。
5.2 调用 skill-for-skills(显式工具调用)
构造调用参数后,使用 run_skill 工具显式调用 skill-for-skills。这不是伪代码——是 Executor 对 skill-for-skills 的实际工具调用:
run_skill({name: "skill-for-skills", arguments: "<构造的完整参数>"})
参数构造规则:
规格文件的完整原始内容必须保留。为了帮助 skill-for-skills 正确识别四层规格格式,在原始内容前附加格式提示头:
arguments = "请根据以下 skill-chain-planner 生成的四层规格(身份层→接口层→实现层→可靠性与运行时层)创建 Skill。规格中的 core_function 作为 description,triggers 作为触发关键词,suggested_workflow 作为 Workflow 步骤,suggested_tools 作为 allowed-tools。可靠性与运行时层的 llm_role 决定是否调 LLM;缓存策略/工具调用修复/预算估算/容量上限/安全控制/trace_id 携带 须体现进 SKILL.md 的 Constraints 与错误契约(llm 角色须含 schema 校验+重试≤3+降级默认;容量上限与安全控制写入 Constraints/Never;trace_id 携带写入输出契约);llm_role=pure_python 时省略缓存策略/工具调用修复/预算估算。完整的 frontmatter 规范和体量控制遵循 sum.md。\n\n--- 以下是四层规格文件 ---\n\n" + <规格文件完整原始内容>
调用规则:
<规格文件完整原始内容> 不做任何修改、截断或重新格式化——完整保留 YAML frontmatter + Markdown 正文
- 格式提示头仅提供上下文,不修改规格数据本身
- 如果预验证阶段标记了警告(如缺少某层标题),在提示头末尾追加提示
run_skill 是阻塞调用——调用后自动等待 skill-for-skills 完成执行并返回结果
5.2a 处理 skill-for-skills 返回结果
run_skill 返回后(skill-for-skills 已执行完毕),从其输出中提取:
| 提取项 | 来源 | 用途 |
|---|
| 成功/失败 | skill-for-skills 的 Step 10 报告 | 判断是否进入 5.3 验证还是 5.4 失败处理 |
| 生成的 Skill 名称 | 报告中的 "名称" 字段 | 与 skill_name 对比,不一致则标记警告 |
| 输出路径 | 报告中的 "路径" 字段 | 确认路径在项目根目录下 |
| SKILL.md 路径 | 报告中的目录结构 | 用于 5.3 L1 文件存在性检查 |
关键: run_skill 返回的是 skill-for-skills 的完整执行结果(包括其 Step 10 报告)。Executor 不需要额外调用 Read 来获取结果——直接从返回值中提取上述信息。
5.3 验证生成结果与规格一致性
创建完成后,分两层验证:
L1 — 文件存在性检查(快速):
./<skill-name>/SKILL.md 是否存在
./<skill-name>/README.md 是否存在
L2 — 规格符合性抽查(抽样,检查关键字段):
使用 Read 读取生成的 SKILL.md frontmatter,对照规格文件抽查:
| 抽查项 | 规格来源 | 检查方法 |
|---|
name | 规格的 skill_name | 是否与规格一致 |
| 触发词 | 规格身份层的 triggers | 至少 2 个触发词出现在 description 中 |
allowed-tools | 规格实现层的 suggested_tools | 工具列表是否包含规格建议的核心工具 |
L2 抽查不通过不中断流程——标记为 VALIDATION_WARNING 并在最终报告中列出,供用户手动检查。
5.4 分级处理失败
根据失败阶段采用不同策略:
| 失败类型 | 发生在 | 典型原因 | 处理策略 |
|---|
SPEC_ERROR | 5.1 预验证 | 规格文件缺少必需字段 | 暂停,报告具体缺失字段 → 建议回到 Planner 修正规格 → 询问: 重试/跳过/终止 |
GENERATION_ERROR | 5.2 skill-for-skills | skill-for-skills 内部异常 | 暂停,报告原始错误信息 → 可能是临时故障,建议直接重试 → 询问: 重试(最多3次)/跳过/终止 |
OUTPUT_MISSING | 5.3 L1 检查 | SKILL.md/README.md 未生成 | 暂停,检查 skill-for-skills 输出日志 → 询问: 重试/跳过/终止 |
VALIDATION_WARNING | 5.3 L2 抽查 | 输出与规格有差异 | 不暂停,记录到最终报告 → 不影响后续 Skill 创建 |
暂停处理模板:
❌ [{失败类型}] {skill-name} 创建失败
失败阶段:{5.1/5.2/5.3}
原因:{具体原因}
建议:{操作建议}
请选择:
[1] 修复后重试
[2] 跳过,继续处理后续 Skill
[3] 终止执行
5.4a 降级与预算处理(v2.0)
创建失败时,在询问用户前先查询降级预案(Step 3.5 从 degradation-matrix.md 加载):
- 若该 Skill 有降级默认输出且失败类型为
GENERATION_ERROR / OUTPUT_MISSING → 在暂停选项中追加 [4] 应用降级默认(标注降级,继续下游)
- 降级默认输出仅在用户选择时记录(Executor 不自生成 SKILL.md;降级 = 跳过该 Skill 并在报告中标注其降级默认行为,供用户后续手动补建)
- 若无
degradation-matrix.md → 跳过降级选项,仅保留 [1]/[2]/[3]
- 若该 Skill 在矩阵中有多个失败场景,取其主降级默认(最严重场景)作为创建期降级参考
预算守卫:每次 skill-for-skills 调用后累计计数;若超过 Step 3.5 的创建预算上限 → 中断创建,状态 → error,保留已创建 Skill,报告中标注 budget_exceeded,未处理的 Skill 在创建结果表中标记为「未创建(预算超限)」。
状态机更新:每个 Skill 创建成功 → 状态保持 creating 并记录已完成;失败暂停 → paused_confirm;用户终止 → error;全部完成 → done。
5.5 循环继续
当前 Skill 创建成功后,进入下一个 Skill 的创建(回到 5.1),直到所有 ACTION_CREATE 的 Skill 处理完毕。
5.6 可靠性一致性验证(v2.0)
若规划含 reliability-design.md,对每个已创建/升级的 LLM 驱动 Skill(llm_role=llm)验证其 SKILL.md 是否编码了可靠性规格;否则跳过本步(向后兼容 v1.x)。本步在 Step 5 创建循环后执行首轮;Step 6 升级的 LLM Skill 在升级完成后追加执行同一抽查。
对每个 llm_role=llm 的已创建/升级 Skill,使用 Read 读取其 SKILL.md,对照 reliability-design.md 抽查:
| 抽查项 | 规格来源 | 检查方法 |
|---|
| 缓存前缀 | 该 Skill 的稳定前缀 | SKILL.md 的 Purpose/Workflow/Constraints 是否作为稳定 system 指令(不依赖运行时 args) |
| 工具调用修复 | 该 Skill 的修复链 | SKILL.md 的错误契约/Constraints 是否体现 schema 校验 + 重试≤3 + 降级默认 |
| 预算/容量 | 该 Skill 的预算估算/容量上限 | SKILL.md 是否标注容量上限与超限行为 |
| trace_id | 该 Skill 的 trace_id 携带(规格可靠性层) | SKILL.md 输出/错误契约是否声明携带 trace_id + 步骤名 + 输入来源 |
抽查不通过不中断流程,标记为 RELIABILITY_WARNING 并在最终报告中列出,供用户手动检查。llm_role=pure_python 的 Skill 跳过本验证。
Step 6: 处理需升级的 Skill(如有)
升级规格文件遵循与创建规格相同的 templates/data-exchange-format.md Section 四 格式。状态: 需升级 的 Skill 在身份层中应注明变更范围。
对标记为 ACTION_UPGRADE 的 Skill:
- 读取
$PLAN_DIR/skills/ 中对应的升级规格
- 执行 5.1 预验证(同上)
- 使用
run_skill 工具调用 skill-for-skills,参数构造同 5.2(保留 core_function/triggers/suggested_workflow/suggested_tools 与可靠性与运行时层编码指令),仅把提示头"创建"改为"升级":
run_skill({name: "skill-for-skills", arguments: "请根据以下四层规格升级已有 Skill:...\n\n--- 以下是四层规格文件 ---\n\n" + <升级规格完整原始内容>})
- 执行 5.3 验证(同上)
- 升级失败时执行 5.4 分级处理(同上)
- 报告升级结果
- 对升级的 LLM 驱动 Skill 执行 Step 5.6 可靠性一致性验证(同 5.6 抽查表),结果并入最终报告
Step 7: 完整性验证
接口一致性检查参照 templates/data-exchange-format.md Section 三的数据流转表(Step/Skill/输入来源/输出路径/格式/协议)和 Section 四的接口契约(输入/输出/错误契约)。
所有 Skill 创建/验证/升级完成后,执行最终检查:
- 全部创建检查:对照
chain-overview.md 的依赖关系矩阵,确认每个 Skill 的状态
- 接口一致检查:检查上下游 Skill 的输出/输入路径是否对应(读取每个 Skill 的 SKILL.md 中的输出路径和输入格式)
- README 存在性检查:确认每个 Skill 都有 README.md
- 可靠性一致性汇总(v2.0):汇总 Step 5.6 的
RELIABILITY_WARNING,列出未通过可靠性抽查的 Skill
- 状态机终结(v2.0):将创建状态机置为
done(全部成功)或 error/interrupted(有失败/中断),记录最终状态供报告使用
Step 8: 输出完成报告
向用户输出 Markdown 格式的执行报告:
## ✅ Skill 链执行完成
**规划目录**:`$PLAN_DIR`
**执行时间**:{当前时间}
**创建状态机**:{done|error|interrupted}(v2.0)
**预算使用**:{已用}/{上限} skill-for-skills 调用(v2.0)
### 创建结果
| Skill | 优先级 | 状态 | 路径 |
|-------|--------|------|------|
| skill-a | P0 | ✅ 已创建 | `./skill-a/` |
| skill-b | P0 | ✅ 已创建 | `./skill-b/` |
| skill-c | P1 | ❌ 创建失败 | — |
| skill-d | P2 | ⏭️ 未创建(预算超限) | — |
### 验证结果
| Skill | 状态 |
|-------|------|
| skill-d | ✅ 已就绪 |
| skill-e | ⚠️ 部分缺失 |
### 失败详情(如有)
- **skill-c**:{失败原因}
- **建议操作**:{修复建议}
### 下一步操作
1. 将新建的 Skill 目录复制到 `.claude/skills/` 完成注册:
cp -r ./skill-a/ .claude/skills/skill-a/
cp -r ./skill-b/ .claude/skills/skill-b/
2. 重新启动 Claude Code
3. 按 `usage-guide.md` 中的执行顺序调用各 Skill
### 降级处理(v2.0,如有)
| Skill | 失败场景 | 降级默认输出 | 用户感知 |
|-------|---------|------------|---------|
| ... | ... | ... | ... |
### 可靠性验证(v2.0,如有)
- 未通过可靠性抽查的 Skill:{列表或"无"}
- 建议:{手动检查缓存前缀/修复链/预算/trace_id}
### 风险提醒
引用 `$PLAN_DIR/risk-register.md` 中与本链相关的高风险项(如有)。
Constraints
- Always 使用
Read 工具读取规格文件的完整内容后,传递给 skill-for-skills
- Always 严格按优先级(P0 → P1 → P2)和依赖顺序创建 Skill
- Always 在调用
skill-for-skills 前向用户输出执行计划并请求确认
- Always 每次
skill-for-skills 调用完成后,检查生成结果(SKILL.md 是否存在)
- Always 创建失败时暂停流程,向用户报告后再决定后续操作
- Always 最终报告中列出所有 Skill 的状态(已创建/已就绪/部分缺失/失败)
- Always 最终报告中给出明确的下一步操作指引
- Always v2.0:解析并消费
reliability-design.md / degradation-matrix.md / execution-state-machine.md(缺失时降级标注,向后兼容 v1.x)
- Always v2.0:创建过程维护状态机(idle/creating/paused_confirm/done/error/interrupted),会话内中断可续接(无持久化层,崩溃需重跑)
- Always v2.0:创建失败时查询降级矩阵提供降级选项;累计调用超预算时中断保留部分
- Always v2.0:对 LLM 驱动 Skill 执行可靠性一致性验证(Step 5.6),结果记入报告
- Never 自己直接生成 SKILL.md 或 README.md 文件——所有生成工作委托给
skill-for-skills
- Never 修改
skill-for-skills、skill-chain-planner 或其他已有 Skill 的文件
- Never 跳过规格文件中的任何内容——必须将原始规格完整传递给
skill-for-skills
- Never 假设所有 Skill 都会创建成功——必须为每个 Skill 独立验证和错误处理
- 如果
$PLAN_DIR 路径以 skill-chain-planner/plans/ 开头,作为相对路径处理
- 如果
$PLAN_DIR 不以 skill-chain-planner/ 开头且不是绝对路径,输出路径提示
Examples
✅ Do This — 执行一个三 Skill 链规划
用户输入:
/chain-executor skill-chain-planner/plans/pdf-to-study/
正确做法:
- 读取
skill-chain-planner/plans/pdf-to-study/chain-overview.md
- 解析出子 Skill:pdf-converter(P0,需新建), outline-extractor(P0,已有), self-study-guide(P0,已有)
- 排序:创建 pdf-converter → 验证 outline-extractor → 验证 self-study-guide
- 输出执行计划给用户确认
- 用户确认后,使用
run_skill({name: "skill-for-skills", arguments: "<构造的完整参数>"}) 创建 pdf-converter
- 验证 pdf-converter 创建成功
- 验证 outline-extractor 的 SKILL.md 存在
- 验证 self-study-guide 的 SKILL.md 存在
- 输出完成报告
✅ Do This — 处理创建失败
场景: 创建 pdf-converter 时 skill-for-skills 调用失败
正确做法:
- 记录失败信息
- 暂停流程,向用户报告:
❌ pdf-converter 创建失败
失败原因:{具体原因}
建议操作:检查规格文件格式后重试
请选择:
[1] 修复后重试
[2] 跳过,继续处理后续 Skill
[3] 终止执行
- 根据用户选择执行
❌ Not This — 自己生成 SKILL.md
错误做法:
- 读取规格文件后,自行解析并编写 SKILL.md
- 直接使用
Write 工具创建 Skill 文件
原因: 本 Skill 的职责是编排和委托,不是生成。SKILL.md 的生成必须交给 skill-for-skills,以确保遵循最新的编写规范和 frontmatter 格式。自己编写可能导致格式不符合规范、遗漏关键字段、无法通过 Claude Code 的验证。
❌ Not This — 不验证直接批量执行
错误做法:
- 一次性调用所有
skill-for-skills 而不逐个验证
- 创建失败后不暂停,继续创建下一个
原因: 链中的 Skill 存在依赖关系。如果上游 Skill 创建失败,下游 Skill 即使创建成功也无法正常工作。逐个创建、逐个验证才能在早期发现问题。
Notes
- 本 Skill 依赖
skill-for-skills 的可用性——如果该 Skill 未注册,本 Skill 无法工作
- 本 Skill 依赖
skill-chain-planner 输出的标准格式——该格式由 templates/data-exchange-format.md 定义。如果规划目录格式不符合预期,解析将失败
- 所有新建的 Skill 输出在项目根目录下的
<skill-name>/ 文件夹中,需要用户手动复制到 .claude/skills/ 完成注册
- 对于需要升级的已有 Skill,升级会直接修改原 Skill 的文件,无需重新注册
- 如果规划目录中包含不在依赖关系矩阵中的额外文件(如
rollback-guide.md),忽略这些文件,不影响主流程
- 建议在运行本 Skill 之前先阅读
risk-register.md,了解可能遇到的风险
- v2.0 新文件:
reliability-design.md / degradation-matrix.md / execution-state-machine.md 为可选;存在时据此做可靠性验证、降级处理、状态机续接,缺失时降级标注(向后兼容 v1.x 规划)
- 两层执行模型:Executor 自身即外层确定性编排器(按优先级 + 依赖顺序调度);内层为
skill-for-skills 调用(含其内部校验/修复)。Executor 不承担运行时 LLM 调用循环
- 降级 ≠ 生成:降级处理仅跳过失败 Skill 并标注其降级默认行为,Executor 仍不自生成 SKILL.md;降级默认输出供用户后续手动补建参考