关于 build-optimize
build-optimize 是用于测量和优化本地构建与测试命令的技能,涵盖 Cargo、pytest、npm、pnpm、Go 和 just。它要求先批准测量计划,并提供可比的前后证据,同时保留检查项和失败行为。
主要功能
- 01测量本地命令耗时
- 02覆盖 Cargo、pytest、npm、pnpm、Go 和 just
- 03测量前要求批准计划
- 04比较规范化的前后证据
- 05保留检查项、产物和失败行为
- 06分别报告冷、热缓存结果
适用场景
- 01建立本地构建耗时基线
- 02评估已批准的构建优化
- 03报告计时比较受阻的情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ paulnsorensen/ git-gouda --skill build-optimize安装后在 Claude Code 中输入/build-optimize确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/go.mdjs-ts.mdmethodology.mdpython.mdrust.md详细介绍
本地构建优化
修改前先测量本地实际耗时。保留检查项、产物和失败行为。
此技能涵盖本地 cargo、pytest、npm、pnpm、go 和 just 命令。 GitHub Actions 工作流计时或变更请使用 /ci-optimize。
规范
铁律: 提出具体编辑方案前,先测量经批准的运行计划。
危险信号——发现以下情况时请停止:
- 编辑移除检查项或产物、改变工作负载,或隐藏失败。
- 缓存操作、样本数量、预热次数或隔离方式与经批准的计划不同。
- 冷、热样本组被合并,或受阻的辅助工具对比被当作性能提升结论。
| 似是而非的说法 | 其错误之处 | 必须采取的操作 |
|---|---|---|
| “热启动运行更快,所以每次构建都更快。” | 热启动运行跳过了冷缓存工作。 | 分别报告每个样本组。 |
| “并行测试更快。” | 并行工作进程需要测试隔离。 | 先证明隔离成立,再制定计划。 |
| “辅助工具缺失,所以原始计时数据已经足够。” | 原始计时数据无法通过对比关卡。 | 保留原始证据,并报告对比受阻。 |
参考资料
定义运行计划前,先阅读方法说明。 定义运行计划前,先阅读对应生态系统的参考资料。 采集本地计时数据前,先阅读同级的 local.md。 构建规范化输入前,先阅读同级的 schemas.md。
- 生态系统:rust.md、python.md、js-ts.md、go.md。
- 计时:methodology.md。
- 同级适配器:ci-optimize 技能的 references 目录中的
local.md和schemas.md。
工作流
- 阅读仓库说明。确定权威的本地命令。
- 制定运行计划,明确确切命令、预热次数和样本数量、缓存操作、隔离方式、输出路径和成本。
- 获取对运行计划的明确批准。
- 使用经批准的缓存样本组测量基线。
- 报告基线证据。
- 提出受影响的文件、收益假设、风险、验证方法以及任何既定回滚方案。
- 更改受跟踪的源代码前,等待对编辑计划的明确批准。
- 通过仓库现有的编辑流程应用经批准的更改。
- 按照相同方案重新测量。验证所有检查项、产物和失败行为。
- 报告完成后停止;若缺少必要输入,也应停止。
命令
根据实际加载的 SKILL.md 所在目录解析 CI_OPTIMIZE_HELPER。
追加 ../ci-optimize/scripts/ci_optimize.py 前,先解析符号链接。
切勿根据使用该技能的仓库当前目录推导辅助工具路径。
辅助工具不会执行命令、编辑源代码、安装依赖或提交更改。
从使用该技能的仓库工作目录运行命令:
python3 "$CI_OPTIMIZE_HELPER" from-hyperfine --input BEFORE-RAW.json --command 'COMMAND' --revision REVISION --environment ENV --cache-state STATE --workload-label LABEL --output BEFORE.json
python3 "$CI_OPTIMIZE_HELPER" from-hyperfine --input AFTER-RAW.json --command 'COMMAND' --revision REVISION --environment ENV --cache-state STATE --workload-label LABEL --output AFTER.json
python3 "$CI_OPTIMIZE_HELPER" compare --before BEFORE.json --after AFTER.json --minimum-samples N --output COMPARISON.json
对经批准的各个缓存样本组分别运行此序列,并使用不同的输出路径。
仅在替换现有的明确指定输出文件时使用 --force。
同级辅助工具缺失时,保留原始证据。
辅助工具缺失时,报告对比受阻。
不要安装辅助工具,也不要豁免对比关卡。
证据与报告
阅读 COMPARISON.json。要求 comparability: true。
报告状态、命令边界、符合条件和排除的样本数量、中位数和范围、差值、检查项、产物、限制、下一步批准事项以及证据路径。
保留每个被排除的样本及其原因。
在确认事项中记录经批准的上下文差异。
确认事项不能豁免工作负载或验证不匹配,也不能证明覆盖范围等效。
描述观察结果,不要承诺具体数值收益。报告不超过 200 个字。
不要重命名无关关卡、添加自动修复检查项或更改 CI 工作流。