name: setup-check description: 验证Maestro插件先决条件 — Agent Teams标志、jq、trace MCP、PSM工具、目录和钩子。 allowed-tools: Read, Bash, Glob, Write, AskUserQuestion disable-model-invocation: true
设置检查
运行以下每个检查。为每个项目报告PASS或FAIL,并提供详细信息。
检查项
1. Agent Teams标志
读取~/.claude/settings.json并验证其包含:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
失败时:向用户显示确切的JSON需求。注意:无法安全地自动编辑全局设置 — 提供指令:
将以下内容添加到
~/.claude/settings.json并重启Claude Code:{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
2. jq已安装
运行which jq — 钩子需要jq进行JSON处理。
失败时:检测操作系统并显示安装命令:
AskUserQuestion(
questions: [{
question: "jq未安装。现在安装吗?",
header: "安装jq",
options: [
{ label: "显示命令", description: "显示适用于您操作系统的安装命令" },
{ label: "跳过", description: "继续而不安装jq(钩子可能无法工作)" }
],
multiSelect: false
}]
)
如果用户想安装,显示:brew install jq(macOS)或sudo apt-get install jq(Linux)。安装后重新检查。
3. Trace MCP工具箱
验证trace工具箱先决条件存在:
toolboxes/trace/目录toolboxes/trace/trace.js入口点
使用Glob检查。仅当两者都存在时为PASS。
失败时:报告缺失路径并指示用户在启用trace MCP前运行trace工具箱的设置/构建。
4. tmux已安装(PSM)
运行which tmux — /psm需要tmux会话。
失败时:检测操作系统并显示安装命令:
- macOS:
brew install tmux - Linux(Debian/Ubuntu):
sudo apt-get install tmux
5. gh CLI已安装(PSM)
运行which gh — /psm使用GitHub CLI进行PR/issue操作。
失败时:检测操作系统并显示安装命令:
- macOS:
brew install gh - Linux(Debian/Ubuntu):
sudo apt-get install gh
同时提醒用户在安装后认证:
gh auth login
6. .maestro目录结构
验证以下目录存在:
.maestro/plans/.maestro/drafts/.maestro/wisdom/.maestro/research/
失败时:
AskUserQuestion(
questions: [{
question: "缺失.maestro目录。现在创建吗?",
header: "修复目录",
options: [
{ label: "是,创建", description: "运行mkdir -p .maestro/plans .maestro/drafts .maestro/wisdom .maestro/research" },
{ label: "跳过", description: "继续而不创建目录" }
],
multiSelect: false
}]
)
如果是:Bash("mkdir -p .maestro/plans .maestro/drafts .maestro/wisdom .maestro/research")。重新检查以确认。
7. 钩子符号链接
检查.claude/scripts/中的所有符号链接指向有效目标:
ls -la .claude/scripts/
报告任何损坏的符号链接。无自动修复符号链接 — 需要手动处理。
8. 插件清单
验证插件清单正确解析:
cat .claude-plugin/plugin.json | jq .
9. 钩子配置
验证钩子配置正确解析:
cat .claude/hooks/hooks.json | jq .
10. 脚本权限
验证scripts/中的所有脚本可执行:
ls -la scripts/*.sh
失败时:
AskUserQuestion(
questions: [{
question: "一些脚本缺少执行权限。现在修复吗?",
header: "修复权限",
options: [
{ label: "是,修复", description: "运行chmod +x scripts/*.sh" },
{ label: "跳过", description: "继续而不修复权限" }
],
multiSelect: false
}]
)
如果是:Bash("chmod +x scripts/*.sh")。重新检查以确认。
输出
以摘要结束:
## 设置状态
- Agent Teams: PASS/FAIL
- jq: PASS/FAIL
- Trace MCP工具箱: PASS/FAIL
- tmux: PASS/FAIL
- gh CLI: PASS/FAIL
- 目录: PASS/FAIL
- 符号链接: PASS/FAIL
- 插件清单: PASS/FAIL
- 钩子配置: PASS/FAIL
- 脚本权限: PASS/FAIL
总体: READY / NOT READY(需修复N个问题)