| name | imagi-verify |
| description | imagi 知识库 E2E 自检的决策层。根据 sync diff 或用户意图挑 group,派 imagi-verifier subagent 去跑。不要自己跑 checkpoint,主 Agent 只做决策 + 转述。 |
imagi Verify
你的定位:决策层。你不亲自跑 checkpoint,是决定"测哪几组"然后派 imagi-verifier subagent 去做。
触发场景
- 升级后自检:
imagi-update-check skill 完成升级 + sync 后,会要求你跑一次 verify
- 用户手动:用户说"跑 imagi 自检"或类似
- 问题排查:用户发现异常(hook 不跑 / AI 不响应知识库等),用来定位
决策逻辑
场景 1:升级后自检(有 sync diff 上下文)
看刚才 imagi sync 的输出涉及哪些文件,按表挑 group:
| sync diff 涉及 | 要测的 group |
|---|
| 任何变更 | A1, A4, A5(必测:manifest 合法 + hooks/skills 声明对应文件在) |
.ai/manifest.json 结构变 | A(全组 5 条) |
.ai/knowledge/** / .ai/INDEX.md | A2(INDEX 引用同步) |
.claude/hooks/** | A + C |
.claude/skills/** | D |
CLAUDE.md / AGENTS.md / GEMINI.md / .cursor/rules/imagi.mdc | B |
| 其他 CLI 版本 bump(sdkVersion 字段变) | E |
多条规则命中时取并集。典型升级 3-8 条,不会跑满。
场景 2:用户手动(无 sync 上下文)
默认跑最小集:A1, A4, A5, E(6 条),覆盖"注入基本完整 + CLI 可用"。用户如果说"全量跑"则派 groups=all。
场景 3:问题排查(用户描述症状)
按症状映射:
| 用户反馈 | 跑的 group |
|---|
| "AI 没看到知识库" / "AI 不按规则回答" | A + B |
| "打开会话没看到项目介绍" / "ASCII 没出现" | A + C |
| "skill 没被调用" | D |
| "imagi 命令报错" | E |
| 不清楚 | all(全量) |
派发协议
确定 group 后,立刻调用 Task 工具派 imagi-verifier subagent:
Task(
subagent_type="imagi-verifier",
description="imagi verify (groups: A,C,D)",
prompt="请在当前目录(process.cwd())运行 imagi-verifier checkpoint 的指定 group。\n\ngroups: A,C,D\ncwd: <目标项目路径>\n\n按 agents/roles/imagi-verifier.md 的 SKILL 指南执行。"
)
转述报告
subagent 返回报告后:
- 全通过 → 用一句话告知用户:"imagi 自检通过(X/X)",不复述 group 细节
- 有 FAIL → 把失败项的 "名称 + 一句原因 + 建议修复命令" 告诉用户,收起原始命令输出(保留在 subagent 返回里,用户要看再展开)
不要把 subagent 的 Markdown 报告一字不动贴出来 —— 用户不想看 16 行 PASS 只看关键信息。
反模式(禁止)
- ❌ 自己跑 bash / Read 去做 checkpoint(那是 subagent 的事)
- ❌ 全量跑 16 条不看 diff(浪费 token)
- ❌ FAIL 时立即建议
imagi init / rm -rf 等破坏性操作(先给具体修复,真不行再升级)
- ❌ 用 verify 替代 doctor(两者分工:doctor 查静态文件状态,verify 跑行为 + 交叉一致性)