mcpField
G
get-fable

get-fable

github.com/immamdouhaboammarAgent 工作流357 次安装1 周前更新
代码仓库

关于 get-fable

get-fable 是 Get-Fable 生态中的工程编排 Skill,根据生命周期状态和证据将任务交给相应专家,并以明确门槛管理委派、恢复、验证和完成。

主要功能

  1. 01按状态路由至专家 Skill
  2. 02任务拆解与负责人分配
  3. 03失败和安全优先级门槛
  4. 04基于证据判定完成

适用场景

  1. 01为工程任务选择下一项 Skill
  2. 02在重复失败或出现新证据后重新路由
  3. 03判断工作是否具备完成或发布条件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/immamdouhaboammar/get-fable --skill get-fable

安装后在 Claude Code 中输入/get-fable确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

registry.json
skill.package.json
agents/
openai.yaml
evals/
scenarios.json
examples/
lifecycle-walkthrough.md
references/
lifecycle-routing-matrix.md
stateful-routing-and-precedence.md
templates/
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 强制执行六项核心监督不变量:

  1. 中央生命周期所有权: 每项关键决策都只有一个权威的主要负责人。Master Orchestrator 将任务拆分为范围明确的卡片,分配负责人、安排执行,并权威地推进阶段转换。
  2. 能力边界与隔离: 子 Agent 按最小权限能力边界运行。任何超出分配能力范围的工具或引擎请求都将被严格拒绝。
  3. 确定性委派(3 条定律): 只有在写入范围、语义契约和验证命令严格独立时,才允许并行执行。相互冲突的修改会自动串行化为依赖波次。
  4. 工作者监督与崩溃隔离: 通过 gRPC/RPC 执行的子工作者会受到全面监督。工作者崩溃或未处理的拒绝会被隔离,并记录为结构化失败回执,不会导致 Master Orchestrator 崩溃。
  5. 迟到事件围栏与矛盾检测: 取消时间戳之后由已取消工作者发出的事件会被拦截并丢弃。并发工作者对同一目标或制品提出相互矛盾的声明时,将采取安全关闭策略。
  6. 证据优先的完成判定: 不接受自我认证。除非有新的、经机器检查且通过的证据与当前修改代次相匹配,否则不得将任何任务或阶段转换标记为完成。

适用时机

  • 工作区中出现实质性的工程请求;
  • 无法确定下一项 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 — 应用优先级门控

在评估意图之前,先检查硬性覆盖规则:

  1. 状态已损坏/无效 → 先诊断/修复状态,再决定是否信任它;
  2. 反复失败或证据相互矛盾 → 恢复;
  3. 明确涉及安全的请求 → 安全专家;
  4. 请求完成/发布时,验证已过期 → 验证;
  5. 会改变设计的阻塞性未知因素 → 发现/研究;
  6. 否则按任务归属进行路由。

设置优先级是为了阻止看似合理但不安全的低优先级操作。

阶段 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

评论

支持 Markdown