用途
该技能用于对 martool CLI 命令进行穷尽式测试或发布门禁验证。它通过一个能产出证据的入口脚本,运行 martool 的两套权威黑盒测试矩阵:generated 矩阵与 platform CLI 审计矩阵。支持两种目标模式:源码检出(source 模式)和已部署的 Coolify 容器(Coolify 模式,通过 SSH 访问)。完整通过可证明所有由 manifest 派生的用例均已完成、覆盖精确且无任何 provider 调用;过滤运行仅作诊断用途。
主要能力
- 运行 martool 全部 CLI 命令或标志的测试矩阵。
- 合并 generated 与 platform CLI 两套审计。
- 验证 martool 发布候选版本或已部署镜像。
- 复现单个 martool 命令的标志矩阵。
- 在不产生 DataForSEO 花费的前提下证明 CLI 覆盖。
- 通过 SSH 测试线上 Coolify 镜像,而非本地 Docker。
使用方式
前置解析
将 MARTOOL_CLI_SKILL_DIR 解析为包含本 SKILL.md 的目录,不要假设技能位于目标仓库中:
export MARTOOL_CLI_SKILL_DIR=/path/to/installed/test-martool-cli node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs" --help
源码检出模式
node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target source
--repo /path/to/martool
--report-dir /tmp/martool-cli-source-proof
已部署 Coolify 模式
node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target coolify
--ssh-host hetzner
--report-dir /tmp/martool-cli-coolify-proof
诊断用法
仅选择一套矩阵以隔离失败:
node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target source --repo /path/to/martool
--matrix generated
过滤到单个 manifest 命令以复现其用例:
node "$MARTOOL_CLI_SKILL_DIR/scripts/run-martool-cli-audit.mjs"
--target coolify --ssh-host hetzner
--command "keywords research"
使用 --matrix 非 all 或任何 --command 过滤的运行必须返回 diagnostic-pass,而非 verified。
证据检查与结果分类
先检查 combined.json,再查看失败检查所指向的原始报告。可能的结果:
- verified:两套完整矩阵在单一固定目标上通过且覆盖精确。报告目标 ID、总数、覆盖情况与零 provider 证明。
- diagnostic-pass:所有选定用例通过,但范围有意为部分。报告确切的矩阵/命令范围,不要称为穷尽。
- failed:预检、执行、覆盖、安全或目标固定契约失败。根据原始报告与故障排查进行分类。
报告内容
报告应包含:源码提交或部署容器/镜像 ID;选择范围(全部、单矩阵或单命令);manifest 派生的命令计数;每个已执行矩阵的尝试/通过/失败总数;覆盖完整性;平台 provider 调用计数器;原始报告哈希与合并报告路径;最终结论。
适用场景
当用户要求以下操作时使用:运行所有 martool CLI 命令或标志;合并 generated 与 platform CLI 审计;验证 martool 发布候选或已部署镜像;复现单个 martool 命令的标志矩阵;在不产生 DataForSEO 花费的前提下证明 CLI 覆盖;或通过 SSH 测试线上 Coolify 镜像而非本地 Docker。
限制与规则
- 运行或更改任何内容前,先阅读最近的仓库说明。
- 以 martool 自带的审计工具为唯一事实来源,不要用临时 shell 循环重新实现其标志用例。
- 针对用户请求的目标运行。若用户指定 Coolify、Hetzner、SSH、已部署镜像,或要求不使用本地 Docker,则使用 Coolify 模式,绝不启动本地 Docker。
- 预先声明范围:完整发布证明或单命令诊断。绝不将过滤或单矩阵运行描述为穷尽。
- 要求零平台 provider 调用和零付费 provider 调用。不要为通过审计而添加凭据。
- 运行前将部署证据固定到单一健康容器 ID 与镜像 ID;任一变化即失败。
- 在声称结果前保存并检查原始报告及 combined.json。
- 不适用于通用 CLI、MCP 协议测试、线上 provider 质量测试、部署或应用功能开发。MCP 传输/工具冒烟测试请使用 test-by-mcpc-cli,部署变更请使用 deploy-coolify-cloud。
- 绝不为 Coolify 验证使用本地 Docker。
- 绝不打印远程环境变量、Docker inspect 环境数据、凭据或 SSH 配置。
- 绝不运行付费 provider 命令来证明 CLI 测试工具。
- 绝不将当前命令或用例计数硬编码为验收阈值。
- 绝不从单矩阵、过滤命令、旧报告或已变更容器报告 verified。
- 绝不手工编辑 martool 生成的 skills/martool/SKILL.md;它是产品生成的用法指南,而非本测试工作流。
参考路由
- 首次使用、安装、运行时前置条件或定位技能脚本:references/installation.md
- 判断证据是否穷尽、解读 JSON 或退出码:references/audit-contract.md
- Hetzner/Coolify、SSH、容器发现、镜像固定或远程安全:references/coolify-remote.md
- 命令失败、覆盖不完整、发现不明确或报告缺失:references/troubleshooting.md
常见阅读组合:首次源码运行读 installation + audit contract;首次部署运行读 installation + Coolify remote + audit contract;失败运行读 audit contract + troubleshooting,SSH/容器失败时加读 Coolify remote。