mcpField
S
spike

spike

github.com/venhdev测试与质量191 次安装1 天前更新
代码仓库

关于 spike

spike 是用于验证候选解决方案的技能,面向需要以实验判断方案是否满足问题标准的开发者。它在隔离的暂存目录中比较基线与候选方案,并输出带有证据和适用范围的结论。

主要功能

  1. 01在指定暂存目录内实验
  2. 02可行时建立基线失败证据
  3. 03用相同标准测试候选方案
  4. 04探索受约束的替代方案
  5. 05输出可复核的验证报告

适用场景

  1. 01验证候选修复是否解决原始故障
  2. 02在实现前证明新能力可行
  3. 03比较限定方向内的方案
  4. 04记录无法复现或验证的原因

安装

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

$npx skills add https://github.com/venhdev/skills --skill spike

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

详细介绍

spike — 方案验证

运行不变量

  • 临时目录边界:仅在 .agents/scratch/ 内编写候选逻辑、测试框架、测试数据和验证产物;不要改动生产代码和永久测试。
  • 工作树保护:保留现有更改和无关的临时产物。以只读方式检查集成接缝;执行需要修改时,使用隔离副本。
  • 问题忠实度:以原始问题和验收标准为依据提出断言。在基线运行和候选方案运行中保持断言不变;区分隔离能力验证与生产修复验证。
  • 方向边界:在给定的解决方向和约束内,探索有限且有证据依据的替代方案。需要改变方向时,应另行报告以供决策;绝不要悄然扩大搜索范围或强行得出 GREEN 结果。
  • 敏感证据与环境:记录日志前先脱敏;绝不要检查机密文件(.env*、*.key、*.pem)。测试框架运行器和临时数据存储应以 .agents/dev-environment.md 为依据;实验严格限定在 .agents/scratch/ 内。

领域评估标准

输入与验证目标
  • 接收问题或 RED 信号、候选方案,以及由输入或已确认上下文确立且带有约束的解决方向。问题可能是推断得出的,也可能比较含糊;应根据现有证据推导可测试的标准并记录假设。若候选方案的方向边界明确,则可由候选方案自行确立方向;未说明的架构选择应保持开放。
  • 确定相关集成接缝、预期结果、已知的原始故障机制,以及需要验证的主要不确定性。如果输入或上下文无法确立测试标准或允许的方向,则在探索替代方案前报告 UNRESOLVED,并说明所需输入。
  • 使用原始症状定义修复断言。对于新功能,使用其所需行为作为断言;仅在与该要求相关时,选择正确性、兼容性、并发性、对等性或资源指标。
基线与候选方案实验
  • 可行时先确认基线为 RED,再对候选方案运行相同断言以寻求 GREEN。如果无法复现原始故障,则在任何缺陷修复结论中保留并说明这一缺口。
  • 测试真实接缝或忠实的隔离副本。说明模拟边界和省略的集成行为;仅由模拟得到的 GREEN 只能证明建模范围,不能确认未经验证的生产修复。
  • 尽量精简测试框架,同时保留关键输入、环境、状态转换和边界情况。使用命令和经过脱敏的测试数据,确保设置和执行可复现。
  • 对于间歇性或并发行为,尽可能控制随机种子、时钟和交错顺序;记录失败和重复次数,不要只凭一次通过就接受结果。
  • 根据每次失败,在给定方向内选择有依据的替代方案。达到完整验证、穷尽相关且允许的替代方案、遇到运行时或访问阻碍,或有证据表明必须改变方向时,即停止探索。
结论状态
  • CONFIRMED:实证证据在明确说明的测试范围内满足原始标准。要确认缺陷修复,还必须在忠实的基线测试中复现故障,并让候选方案在相同断言下达到 GREEN。
  • INFERRED:推理或部分执行支持该候选方案,但原始标准尚未得到完整的实证验证;应说明具体缺口。
  • REJECTED:有界实验表明,在穷尽相关且允许的替代方案后,该候选方案或方向仍不符合标准。结论仅限于已测试的替代方案和条件;不要声称该方案在任何情况下都不可能成立。
  • UNRESOLVED:缺少方向、标准、运行环境、访问权限或其他前提,无法作出有依据的验证或否定结论。

规范输出契约

生成一份精简报告,提供足够的证据以重现验证并评估适用性。必要时在临时目录中保留已清理的脚本和日志;在报告中总结关键观察结果。

# Solution-Proof Report: <problem / candidate>

State: <CONFIRMED | INFERRED | REJECTED | UNRESOLVED>
Conclusion: <what the candidate demonstrably solves, may solve, failed to solve, or leaves unknown>
Original criteria: <problem-grounded assertions>
Direction and constraints: <supplied boundary and assumptions>
Integration seam: <module/interface/runtime boundary>
Evidence: <scratch paths and commands; baseline and candidate results for the same assertion>
Conditions and proof limits: <tested environment, substitutions, missing proof, applicability limits>

## Alternatives *(omit if none were explored)*
<candidate -> decisive observation -> retained or eliminated within direction>
路由
  • 已验证的解决方案已获接受,且需要规划文件影响 →(通过 /changeset)。
  • 缺少的要求导致无法进行有意义的验证 →(通过 /clarify)。
  • 成功需要改变给定方向 →(通过 /architect-decision)。

执行协议

  1. 明确问题、候选方案、方向、约束和切入点。定义原始断言以及证明它所需的证据。
  2. 构建最小化的临时实验,并在可行时运行基线。针对相同标准和相关边界运行候选方案。
  3. 检查失败情况,并在既定方向内探索有依据的替代方案,直至完成验证、达到有限探索的边界、遇到阻碍或必须改变方向。记录足以说明停止理由的观察结果。
  4. 提交解决方案验证报告,说明其状态、条件和局限;确认生产文件未发生更改,并保留有用且已清理的验证产物。

评论

支持 Markdown