关于 entrix
Entrix Skill 帮助编码 Agent 在仓库的 docs/fitness 中建立或修复质量检查配置。它依据项目实际命令设计检查,并使用 Entrix 验证配置。
主要功能
- 01检查仓库工具与 CI
- 02创建或修复 fitness 文档
- 03定义兼容 Entrix 的维度和指标
- 04检查项依据仓库实际命令
- 05验证配置并运行检查
适用场景
- 01为仓库添加质量守护检查
- 02修复现有 docs/fitness 配置
- 03使本地检查适配 CI 与可用工具
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ phodal/ entrix --skill entrix安装后在 Claude Code 中输入/entrix确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/advisory-probe-metric.mdci-scoped-authoritative-metric.mdentry-doc-topology.mdminimal-dimension.mdrelease-readiness-build.mdruntime-zero-weight-dimension.mdtoolchain-boundary-ci-scope.mdspecs/dimension-api-contract.spec.mddimension-boundaries.spec.mddimension-code-quality.spec.mddimension-design-system.spec.mddimension-engineering-governance.spec.mddimension-release-readiness.spec.mddimension-runtime.spec.mddimension-security.spec.mddimension-testability.spec.mddimension-ui-consistency.spec.mdmanifest.spec.mdREADME.mdschema-frontmatter.spec.md详细介绍
Entrix 技能
目标:让目标仓库拥有可正常工作的 docs/fitness/ 配置,使其与实际工具链相符、能从仓库入口发现,并通过 Entrix 验证,而不是仅仅看起来像那么回事。
Entrix 中的 fitness 采用演进式架构的含义:一项可执行检查,用于衡量代码库是否仍满足质量或架构目标。面向用户的描述是“质量护栏”。
此技能现采用精简入口,并在 specs/ 下提供可复用的规范文件。请阅读这些规范,不要自行猜测架构细节。
技能文件夹内容
specs/README.md:可用规范的二级索引specs/schema-frontmatter.spec.md:符合 Entrix 要求的证据文件格式specs/manifest.spec.md:manifest.yaml的必需格式specs/dimension-boundaries.spec.md:如何拆分或合并维度specs/dimension-*.spec.md:各维度的指导说明examples/:可复制的最小示例片段../../tests/fixtures/skill_regression/:技能回归测试框架使用的内置仓库配置
阅读顺序
对于任何初始化或修复任务,请按以下顺序阅读:
- 目标仓库中存在的
AGENTS.md和CLAUDE.md - 目标仓库的清单文件和任务运行器:
package.json、pyproject.toml、Cargo.toml、justfile、Makefile - 目标仓库的
.github/workflows/** - 目标仓库现有的
docs/fitness/**(如果存在) - 此技能的
specs/README.md - 仅阅读任务所需的特定
specs/dimension-*.spec.md文件 - 当入口文档或 CI 边界行为存在歧义时,阅读相匹配的
examples/*.md
核心规则
- 仅使用仓库中的真实信号。不要编造命令。
- 如果直接调用工具会依赖子目录作为工作目录,优先使用
just、make、npm run或cargo --manifest-path ...等可在仓库根目录运行的封装命令。 - 优先使用已纳入版本控制的脚本和 CI 中确立的命令,而不是看似合理的默认值。
- 对于初始化输出,优先选择当前本地环境中可运行的命令,而不只是从 CI 或仓库结构来看在语义上正确的命令。
- 仅当仓库在脚本、CI 或已纳入版本控制的文档中有直接证据表明使用了某项工具时,才创建安全指标。不要想当然地添加常见扫描器。
- 如果某候选指标依赖未安装的可选本地工具,且没有已纳入版本控制的封装脚本可自动安装它,就不要将其设为默认的
fast硬性门槛。应优先选择本地可运行的封装、仓库已确立的其他信号,或明确报告阻碍因素。 - 如果仓库的实际测试或构建命令具有权威性,但需要本地缺失的仓库专属开发依赖或 CI 配置,不要强行将其纳入默认本地
fast层级。应优先选择本地可运行的冒烟检查,以及仅在 CI 中运行的权威指标。优先使用execution_scope: ci,而不是将该命令保留为默认本地指标,以免其在全新机器上失败。 - 对缺失的编译器或运行时版本也采用同样的处理方式。如果仓库要求的 Rust、Node、Python 或类似工具链版本高于当前机器提供的版本,除非用户明确要求保留该阻碍,否则不要将这些命令设为默认本地指标。
- 仅使用符合 Entrix 要求的架构。不要自行发明其他清单或 frontmatter 格式。
- 如果加权维度参与评分,其文件级权重之和必须恰好为
100。 - 如果仓库有实际的构建、打包、Docker 或 CLI 冒烟检查信号,应明确考虑
release_readiness。 - 如果仓库提供契约或架构层,应明确考虑
api_contract。
架构规则
仅使用标准 Entrix 格式:
- 每个证据文件都使用 YAML frontmatter,包含:
dimensionweighttierthresholdmetrics
- 维度使用
snake_case,例如:code_qualitytestabilityrelease_readinessapi_contract
manifest.yaml使用:
schema: fitness-manifest-v1
evidence_files:
- docs/fitness/code_quality.md
- docs/fitness/testability.md
切勿使用:
dimensions:- 指标级别的
weight pass_thresholdmanifest.yaml中不带路径的文件名- 仓库已使用 Entrix 风格的 snake_case 时,使用带连字符的维度 ID
工作流
1. 检查目标仓库
从以下内容确定实际可执行的信号:
- 包管理器脚本
- 任务运行器,例如
just - CI 工作流
- 已纳入版本控制的辅助脚本
- 现有的
docs/fitness/**
命令优先顺序:
- 仓库中已有且本地使用的任务运行器或包脚本
- 从 CI 中复制的根目录安全命令
- 仅当仓库明确使用这些工具且工作目录明确时,才直接运行工具命令
2. 根据实际范围设计维度
常见的维度类别:
code_qualitytestability或test_coveragesecurityrelease_readinessapi_contractui_consistencydesign_system- 运行时证据,例如
observability或performance
每个文件只保留一个稳定的关注点。如果仓库已经将不同关注点分开,就不要把它们合并成一个含糊的文件。
3. 编写易于发现的适配度文档
新仓库的最低输出要求:
docs/fitness/README.mddocs/fitness/manifest.yamldocs/fitness/review-triggers.yaml- 至少包含
code_quality和testability,或另一个有明确依据的测试维度
保持仓库入口文件简短:
- 如果存在
AGENTS.md,就在其中添加或修复简短的适配度章节 - 如果存在
CLAUDE.md,也在其中添加或修复相同的简短适配度章节 - 如果两者都存在,确保内容一致,不要只更新其中一个
- 如果两者都不存在,则创建一个最简
AGENTS.md
创建规则很严格:
- 如果仓库原本没有
CLAUDE.md,不要新建 - 如果
CLAUDE.md已是唯一的 Agent 入口文件,除非用户明确要求同时创建两个文件,否则不要新建AGENTS.md - 如果两者都不存在,则只创建
AGENTS.md
不要将整套规则复制到入口文件中。 目标是让仓库现有的每个 Agent 入口文档都能发现这些内容,而不只是你碰巧首先看到的那个。
4. 停止前进行验证和迭代
生成或修复 docs/fitness/ 后,你必须自行验证。
按以下顺序使用可用的最佳 Entrix 调用方式:
entrix ...uvx --from entrix entrix ...python3 -m entrix ...
运行:
entrix validate
entrix run --dry-run
如果存在 fast 层级,或者生成的命令执行成本较低,也请运行:
entrix run --tier fast
如果验证因你编写的文件而失败,请修复这些文件并重新运行验证。 不要在初稿完成后就停止。
必须执行修复循环:
- 生成或修复
docs/fitness - 运行
entrix validate - 如果失败,重新读取
manifest.yaml和每个证据文件 - 修复架构、权重、路径和命令本地性问题
- 再次运行
entrix validate - 运行
entrix run --dry-run - 如果验证通过,只要存在
fast层级,或生成的命令足够轻量、可在本地执行,就运行entrix run --tier fast - 如果
fast层级因生成命令的本地性问题或虚构的信号而失败,请修复并重新运行验证 - 如果
fast层级因生成的指标需要本地无法运行的可选工具而失败,请将其替换为适合仓库且可运行的信号,将其移出引导用的fast层级,或明确报告阻碍因素 - 如果仓库确实有测试/构建命令,但仅因本地环境缺少仓库专属开发依赖而失败,请勿将其纳入默认的本地
fast层级;在适当情况下,为其设置execution_scope: ci或其他非本地权限边界 - 只有在验证通过且生成的配置可运行,或存在明确的仓库阻碍因素时,才停止
5. 需要修复的典型失败模式
当验证报告总权重为 0% 或 No metrics matched 时,请检查:
- frontmatter 分隔符错误
- manifest 结构错误
- manifest 条目使用了裸文件名,而非相对于仓库的路径
- 使用了
pass_threshold等非标准键 - 缺少文件级
weight - 维度名称不符合 Entrix 约定
当生成的命令语义有误时,请检查:
- 仓库的
Cargo.toml实际位于子目录中,却在根目录运行命令 - 仓库指南优先推荐
just test,而非原始的cargo nextest变体 - 虚构了仓库实际并未使用的安全工具
- 构建命令与仓库实际的发布/构建流程不同
- 从 CI 复制的命令隐式依赖于工作流专属的工作目录
- 可选工具链检查在原理上确实存在,但如果不进行额外且未声明的设置,就无法从目标仓库在本地运行
- 确实存在的测试命令需要当前本地环境尚未安装的开发依赖,尽管 CI 或贡献者文档对此有所要求
- 已存在
AGENTS.md和CLAUDE.md文件,但生成的输出只更新了其中一个 - 仓库只有
CLAUDE.md,但生成的输出却自行新增了AGENTS.md
质量标准
只有满足以下所有条件,这项技能才算完整:
docs/fitness/存在且内容连贯docs/fitness/README.md存在manifest.yaml包含schema: fitness-manifest-v1manifest.yaml列出了相对于仓库根目录的证据文件路径- 现有仓库入口文档
AGENTS.md和CLAUDE.md均一致地指向质量评估文档 - 除非用户明确要求,否则未创建额外的 Agent 入口文档
- 权重总和为
100 - 每项指标都对应一个实际的仓库命令
- 技能选择的每项
fast硬性门槛都能在本地运行,或者被明确指出是具体的仓库阻碍 - 仅在 CI 或预置环境中具有权威性的命令,均按此建模,而非假装它们是默认的本地快速检查
- 除非用户明确要求包含这类范围,否则默认的本地
entrix run不会执行仅限 CI 的指标 - 默认的本地
entrix run整体能够通过;预期在本地失败的软性或建议性指标应限定为 CI 范围、权重设为零,或采用其他建模方式,以免本地得分低于阈值 - 已尝试使用 Entrix 进行验证
- 如果有成本较低的快速层级运行方式,已对生成的配置进行超出
dry-run的测试 - 已修复由生成文件导致的验证失败
避免
- 质量评估文档无法从 Agent 入口文档中找到
- 臆造 Entrix 无法解析的替代架构
- 臆造仓库未使用的安全或覆盖率工具
- 在存在可安全从仓库根目录运行的包装脚本时,使用依赖子目录的原始命令
- 仅生成看似合理的文件便停止