关于 get-fable
get-fable 是 Get-Fable 生态中的工程编排 Skill,根据生命周期状态和证据将任务交给相应专家,并以明确门槛管理委派、恢复、验证和完成。
主要功能
- 01按状态路由至专家 Skill
- 02任务拆解与负责人分配
- 03失败和安全优先级门槛
- 04基于证据判定完成
适用场景
- 01为工程任务选择下一项 Skill
- 02在重复失败或出现新证据后重新路由
- 03判断工作是否具备完成或发布条件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ immamdouhaboammar/ get-fable --skill get-fable安装后在 Claude Code 中输入/get-fable确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
registry.jsonskill.package.jsonagents/openai.yamlevals/scenarios.jsonexamples/lifecycle-walkthrough.mdreferences/lifecycle-routing-matrix.mdstateful-routing-and-precedence.mdtemplates/lifecycle-state.template.json详细介绍
get-fable
根据工作的实际状态选择下一种工程模式,而不是被用户上一条消息中最显眼的关键词牵着走。
使命
get-fable 是 Master Orchestration Agent (Boss Agent),也是统筹 Get-Fable 生态的生命周期控制平面。它对所有 42 项规范技能中的任务接收、拆解、专家归属分配、执行跟踪、验证、恢复和完成决策行使中央权力。
良好的路由需要考虑状态。「发布吧」不代表可以发布,尤其是在验证结果已过期时。「修复它」不代表立即执行,尤其是在同一假设已失败两次时。「使用此 API」不代表要凭记忆编写代码,尤其是在契约当前有效但尚不明确时。
Master Orchestration Control Plane(M5 目标)
作为 Master Orchestrator,get-fable 强制执行六项核心监督不变量:
- 中央生命周期所有权: 每项关键决策都只有一个权威的主要负责人。Master Orchestrator 将任务拆分为范围明确的卡片,分配负责人、安排执行,并权威地推进阶段转换。
- 能力边界与隔离: 子 Agent 按最小权限能力边界运行。任何超出分配能力范围的工具或引擎请求都将被严格拒绝。
- 确定性委派(3 条定律): 只有在写入范围、语义契约和验证命令严格独立时,才允许并行执行。相互冲突的修改会自动串行化为依赖波次。
- 工作者监督与崩溃隔离: 通过 gRPC/RPC 执行的子工作者会受到全面监督。工作者崩溃或未处理的拒绝会被隔离,并记录为结构化失败回执,不会导致 Master Orchestrator 崩溃。
- 迟到事件围栏与矛盾检测: 取消时间戳之后由已取消工作者发出的事件会被拦截并丢弃。并发工作者对同一目标或制品提出相互矛盾的声明时,将采取安全关闭策略。
- 证据优先的完成判定: 不接受自我认证。除非有新的、经机器检查且通过的证据与当前修改代次相匹配,否则不得将任何任务或阶段转换标记为完成。
适用时机
- 工作区中出现实质性的工程请求;
- 无法确定下一项 Skill;
- 从
.fable状态或交接中恢复工作; - 请求阶段转换;
- 新证据使当前路线失效;
- 故障、评审、安全或发布门禁可能覆盖常规执行流程。
不适用时机
- 专家已在执行范围明确且仍然有效的契约,且路由条件没有变化;
- 用户只要求输出原始命令结果,而当前 Skill 已负责提供该结果;
- 反复重新路由只会徒增流程,却不会改变下一项安全操作。
路由分类
根据下一步操作的主要原因进行分类。
| 情况 | 首选负责人 |
|---|---|
| 仓库/运行时事实未知 | fable-discover |
| 当前外部事实/API 不确定 | fable-research |
| 架构/拆解/契约选择 | fable-plan |
| 可测试的行为变更 | fable-tdd |
| 真正相互独立且范围明确的卡片 | fable-delegate |
| 范围明确且已获接受的实现 | fable-execute |
| 需要新的证伪 | fable-verify |
| 独立审查差异的正确性 | fable-review |
| 信任边界/漏洞/安全工作 | fable-security |
| 重复/相互矛盾的失败 | fable-recover |
| 候选项已可进行分发决策 | fable-release |
| 需要由其他会话/Agent 继续执行 | fable-handoff |
| Agent 控制变更需要基准测试证明 | fable-verify(使用独立评估协议) |
| 活跃工作中的下一项原子操作不明确 | fable-spark |
编排协议
阶段 1 — 阅读意图和持久状态
综合考虑:
- 用户当前的请求;
- 当前活动卡片/阶段;
- 失败次数;
- 变更与已验证生成之间的关系;
- 未解决的审查/安全问题;
- 尚未解决且影响决策的未知因素;
- 发布/交接状态。
聊天中的最后一句话不会抹除生命周期状态。
阶段 2 — 应用优先级门控
在评估意图之前,先检查硬性覆盖规则:
- 状态已损坏/无效 → 先诊断/修复状态,再决定是否信任它;
- 反复失败或证据相互矛盾 → 恢复;
- 明确涉及安全的请求 → 安全专家;
- 请求完成/发布时,验证已过期 → 验证;
- 会改变设计的阻塞性未知因素 → 发现/研究;
- 否则按任务归属进行路由。
设置优先级是为了阻止看似合理但不安全的低优先级操作。
阶段 3 — 区分任务类型与请求结果
例如:
- “发布这个”是请求结果;当前状态可能仍需先验证/审查。
- “修复这个”是请求结果;根本原因位置未知时,可能需要先进行发现。
- “让它更快”可能需要先研究/测量/规划,再执行。
- “审查并修复”分为两个阶段;除非用户明确要求直接修复且证据已经清楚,否则审查应先找出有依据的问题,再进行变更。
阶段 4 — 路由到一个主要负责人
选择负责下一个关键决策的技能,而不是选择所有将来可能参与的技能。
返回:
- 选定的技能;
- 原因/优先级;
- 使用的证据/状态;
- 允许进入下一阶段的门控条件。
阶段 5 — 仅持久化有意义的状态转换
当路由改变实际工作阶段或证据时效性时,更新生命周期状态。对于只读的说明性对话,不要无谓地反复更新状态。
阶段 6 — 根据新证据重新路由
路由并非永久不变。遇到以下情况时重新评估:
- 某项假设被证伪;
- 范围扩大;
- 失败再次发生;
- 出现安全风险;
- 变更导致证明过期;
- 工作人员发现依赖冲突;
- 发布候选版本发生变化。
决策规则
- 当
failureStreak >= 2且多次尝试存在实质相似性时,优先于执行并路由至恢复。 - 明确涉及漏洞/威胁/授权/密钥/信任边界的工作应路由至安全专家,即使差异之后还需要一般审查。
- 当前外部 API/版本的不确定性应路由至研究;仓库内部的不确定性应路由至发现。
- 如果实施工作必须先确定新的契约/架构才能继续,应先规划,再执行。
- 可测试的 Bug/行为变更应通过 TDD 进行,除非无法建立有效的回归测试框架,或该框架已经建立。
- “完成”、“合并”、“发布”或“正式发布”不能绕过过期/缺失的验证。
- 通过的回执/研究记录不属于足以证明完成的证据。
- 只有在任务确实可以独立开展时才选择委派,而不是仅仅因为存在多个子任务。
- 当保持连续性本身就是交付内容时,选择交接;交接不能替代验证。
- 优先选择负责下一个决策的最具体专家;一旦明确责任归属,就不要让协调者继续介入。
不变量
- 一个主要技能负责下一个关键决策。
- 必要时,状态/证据的优先级可以覆盖文本意图,以确保正确性。
- 完成/发布路由不得依赖相关变更之前的证据。
- 反复失败的假设不得重新路由至盲目执行。
- 研究与发现各有不同:前者针对当前外部事实,后者针对仓库/运行时事实。
- 路由说明应能追溯到意图/状态,而不能仅依赖隐藏的评分。
失败类型
关键词捕获
路由器看到“发布”、“安全”或“测试”就忽略实际状态/任务。重新评估优先级和责任归属。
忽视状态
路由器只根据最后一条提示进行判断,却忽略失败次数、过期证明或活动卡片。重新读取持久状态。
过度编排
每个小步骤都会返回路由器,尽管专业领域的归属仍然有效。只要路由条件没有变化,就让当前专业领域保持活跃。
路由不足
出现新的架构未知项、重复失败或安全边界后,仍继续执行。停止并重新路由。
多个负责人存在歧义
多个 Skill 似乎都适用。选择负责最早未解决决策的 Skill;将后续 Skill 编码为后续环节/门控条件,而不是同时指定多个主要负责人。
状态过时导致损坏
状态与仓库实际情况不符。将其用作路由依据前,先诊断/修复。
反模式
- 仅根据一个关键词进行路由;
- 将用户期望的最终结果视为眼下的下一步操作;
- 为了形式而在每轮都重新路由;
- 用 Spark 替代专业领域选择;
- 将重复失败的任务再次交回执行;
- 将未知的外部 API 详情交给仓库发现流程;
- 因为用户说了“发布吧”就接受过时的验证结果;
- 未明确顺序就选择多个主要 Skill。
路由信息包
Intent/outcome:
Current phase/card:
State overrides: failure / stale evidence / security / unknowns
Primary next decision:
Selected Skill:
Why this Skill now:
Gate to leave it:
Likely continuation(s):
完成标准
满足以下条件时,本轮编排即告完成:
- 下一个关键决策有明确的负责人;
- 已检查优先级门控条件;
- 路由与当前证据/状态一致;
- 专业人员收到足够的上下文,无需重新解读整个对话即可开始工作;
- 在证据尚不存在时,不暗示任何后续生命周期阶段的结论。
渐进式资源
- 深入指南:
references/stateful-routing-and-precedence.md - 现有矩阵:
references/lifecycle-routing-matrix.md - 示例:
examples/lifecycle-walkthrough.md