Parent
#60 — 插件安装自检命令 /toolbox-lint
What to build
创建 commands/toolbox-lint.md 命令文件。该命令运行时,agent 执行三层自检并输出结构化的 TOOLBOX_LINT_REPORT。
命令定义
---
description: Verify the toolbox plugin is correctly and completely installed. Runs a three-level self-check — L1 existence, L2 content correctness, L3 functional smoke — and outputs a TOOLBOX_LINT_REPORT with per-item PASS/FAIL/WARN verdicts.
---
三层检查清单
L1 — 存在性检查
| 项 | 预期 |
|---|
dist/index.js | 存在 |
node_modules/ | 存在 |
agents/implementer.md | 存在 |
agents/reviewer.md | 存在 |
agents/argus.md | 存在 |
commands/ 下至少 6 个 .md(含 toolbox-lint 自身) | 存在 |
skills/ 目录 | 非空 |
upstream/skills/engineering/ | 存在 SKILL.md 文件 |
upstream/skills/productivity/ | 存在 SKILL.md 文件 |
principles/karpathy.md | 存在 |
principles/karpathy-primary.md | 存在 |
| Canary skill 文件 | 存在 |
| Canary command 文件 | 存在 |
L2 — 内容正确性检查
| 项 | 验证方式 |
|---|
所有 agent .md 有有效 YAML frontmatter + prompt 字段 | gray-matter 解析 |
| Implementer prompt 包含 Karpathy principles | 子串匹配 "Principle 1: Think Before Coding" |
| Reviewer prompt 包含 Karpathy principles | 子串匹配 "Principle 1: Think Before Judging" |
| Argus prompt 包含 Karpathy principles | 子串匹配 "Principle 1: Think Before Analyzing" |
所有 command .md 有有效 frontmatter + description | gray-matter 解析 |
所有 SKILL.md 有有效 frontmatter + name、description | gray-matter 解析 |
karpathy.md 包含全部 4 条 principle | 子串匹配 "Principal 1" 到 "Principal 4" |
| 自我报告 JSON 可解析 | 读取 + JSON.parse |
| 自我报告中的 agents 数量与文件系统一致 | 交叉核对 |
| 自我报告中的 commands 与文件系统一致 | 交叉核对 |
| 自我报告中的 skill_paths 三项都存在且可读 | 交叉核对 |
| 自我报告中的 upstream_skill_commands 与文件系统一致 | 交叉核对 |
L3 — 功能冒烟检查
| 项 | 验证方式 |
|---|
| 加载 canary skill | skill 工具 → 检查返回 CANARY_OK: toolbox skill registration verified |
| 加载上游 engineering skill(如 tdd 或 diagnose) | skill 工具 → 成功返回指令 |
| 加载上游 productivity skill(如 caveman) | skill 工具 → 成功返回指令 |
| 调用 canary command | command 执行 → 检查输出 CANARY_OK: toolbox command registration verified |
| 调用上游 command(如 /caveman) | command 执行 → 正常返回 |
| Dispatch agent(general 做简单任务) | task 工具 → 正常返回 |
| bun runtime 可用 | bun --version → 成功 |
输出格式
TOOLBOX_LINT_REPORT:
## L1 — 存在性检查
[PASS] dist/index.js
[FAIL] principles/karpathy.md — 文件不存在
...
## L2 — 内容正确性检查
[PASS] agents/implementer.md — frontmatter 有效
[WARN] agents/reviewer.md — prompt 缺少 Principle 3
...
## L3 — 功能冒烟检查
[PASS] canary skill 加载成功
[FAIL] upstream skill (tdd) 加载失败
...
## 汇总
L1: 11/13 PASS, 2 FAIL
L2: 10/12 PASS, 1 FAIL, 1 WARN
L3: 5/7 PASS, 2 FAIL
- 报告以
TOOLBOX_LINT_REPORT: 开头 - 每项标注
[PASS]、[FAIL]、[WARN] - FAIL 和 WARN 附带简要原因
- 末尾汇总各层通过率
- FAIL 项不触发自动修复
自指处理
/toolbox-lint 自身在 L1 命令文件存在性检查中作为文件被统计,形成自指验证- L3 中不自我调用
/toolbox-lint,避免无限循环
Acceptance criteria
Blocked by
Parent
#60 — 插件安装自检命令
/toolbox-lintWhat to build
创建
commands/toolbox-lint.md命令文件。该命令运行时,agent 执行三层自检并输出结构化的TOOLBOX_LINT_REPORT。命令定义
三层检查清单
L1 — 存在性检查
dist/index.jsnode_modules/agents/implementer.mdagents/reviewer.mdagents/argus.mdcommands/下至少 6 个 .md(含 toolbox-lint 自身)skills/目录upstream/skills/engineering/upstream/skills/productivity/principles/karpathy.mdprinciples/karpathy-primary.mdL2 — 内容正确性检查
prompt字段descriptionname、descriptionkarpathy.md包含全部 4 条 principleL3 — 功能冒烟检查
CANARY_OK: toolbox skill registration verifiedCANARY_OK: toolbox command registration verifiedbun --version→ 成功输出格式
TOOLBOX_LINT_REPORT:开头[PASS]、[FAIL]、[WARN]自指处理
/toolbox-lint自身在 L1 命令文件存在性检查中作为文件被统计,形成自指验证/toolbox-lint,避免无限循环Acceptance criteria
commands/toolbox-lint.md存在,frontmatter 有效(description字段)/toolbox-lint输出以TOOLBOX_LINT_REPORT:开头Blocked by