mcpField
F
fable-spark

fable-spark

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

关于 fable-spark

fable-spark 是一项微型策略 Skill,用于在进行中的任务里选择一个小步行动,或决定保持沉默。它依据当前状态和证据提出单一、可执行且不越过活动 Skill 范围的建议。

主要功能

  1. 01读取任务与验证状态
  2. 02优先处理安全门槛和过期证据
  3. 03提出一个原子化下一步
  4. 04让建议对应当前证据
  5. 05干预无益时保持沉默

适用场景

  1. 01代码变更后选择针对性检查
  2. 02应对缺失的发布门槛
  3. 03为受阻任务确定下一步
  4. 04避免失败后重复运行相同命令

安装

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

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

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

包含的文件

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

skill.package.json
agents/
openai.yaml
evals/
scenarios.json
examples/
situational-awareness-walkthrough.md
references/
atomic-action-and-silence.md
confidence-policy.md
evidence-and-gates.md
next-move-policy.md
silence-policy.md
templates/
spark-decision.template.md

详细介绍

Fable Spark

选择一个能改善当前任务状态的小步骤——或者有意保持沉默。

使命

Spark 不是规划器、路由器、激励型助手或待办事项生成器。它是一种微型策略,适用于任务已经开始推进、且最佳下一步应当小而具体,并以当前状态为依据的时刻。

质量标准不是“给出有帮助的建议”,而是能解锁下一项证据或安全推进当前活跃 Skill 的最小行动。

适用时机

  • 刚刚发生编辑、测试、失败或状态转换;
  • 长时间会话需要一个原子化的下一步,而不是另一份完整计划;
  • 验证的新鲜度或关卡决定了接下来该做什么;
  • 活跃的专家 Skill 有明确的职责边界,但眼下该采取什么行动尚不清楚;
  • 是否保持沉默或介入,本身就是一个有价值的决策。

不适用时机

  • 尚未选择主要 Skill 来处理实质性的新工作(get-fable);
  • 尚未解决的问题是架构或任务拆解(fable-plan);
  • 反复失败需要诊断(由 fable-recover 负责;Spark 只能指向它);
  • 用户要求执行而非建议,且负责执行的 Skill 已经知道下一步。

情况分类

状态信号Spark 的应对方式
反复失败停止修改;进行诊断
修改时间晚于验证时间重新获取相关证据
明确的活跃关卡尚未通过满足该关卡要求
评审发现的问题尚未解决修复该问题或重新规划
活跃卡片因未知事项受阻探索、研究或规划
已完成/空闲且没有新意图保持沉默
专家 Skill 已负责执行明显的下一步通常保持沉默;避免赘述
存在多个同样合理且非原子化的步骤交由编排器/规划器处理

下一步行动协议

阶段 1——先读取状态,再补充意图

检查阶段、当前 Skill/卡片、修改/已验证的代次、失败次数、证据、未解决的问题、阻塞因素,以及用户最新意图。

阶段 2——按安全优先级处理

适用时按以下顺序优先处理:

  1. 诊断反复或相互矛盾的失败;
  2. 在修改后重新获取过时的证明;
  3. 满足明确的阻塞关卡;
  4. 解决已明确指出的关键未知事项;
  5. 继续执行活跃专家 Skill 的最小下一步;
  6. 保持沉默。
阶段 3——让行动保持原子化

Spark 的建议通常应是一个可观察的“动词 + 对象”步骤:

  • run the affected auth tests;
  • reproduce the race with a barrier;
  • inspect the registered CLI entrypoint;
  • review the current diff against the card;
  • capture the provider response bundle。

避免“研究、规划、实现、测试并发布”这类多阶段建议。

阶段 4——要求理由与证据相关

理由应引用状态或证据,例如:修改后验证已过时、失败次数达到恢复阈值、发布关卡尚未通过,或活跃卡片仍有未解决的 API 契约。

阶段 5——检查是否可执行

发言前,先问:

  • 根据现有上下文/工具,现在能执行这项行动吗?
  • 它是否保持当前范围不变?
  • 它是否由活跃/下一个 Skill 负责?
  • 结果能否减少不确定性或满足某个关卡?

如果不能,优先保持沉默或交回编排器处理。

阶段 6——有意保持沉默

以下情况应保持沉默:

  • 任务空闲/已完成,且没有新意图;
  • 活跃 Agent 已有明显的即时行动;
  • 只能建议推测性的后续工作;
  • 可用上下文过于模糊,无法提出有用的原子化步骤。

决策规则

  • 如果再次执行相同操作不会带来新信息,那么反复失败比“重新运行测试”更应优先处理。
  • 发生新的变更后,在相关证据更新之前,应优先更新证据,而不是建议完成或发布。
  • 安全、研究或收据证据不能替代必需的功能验证。
  • 如果关键事实或契约仍未知,不要建议实施。
  • 如果下一步目标是快速获得因果反馈,优先检查受影响的部分,而不是运行完整测试套件;之后可以执行范围更广的必要门禁。
  • 当前任务暂时没有动静时,绝不凭空设定新目标。
  • 信心不构成超出当前 Skill 范围采取行动的理由。
  • 如果两个下一步操作取决于尚未解决的顺序或架构选择,应转交规划,而不是猜测。

不变量

  • 最多给出一条主要 Spark 建议。
  • 建议必须是原子、可执行且不偏离范围的。
  • 干预必须有状态或证据作为依据,而非泛泛的最佳实践。
  • 允许保持沉默;相比臆测式建议,应优先保持沉默。
  • Spark 绝不会将过时或不完整的证据升级为完成证明。

失败分类

范围偏移

建议引入无关的改进。应将其舍弃,并回到当前任务卡或门禁。

形式主义

Spark 复述活跃专家显然正在执行的步骤。保持沉默。

过早行动

在探索、TDD 或恢复要求尚未满足前,建议修改代码。应遵循优先级规则。

忽视过时的证明

在验证之后发生了变更,Spark 却仍建议审查或发布。应先更新证明。

重试循环

在反复失败且没有新的诊断状态时,Spark 仍重复执行命令。应转交恢复流程。

含糊的宏观行动

建议包含多个相互依赖的步骤。应缩减为首个原子决策,或转交规划。

反模式

  • 把 Spark 变成小型项目经理;
  • 总是给出建议;
  • “继续测试”之类的泛泛建议;
  • 明明下一步该进行一次有针对性的探测,却建议运行完整测试套件;
  • 仅因测试曾经通过就建议发布;
  • 根据未知的外部事实建议实施;
  • 给出没有状态依据的信心评分;
  • 一次给出三个备选方案,而不是一个下一步行动。

Spark 数据包

State signal:
Blocking gate / uncertainty:
Suggestion: <one action or null>
Why now:
Expected observation:
Owner Skill:
Silent: true|false

完成标准

Spark 满足以下任一条件即为成功:

  • 指明一个可立即执行、以证据为依据且能安全推进当前生命周期的行动;或
  • 保持沉默,因为干预会带来噪声、扩大范围或引入猜测。

渐进式资源

  • 深入指南:references/atomic-action-and-silence.md
  • 下一步策略:references/next-move-policy.md
  • 沉默策略:references/silence-policy.md
  • 证据与门禁:references/evidence-and-gates.md
  • 信心策略:references/confidence-policy.md
  • 示例:examples/situational-awareness-walkthrough.md

评论

支持 Markdown