mcpField
C
check-invariants

check-invariants

github.com/jayden-dang测试与质量135 次安装3 天前更新
代码仓库

关于 check-invariants

check-invariants 用于判断功能设计或代码差异是否符合其引用或涉及的架构约束。它提供带具体依据的建议性判定,而非通过或失败的门槛。

主要功能

  1. 01依据架构约束评估设计或代码差异
  2. 02检查已引用及明显相关的规则
  3. 03给出遵循、违反或不明确的结论
  4. 04为每项结论说明具体依据

适用场景

  1. 01实施前审查功能设计
  2. 02检查代码差异是否违反架构规则
  3. 03标出需人工判断的合规疑点

安装

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

$npx skills add https://github.com/jayden-dang/skills --skill check-invariants

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

详细介绍

检查不变量

判断设计(或差异)是否遵守其所依赖的架构不变量。

这是 trace 的语义对应项。trace 会确定性地通过 grep 检查 Respects: ARCH-N 引用是否指向仍然有效的不变量——也就是检查其是否存在且仍然有效。它不会读取设计是否真正遵守规则。判断这件事是本技能的职责;由于这是一项判断,因此结果仅供参考:其结论可为评审提供信息,但绝不会成为合并的硬性门槛。

无需检查的情况

如果 docs/architecture/ 不存在,就说明没有架构主干——说明这一点后即停止。 本技能仅适用于已选择采用架构层的项目。

输入

  • 架构主干:docs/architecture/INDEX.md(以及任何 docs/architecture/<domain>.md)。阅读其中的不变量——每条不变量由一个粗体的 **ARCH-N** ID 和一条命令式规则组成。已划掉的 ~~**ARCH-N**~~ 表示已废弃;请忽略。
  • 审查对象:功能的 design.md,或差异(git diff <base>...HEAD)。收集其中的 Respects: ARCH-N 引用;对于差异,还要评估所改代码明显涉及的不变量,即使未引用也要考虑。

判断

对于每条已引用的不变量(以及每条明显相关但未引用的不变量),阅读规则并检查设计或差异的内容,然后给出一个结论:

结论含义
遵守设计与不变量一致。
违反设计做了不变量禁止的事,或遗漏了不变量要求的内容。
不明确设计既未明确遵守,也未明确违反;应由人工检查。

每条结论都必须附上一句理由,指出不变量及具体位置(设计章节、文件或代码块)。不要仅仅换种说法复述不变量作为理由。

输出

check-invariants (3 citations, spine: docs/architecture/INDEX.md)
  violates ARCH-2  design.md §Cross-module sync calls the persistence module directly (invariant: only via the event bus)
  respects ARCH-4  every write goes through the migration guard
  unclear  ARCH-5  can't tell from the design whether the cache is invalidated on write

报告所有结论;不要省略不明确的结论——它们正是本技能的重点。本技能只返回发现,不给出通过/失败结果。调用方(code-review、execute-plan、establish-project)决定如何处理违反项。

评论

支持 Markdown