{
  "schemaVersion": "1.0",
  "item": {
    "slug": "team-dev",
    "name": "Team Dev",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/VintLin/team-dev",
    "canonicalUrl": "https://clawhub.ai/VintLin/team-dev",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/team-dev",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=team-dev",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "config/agents.json",
      "config/user.json",
      "references/AGENTS.md",
      "references/agent-adapters.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/team-dev"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/team-dev",
    "agentPageUrl": "https://openagent3.xyz/skills/team-dev/agent",
    "manifestUrl": "https://openagent3.xyz/skills/team-dev/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/team-dev/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Dev Team",
        "body": "One-person dev team orchestration using Levi as the orchestrator."
      },
      {
        "title": "Main Agent Rules (入口摘要)",
        "body": "主 Agent 是编排器（orchestrator），不是默认主力编码器。\n\n关键准则：\n\nPR 优先：正式开发默认使用 --completion-mode pr\n禁止 SubAgent 在 main/master 上直接开发（spawn-agent.sh 已拦截）\n主 Agent 使用最小上下文：优先看状态机与聚合结果，而不是全量日志\n阶段化编排：明确 --phase build|review|fixup\n自动化负责推进与收口（check/review/fixup/cleanup/prune），人工保留最终产品决策与 GitHub approve\nSubAgent DONE 不等于任务完成：合并前必须做 post-task review（DoD + 真实验证 + 指标门禁）\n\n详细说明见：\n\nreferences/AGENTS.md（主 Agent 行动准则）\n（已合并入 references/AGENTS.md）编排模型与状态机\n（已合并入 references/AGENTS.md）主 Agent 最小上下文操作手册"
      },
      {
        "title": "首次使用",
        "body": "# 运行设置检查\nscripts/setup-check.sh"
      },
      {
        "title": "启动内置 dev-board 控制面板",
        "body": "dev-team 已内置 scripts/dev-board/，可直接启动：\n\n./scripts/run-dev-board.sh\n\n默认地址：http://localhost:4310"
      },
      {
        "title": "Spawn an Agent",
        "body": "正式功能开发（推荐 PR 流程）：\n\nscripts/spawn-agent.sh \\\n  --agent auto \\\n  --phase build \\\n  --repo-path ./scripts/dev-board \\\n  --branch feat/auth-timeout-fix \\\n  --description \"修复登录超时错误\" \\\n  --completion-mode pr \\\n  --prompt-file /tmp/task-prompt.txt\n\n本地 smoke / 临时探索（仅无 PR 场景使用 session）：\n\nscripts/spawn-agent.sh \\\n  --agent auto \\\n  --repo-path ./scripts/dev-board \\\n  --branch fix/auth-error \\\n  --description \"修复登录超时错误\" \\\n  --phase build \\\n  --completion-mode session \\\n  --prompt-file /tmp/task-prompt.txt"
      },
      {
        "title": "Check Agent Status",
        "body": "cat assets/active-tasks.json"
      },
      {
        "title": "Monitor Agents",
        "body": "scripts/check-agents.sh"
      },
      {
        "title": "Mandatory: Post-task Review Gate (合并前必做)",
        "body": "当 SubAgent 报告完成（例如 TASK_*_DONE）后，主 Agent 必须执行：\n\n# 1) 看任务状态与日志摘要\nscripts/check-agents.sh\n\n# 2) 审核 subagent 提交内容（示例）\ngit -C <subagent-worktree> show --name-only --oneline -n 1 <commit>\n\n# 3) 在目标仓库执行任务 DoD 规定的真实验证命令（示例）\n# 例如：真实 ingestion/validate、真实 API 调用、非 mock 链路\n\n通过标准：\n\nDoD 条款全部满足\n至少 1 条真实链路验证通过（非 mock）\n指标达到任务阈值（如 successRate/evidenceBindingRate/citationNonEmptyRate/fallbackRate）\n\n不通过处理：\n\n不合并\n立即派发 fixup（同分支或新分支）\n在 docs 中记录“未通过项 + 修复输入”"
      },
      {
        "title": "Supported Agents",
        "body": "AgentUse CaseCommandCodex后端逻辑、复杂 bug、多文件重构codex exec --dangerously-bypass-approvals-and-sandbox -C \"/path\" \"prompt\"Claude Code前端、git 操作、快速任务claude --dangerously-skip-permissions -p \"prompt\"GeminiUI 设计、生成规范gemini -p \"prompt\" 或 gemini -y -p \"prompt\" (YOLO 模式)Cursor前端产品化、IDE 协同、界面 polish；版本前差异分析（plan）cursor agent -f -p --workspace \"/path\" --model composer-1.5 \"prompt\""
      },
      {
        "title": "spawn-agent.sh",
        "body": "创建新任务并启动代理。\n\n参数：\n\n--agent (必需): codex | claude | gemini | cursor | auto（推荐）\n--repo (必需二选一): 仓库名（位于 skill 上级目录时使用）\n--repo-path (必需二选一，推荐): 仓库绝对/相对路径；用于 skill 根目录外的仓库\n--branch (必需): 分支名\n--description (必需): 任务描述\n--prompt (三选一): 代理提示词（短文本时可用）\n--prompt-file (三选一，推荐): 从文件读取提示词，避免 shell 转义问题（尤其包含反引号、$()、多行内容）\n--prompt-b64 (三选一): Base64 提示词，适合脚本自动化调用\n--agent-model (可选): 指定模型（例如 --agent cursor --agent-model composer-1.5）\n--cursor-mode (可选): dev|plan（仅 cursor 生效，默认 dev）\n\nplan 时会自动使用模型 gpt-5.3-codex\n\n\n--phase (可选): build|review|fixup（默认 build）；会受 config/user.json.agentPolicy 限制\n--completion-mode (可选): pr(默认) | session；本地测试仓库无 PR 时建议用 session\n--auto-merge (可选，pr 模式): 当 CI 与 review 满足条件后触发 gh pr merge --auto\n--merge-method (可选，pr 模式): squash|merge|rebase，默认 squash\n--cleanup-after-seconds (可选): 临时 worktree 清理 TTL；session 模式默认 3600"
      },
      {
        "title": "check-agents.sh",
        "body": "监控所有运行中的代理。\n\n功能：\n\n检查 tmux 会话是否存活\n检查 PR 是否已创建（completionMode=pr）\n跟踪 PR 状态机（waiting_checks / checks_failed / waiting_review / changes_requested / merge_ready / merge_queued / merged）\n检查 required CI checks（gh pr checks --required）\n检查 reviewDecision（gh pr view --json reviewDecision）\n可选自动触发 gh pr merge --auto（任务级 autoMerge 或 config/user.json.pr.autoMerge）\n失败自动重试（按配置延迟，最多3次；依赖任务记录中的命令元数据）\n写入通知到 notifications.json (由 OpenClaw 发送飞书通知)\n结束后可自动触发 cleanup-worktrees.sh 与 prune-history.sh（避免 worktree / active-tasks 膨胀）\n\n注意：\n\nsession exit mode 仅表示会话结束，不代表质量达标。\n质量达标必须由主 Agent 的 post-task review 判定。"
      },
      {
        "title": "review-agent.sh",
        "body": "多 reviewer 代码审查（默认三审：codex + gemini + claude）。\n\n参数：\n\n--repo (必需): 仓库名\n--branch (必需): 分支名或 PR 号\n--reviewers: 审查者 (默认: codex,gemini,claude；默认要求至少 3 个)\n--allow-fewer-reviewers: 调试用，允许少于 3 个 reviewer\n--no-post: 只生成本地审查产物，不回写 PR 评论\n\n行为（新版）：\n\n每个 reviewer 生成结构化审查结论（Verdict / Findings / Validation / Next Steps）\n自动抓取 gh pr diff 并注入 reviewer prompt（截断版）\n每个 reviewer 单独在 PR 下发表评论（正文带 [dev-team][reviewer=...] 标识）\n会按 config/user.json.agentPolicy 过滤禁用/阶段不允许的 reviewer\n生成聚合结果 assets/logs/reviews/review-<pr>-<ts>.aggregate.json\n聚合策略会结合 reviewer 权重、severity 和 reviewer 角色偏好，输出：\n\nwaiting_human_approve\nreview_changes_requested\nreview_human_attention\n\n\n写回 assets/active-tasks.json：\n\nchecks.reviewAggregate\nchecks.reviewSummary\nchecks.fixupSuggested\nchecks.fixupTarget（用于后续优先回原 subagent 返工）"
      },
      {
        "title": "aggregate-reviews.sh",
        "body": "聚合多 reviewer 的审查产物，输出单一决策（通过 / 需修改 / 人工关注）。\n\n示例：\n\n./scripts/aggregate-reviews.sh --file assets/logs/reviews/review-1-1234567890.json"
      },
      {
        "title": "request-fixup.sh",
        "body": "根据 review-agent 聚合结果，为原 PR 负责 subagent 生成返工 prompt，并优先发回原 subagent（如会话仍存活）。\n\n参数：\n\n--branch <branch> 或 --pr <number>：定位任务\n--dry-run：只生成返工 prompt，不执行\n--spawn-if-dead：原 subagent 会话已退出时，按同 branch 重新派工（谨慎使用）\n\n行为：\n\n读取 checks.reviewAggregate / checks.reviewAggregateFile\n若 fixupSuggested=true，生成结构化返工 prompt（按 severity 排序）\n写回 checks.fixupRequestedAt / checks.fixupRequestMode\n默认优先回原 subagent（同 branch owner）处理"
      },
      {
        "title": "Agent Adaptation & Policy",
        "body": "统一 agent 适配与全流程使用建议：references/agent-adapters.md\n可配置 agent 启用开关与阶段允许列表：config/user.json -> agentPolicy\n推荐器支持阶段参数（会过滤禁用 agent）：\n\n./scripts/recommend-agent.sh --description \"前端看板优化\" --phase build\n./scripts/recommend-agent.sh --description \"PR 代码审核\" --phase review"
      },
      {
        "title": "cleanup-worktrees.sh",
        "body": "清理已合并的 worktree。\n\n补充说明：\n\n对 completionMode=session 且 cleanupMode=session_ttl 的任务，会在 cleanupEligibleAt 到期后自动清理 worktree\n清理后任务状态会写回为 cleaned（保留历史记录）"
      },
      {
        "title": "prune-history.sh",
        "body": "归档 assets/active-tasks.json 中过旧的已完成任务（done/failed/cancelled/cleaned/...），避免注册表无限增长。\n\n常用参数：\n\n--keep-days <days>: 仅归档早于 N 天的记录（当前默认配置为 0，更偏热数据）\n--keep-count <n>: 无论时间如何，至少保留最近 N 条非失败/取消终态记录（当前默认配置为 12）\n--keep-fail-cancel-days <days>: failed/cancelled 独立归档天数（默认可更激进）\n--keep-fail-cancel-count <n>: 至少保留最近 N 条 failed/cancelled\n--dry-run: 预览归档数量，不落盘\n\n自动化建议：\n\ncleanup-worktrees.sh 执行后自动触发 prune-history.sh（可在 config/user.json.archive 配置）\n也可单独配置每日归档 cron\n\n说明：\n\ncleanup-worktrees.sh 会清理孤儿 worktree（任务已归档但同级目录仍残留）\nsession_ttl 会受全局 TTL 上限约束，避免历史任务长时间占用磁盘"
      },
      {
        "title": "setup-check.sh",
        "body": "首次使用检查脚本，验证配置完整性。"
      },
      {
        "title": "recommend-agent.sh",
        "body": "根据任务描述/提示词关键词、当前运行负载、CLI 健康状态推荐最合适的 agent（含理由）。\n\n示例：\n\n./scripts/recommend-agent.sh \\\n  --description \"dev-board 前端 UI 产品化改版，优化筛选与日志面板\" \\\n  --prompt-file /tmp/task-prompt.txt \\\n  --format json"
      },
      {
        "title": "list-agent-models.sh",
        "body": "列出 agent 模型（当前主要用于 Cursor）。\n\n示例：\n\n./scripts/list-agent-models.sh cursor"
      },
      {
        "title": "enqueue-task.sh / list-queue.sh / claim-task.sh",
        "body": "Queue/Claim 模式（推荐演进路径，现已提供最小可用版本）：\n\nenqueue-task.sh：主 Agent 添加任务到队列（assets/tasks.json）\nlist-queue.sh：查看队列（支持状态/阶段过滤）\nclaim-task.sh：认领一个 queued 任务并调用 spawn-agent.sh 派工\nsync-queue-status.sh：根据 assets/active-tasks.json 回写队列任务状态（running/done/cleaned/...）\nprune-queue-history.sh：归档 assets/tasks.json 中过旧终态队列任务到 assets/logs/archives/queue-history-YYYY-MM.jsonl\n\n示例：\n\n./scripts/enqueue-task.sh \\\n  --repo-path ./scripts/dev-board \\\n  --branch feat/dev-board-action-history \\\n  --description \"dev-board 操作历史列表\" \\\n  --phase build \\\n  --completion-mode pr \\\n  --prompt-file /tmp/task.txt\n\n./scripts/list-queue.sh --status queued\n./scripts/claim-task.sh --agent auto"
      },
      {
        "title": "Task Registry",
        "body": "位置：assets/active-tasks.json\n\n编码约定：\n\n所有任务与通知 JSON 文件统一使用 UTF-8 保存\n写入时使用 ensure_ascii=False，中文会以可读形式保存（不再显示 \\\\uXXXX）\n\n归档约定：\n\nassets/active-tasks.json 保存热数据（运行中 + 近期终态任务）\n历史记录归档到 assets/logs/archives/task-history-YYYY-MM.jsonl\n\n任务状态以脚本实现为准，详见 references/state-machine.md。\n\n补充字段（新任务会记录）：\n\nrequestedAgent: 用户请求的 agent（可能是 auto）\nagentModel: 实际使用模型（如 composer-1.5）\nagentSelectionReason: 自动派工的简要理由（关键词/健康回退等）"
      },
      {
        "title": "References",
        "body": "状态机: references/state-machine.md\nCLI / tmux: references/cli-reference.md\nPrompt 模板: references/prompt-templates.md（推荐 Subagent Task Contract）\n完成后验收清单: references/post-task-review-checklist.md\n初始化 / Cron: references/initialization.md"
      },
      {
        "title": "1) Claude 子任务启动失败（常见于复杂 prompt）",
        "body": "常见根因：\n\n在 shell 中直接使用 --prompt \"...\"，内容包含反引号、$() 等，导致 shell 提前展开，实际传给脚本的 prompt 被污染。\n\n修复方式（推荐顺序）：\n\n使用 --prompt-file（首选）\n自动化调用使用 --prompt-b64\n仅短 prompt 使用 --prompt"
      },
      {
        "title": "2) Cursor agent 无法使用 / 很少被选中",
        "body": "如果 cursor agent status 显示 Not logged in，spawn-agent 会在启动前直接失败并提示：\n\ncursor agent login\n\n你提到常用模型 composer 1.5，当前已在 config/agents.json 中设为 Cursor 默认模型（composer-1.5）。\n如需覆盖：\n\n./scripts/spawn-agent.sh --agent cursor --agent-model composer-1.5 ...\n\nCursor plan 模式（用于版本前差异分析）：\n\n./scripts/spawn-agent.sh \\\n  --agent cursor \\\n  --cursor-mode plan \\\n  --repo-path /path/to/repo \\\n  --branch feat/version-plan \\\n  --description \"版本规划与差异分析\" \\\n  --completion-mode session \\\n  --prompt-file /tmp/plan.txt\n\n说明：\n\n该模式等价于 cursor agent --mode plan（只读规划，不改代码）\nspawn-agent 会强制模型为 gpt-5.3-codex"
      },
      {
        "title": "3) PR / CI / review 流程不推进",
        "body": "必要前置条件：\n\n仓库已配置 GitHub origin remote\ngh auth status 有效（token 未过期）\nsubagent 的 prompt 明确要求：\n\n提交 commit\ngit push -u origin <branch>\ngh pr create ...\n\n如果缺一项，check-agents.sh 无法推进 PR 状态机。"
      },
      {
        "title": "tmux",
        "body": "tmux new-session -d -s <name> -c <dir> \"command\"\ntmux send-keys -t <session> \"text\" Enter\ntmux list-sessions\ntmux kill-session -t <session>"
      }
    ],
    "body": "Dev Team\n\nOne-person dev team orchestration using Levi as the orchestrator.\n\nMain Agent Rules (入口摘要)\n\n主 Agent 是编排器（orchestrator），不是默认主力编码器。\n\n关键准则：\n\nPR 优先：正式开发默认使用 --completion-mode pr\n禁止 SubAgent 在 main/master 上直接开发（spawn-agent.sh 已拦截）\n主 Agent 使用最小上下文：优先看状态机与聚合结果，而不是全量日志\n阶段化编排：明确 --phase build|review|fixup\n自动化负责推进与收口（check/review/fixup/cleanup/prune），人工保留最终产品决策与 GitHub approve\nSubAgent DONE 不等于任务完成：合并前必须做 post-task review（DoD + 真实验证 + 指标门禁）\n\n详细说明见：\n\nreferences/AGENTS.md（主 Agent 行动准则）\n（已合并入 references/AGENTS.md）编排模型与状态机\n（已合并入 references/AGENTS.md）主 Agent 最小上下文操作手册\nQuick Start\n首次使用\n# 运行设置检查\nscripts/setup-check.sh\n\n启动内置 dev-board 控制面板\n\ndev-team 已内置 scripts/dev-board/，可直接启动：\n\n./scripts/run-dev-board.sh\n\n\n默认地址：http://localhost:4310\n\nSpawn an Agent\n\n正式功能开发（推荐 PR 流程）：\n\nscripts/spawn-agent.sh \\\n  --agent auto \\\n  --phase build \\\n  --repo-path ./scripts/dev-board \\\n  --branch feat/auth-timeout-fix \\\n  --description \"修复登录超时错误\" \\\n  --completion-mode pr \\\n  --prompt-file /tmp/task-prompt.txt\n\n\n本地 smoke / 临时探索（仅无 PR 场景使用 session）：\n\nscripts/spawn-agent.sh \\\n  --agent auto \\\n  --repo-path ./scripts/dev-board \\\n  --branch fix/auth-error \\\n  --description \"修复登录超时错误\" \\\n  --phase build \\\n  --completion-mode session \\\n  --prompt-file /tmp/task-prompt.txt\n\nCheck Agent Status\ncat assets/active-tasks.json\n\nMonitor Agents\nscripts/check-agents.sh\n\nMandatory: Post-task Review Gate (合并前必做)\n\n当 SubAgent 报告完成（例如 TASK_*_DONE）后，主 Agent 必须执行：\n\n# 1) 看任务状态与日志摘要\nscripts/check-agents.sh\n\n# 2) 审核 subagent 提交内容（示例）\ngit -C <subagent-worktree> show --name-only --oneline -n 1 <commit>\n\n# 3) 在目标仓库执行任务 DoD 规定的真实验证命令（示例）\n# 例如：真实 ingestion/validate、真实 API 调用、非 mock 链路\n\n\n通过标准：\n\nDoD 条款全部满足\n至少 1 条真实链路验证通过（非 mock）\n指标达到任务阈值（如 successRate/evidenceBindingRate/citationNonEmptyRate/fallbackRate）\n\n不通过处理：\n\n不合并\n立即派发 fixup（同分支或新分支）\n在 docs 中记录“未通过项 + 修复输入”\nSupported Agents\nAgent\tUse Case\tCommand\nCodex\t后端逻辑、复杂 bug、多文件重构\tcodex exec --dangerously-bypass-approvals-and-sandbox -C \"/path\" \"prompt\"\nClaude Code\t前端、git 操作、快速任务\tclaude --dangerously-skip-permissions -p \"prompt\"\nGemini\tUI 设计、生成规范\tgemini -p \"prompt\" 或 gemini -y -p \"prompt\" (YOLO 模式)\nCursor\t前端产品化、IDE 协同、界面 polish；版本前差异分析（plan）\tcursor agent -f -p --workspace \"/path\" --model composer-1.5 \"prompt\"\nScripts\nspawn-agent.sh\n\n创建新任务并启动代理。\n\n参数：\n\n--agent (必需): codex | claude | gemini | cursor | auto（推荐）\n--repo (必需二选一): 仓库名（位于 skill 上级目录时使用）\n--repo-path (必需二选一，推荐): 仓库绝对/相对路径；用于 skill 根目录外的仓库\n--branch (必需): 分支名\n--description (必需): 任务描述\n--prompt (三选一): 代理提示词（短文本时可用）\n--prompt-file (三选一，推荐): 从文件读取提示词，避免 shell 转义问题（尤其包含反引号、$()、多行内容）\n--prompt-b64 (三选一): Base64 提示词，适合脚本自动化调用\n--agent-model (可选): 指定模型（例如 --agent cursor --agent-model composer-1.5）\n--cursor-mode (可选): dev|plan（仅 cursor 生效，默认 dev）\nplan 时会自动使用模型 gpt-5.3-codex\n--phase (可选): build|review|fixup（默认 build）；会受 config/user.json.agentPolicy 限制\n--completion-mode (可选): pr(默认) | session；本地测试仓库无 PR 时建议用 session\n--auto-merge (可选，pr 模式): 当 CI 与 review 满足条件后触发 gh pr merge --auto\n--merge-method (可选，pr 模式): squash|merge|rebase，默认 squash\n--cleanup-after-seconds (可选): 临时 worktree 清理 TTL；session 模式默认 3600\ncheck-agents.sh\n\n监控所有运行中的代理。\n\n功能：\n\n检查 tmux 会话是否存活\n检查 PR 是否已创建（completionMode=pr）\n跟踪 PR 状态机（waiting_checks / checks_failed / waiting_review / changes_requested / merge_ready / merge_queued / merged）\n检查 required CI checks（gh pr checks --required）\n检查 reviewDecision（gh pr view --json reviewDecision）\n可选自动触发 gh pr merge --auto（任务级 autoMerge 或 config/user.json.pr.autoMerge）\n失败自动重试（按配置延迟，最多3次；依赖任务记录中的命令元数据）\n写入通知到 notifications.json (由 OpenClaw 发送飞书通知)\n结束后可自动触发 cleanup-worktrees.sh 与 prune-history.sh（避免 worktree / active-tasks 膨胀）\n\n注意：\n\nsession exit mode 仅表示会话结束，不代表质量达标。\n质量达标必须由主 Agent 的 post-task review 判定。\nreview-agent.sh\n\n多 reviewer 代码审查（默认三审：codex + gemini + claude）。\n\n参数：\n\n--repo (必需): 仓库名\n--branch (必需): 分支名或 PR 号\n--reviewers: 审查者 (默认: codex,gemini,claude；默认要求至少 3 个)\n--allow-fewer-reviewers: 调试用，允许少于 3 个 reviewer\n--no-post: 只生成本地审查产物，不回写 PR 评论\n\n行为（新版）：\n\n每个 reviewer 生成结构化审查结论（Verdict / Findings / Validation / Next Steps）\n自动抓取 gh pr diff 并注入 reviewer prompt（截断版）\n每个 reviewer 单独在 PR 下发表评论（正文带 [dev-team][reviewer=...] 标识）\n会按 config/user.json.agentPolicy 过滤禁用/阶段不允许的 reviewer\n生成聚合结果 assets/logs/reviews/review-<pr>-<ts>.aggregate.json\n聚合策略会结合 reviewer 权重、severity 和 reviewer 角色偏好，输出：\nwaiting_human_approve\nreview_changes_requested\nreview_human_attention\n写回 assets/active-tasks.json：\nchecks.reviewAggregate\nchecks.reviewSummary\nchecks.fixupSuggested\nchecks.fixupTarget（用于后续优先回原 subagent 返工）\naggregate-reviews.sh\n\n聚合多 reviewer 的审查产物，输出单一决策（通过 / 需修改 / 人工关注）。\n\n示例：\n\n./scripts/aggregate-reviews.sh --file assets/logs/reviews/review-1-1234567890.json\n\nrequest-fixup.sh\n\n根据 review-agent 聚合结果，为原 PR 负责 subagent 生成返工 prompt，并优先发回原 subagent（如会话仍存活）。\n\n参数：\n\n--branch <branch> 或 --pr <number>：定位任务\n--dry-run：只生成返工 prompt，不执行\n--spawn-if-dead：原 subagent 会话已退出时，按同 branch 重新派工（谨慎使用）\n\n行为：\n\n读取 checks.reviewAggregate / checks.reviewAggregateFile\n若 fixupSuggested=true，生成结构化返工 prompt（按 severity 排序）\n写回 checks.fixupRequestedAt / checks.fixupRequestMode\n默认优先回原 subagent（同 branch owner）处理\nAgent Adaptation & Policy\n统一 agent 适配与全流程使用建议：references/agent-adapters.md\n可配置 agent 启用开关与阶段允许列表：config/user.json -> agentPolicy\n推荐器支持阶段参数（会过滤禁用 agent）：\n./scripts/recommend-agent.sh --description \"前端看板优化\" --phase build\n./scripts/recommend-agent.sh --description \"PR 代码审核\" --phase review\n\ncleanup-worktrees.sh\n\n清理已合并的 worktree。\n\n补充说明：\n\n对 completionMode=session 且 cleanupMode=session_ttl 的任务，会在 cleanupEligibleAt 到期后自动清理 worktree\n清理后任务状态会写回为 cleaned（保留历史记录）\nprune-history.sh\n\n归档 assets/active-tasks.json 中过旧的已完成任务（done/failed/cancelled/cleaned/...），避免注册表无限增长。\n\n常用参数：\n\n--keep-days <days>: 仅归档早于 N 天的记录（当前默认配置为 0，更偏热数据）\n--keep-count <n>: 无论时间如何，至少保留最近 N 条非失败/取消终态记录（当前默认配置为 12）\n--keep-fail-cancel-days <days>: failed/cancelled 独立归档天数（默认可更激进）\n--keep-fail-cancel-count <n>: 至少保留最近 N 条 failed/cancelled\n--dry-run: 预览归档数量，不落盘\n\n自动化建议：\n\ncleanup-worktrees.sh 执行后自动触发 prune-history.sh（可在 config/user.json.archive 配置）\n也可单独配置每日归档 cron\n\n说明：\n\ncleanup-worktrees.sh 会清理孤儿 worktree（任务已归档但同级目录仍残留）\nsession_ttl 会受全局 TTL 上限约束，避免历史任务长时间占用磁盘\nsetup-check.sh\n\n首次使用检查脚本，验证配置完整性。\n\nrecommend-agent.sh\n\n根据任务描述/提示词关键词、当前运行负载、CLI 健康状态推荐最合适的 agent（含理由）。\n\n示例：\n\n./scripts/recommend-agent.sh \\\n  --description \"dev-board 前端 UI 产品化改版，优化筛选与日志面板\" \\\n  --prompt-file /tmp/task-prompt.txt \\\n  --format json\n\nlist-agent-models.sh\n\n列出 agent 模型（当前主要用于 Cursor）。\n\n示例：\n\n./scripts/list-agent-models.sh cursor\n\nenqueue-task.sh / list-queue.sh / claim-task.sh\n\nQueue/Claim 模式（推荐演进路径，现已提供最小可用版本）：\n\nenqueue-task.sh：主 Agent 添加任务到队列（assets/tasks.json）\nlist-queue.sh：查看队列（支持状态/阶段过滤）\nclaim-task.sh：认领一个 queued 任务并调用 spawn-agent.sh 派工\nsync-queue-status.sh：根据 assets/active-tasks.json 回写队列任务状态（running/done/cleaned/...）\nprune-queue-history.sh：归档 assets/tasks.json 中过旧终态队列任务到 assets/logs/archives/queue-history-YYYY-MM.jsonl\n\n示例：\n\n./scripts/enqueue-task.sh \\\n  --repo-path ./scripts/dev-board \\\n  --branch feat/dev-board-action-history \\\n  --description \"dev-board 操作历史列表\" \\\n  --phase build \\\n  --completion-mode pr \\\n  --prompt-file /tmp/task.txt\n\n./scripts/list-queue.sh --status queued\n./scripts/claim-task.sh --agent auto\n\nTask Registry\n\n位置：assets/active-tasks.json\n\n编码约定：\n\n所有任务与通知 JSON 文件统一使用 UTF-8 保存\n写入时使用 ensure_ascii=False，中文会以可读形式保存（不再显示 \\\\uXXXX）\n\n归档约定：\n\nassets/active-tasks.json 保存热数据（运行中 + 近期终态任务）\n历史记录归档到 assets/logs/archives/task-history-YYYY-MM.jsonl\n\n任务状态以脚本实现为准，详见 references/state-machine.md。\n\n补充字段（新任务会记录）：\n\nrequestedAgent: 用户请求的 agent（可能是 auto）\nagentModel: 实际使用模型（如 composer-1.5）\nagentSelectionReason: 自动派工的简要理由（关键词/健康回退等）\nReferences\n状态机: references/state-machine.md\nCLI / tmux: references/cli-reference.md\nPrompt 模板: references/prompt-templates.md（推荐 Subagent Task Contract）\n完成后验收清单: references/post-task-review-checklist.md\n初始化 / Cron: references/initialization.md\nTroubleshooting\n1) Claude 子任务启动失败（常见于复杂 prompt）\n\n常见根因：\n\n在 shell 中直接使用 --prompt \"...\"，内容包含反引号、$() 等，导致 shell 提前展开，实际传给脚本的 prompt 被污染。\n\n修复方式（推荐顺序）：\n\n使用 --prompt-file（首选）\n自动化调用使用 --prompt-b64\n仅短 prompt 使用 --prompt\n2) Cursor agent 无法使用 / 很少被选中\n\n如果 cursor agent status 显示 Not logged in，spawn-agent 会在启动前直接失败并提示：\n\ncursor agent login\n\n\n你提到常用模型 composer 1.5，当前已在 config/agents.json 中设为 Cursor 默认模型（composer-1.5）。 如需覆盖：\n\n./scripts/spawn-agent.sh --agent cursor --agent-model composer-1.5 ...\n\n\nCursor plan 模式（用于版本前差异分析）：\n\n./scripts/spawn-agent.sh \\\n  --agent cursor \\\n  --cursor-mode plan \\\n  --repo-path /path/to/repo \\\n  --branch feat/version-plan \\\n  --description \"版本规划与差异分析\" \\\n  --completion-mode session \\\n  --prompt-file /tmp/plan.txt\n\n\n说明：\n\n该模式等价于 cursor agent --mode plan（只读规划，不改代码）\nspawn-agent 会强制模型为 gpt-5.3-codex\n3) PR / CI / review 流程不推进\n\n必要前置条件：\n\n仓库已配置 GitHub origin remote\ngh auth status 有效（token 未过期）\nsubagent 的 prompt 明确要求：\n提交 commit\ngit push -u origin <branch>\ngh pr create ...\n\n如果缺一项，check-agents.sh 无法推进 PR 状态机。\n\ntmux\ntmux new-session -d -s <name> -c <dir> \"command\"\ntmux send-keys -t <session> \"text\" Enter\ntmux list-sessions\ntmux kill-session -t <session>"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/VintLin/team-dev",
    "publisherUrl": "https://clawhub.ai/VintLin/team-dev",
    "owner": "VintLin",
    "version": "0.1.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/team-dev",
    "downloadUrl": "https://openagent3.xyz/downloads/team-dev",
    "agentUrl": "https://openagent3.xyz/skills/team-dev/agent",
    "manifestUrl": "https://openagent3.xyz/skills/team-dev/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/team-dev/agent.md"
  }
}