---
name: workflow-hub
description: >-
  GeeLib任务管理，当用户要求执行GeeLib时使用此技能并按照调度顺序完成任务。
---

# Workflow Hub（技能调度）

## Activation
- 用户问「技能顺序」「先走哪个 SKILL」「流程编排」「多文件 SKILL 怎么用」时应用本技能。
- 用户消息命中 GeeLib 语义（`GeeLib` / `geelib.qihoo.net` / `matterType` / `subId` / 拉任务 / 改状态）时，**默认先进入本技能做分派与门禁检查**。
- 可在内部回执使用标记：`[SKILL:workflow-hub]`，不强制对用户输出首行标记。

## 门禁（先于一切）
- **入口强约束**：命中任一子流程前，必须先 `Read` 目标技能的 `SKILL.md`；若该技能存在同目录 `reference.md`，也必须 `Read` 后再进入执行。
- **单技能内**：遵守该技能 `SKILL.md` 中的阶段顺序与 PASS/FAIL；不得跳过未声明可跳过的阶段。

## 调度顺序（唯一规则 A）

**执行顺序原则（有代码交付时）**：先 **开发（dev-task-flow）** → 再 **联调自测（self-test-flow）** → 再 **提交与部署（deploy-test-env）** → 最后 **GeeLib 收尾**。不得在开发未完成、自测证据未齐套前进入 **deploy-test-env**。

| 规则 | 命中关键词（任一） | 技能链（按顺序） |
|------|--------------------|--------------------|
| A | GeeLib / geelib.qihoo.net / matterType / subId / 拉任务 / 改状态 / 开发功能 / 实现接口 / 修 bug / 完善模块 / 自测 / 自测流程 / 联调验证 | **workflow-hub(GeeLib阶段)** →（若含开发）**dev-task-flow** → **self-test-flow** → **deploy-test-env** → **workflow-hub(GeeLib收尾)** |


**嵌套规则（必读）**
- **dev-task-flow** 阶段 3：必须按 **self-test-flow** 的 `SKILL.md` + `reference.md` 执行（非 `go test ./...`）。
- **deploy-test-env**：进入执行前须 `Read` **deploy-test-env/SKILL.md** 与 **deploy-test-env/reference.md**。流程为审阅 → 同步 →（用户要求时 `go test`）→ 提交 → 推送同名分支 → `local_build.sh`；其中 `go test` 与 **self-test-flow** 的联调自测并列、互不替代。
- **GeeLib 阶段遇到本仓库改代码**：在未 `Read` **dev-task-flow/SKILL.md** 与 `reference.md` 前禁止编码；开发段按 dev-task-flow 全流程执行。
- **零代码任务**：无开发段时，在 GeeLib 阶段与交付对齐后仍须执行 **deploy-test-env**（若无代码可提交则阶段 4 跳过提交，继续推送与构建验证）。

## GeeLib MCP 优先策略（必读）

**所有涉及任务信息的读写操作，必须优先使用 `user-geelib` MCP，禁止默认走浏览器。**

| 操作类型 | 优先方案 | 降级方案（仅当 MCP 不可用时） |
|---------|---------|--------------------------|
| 查询工作项列表 | `list_matters` | 浏览器导航 |
| 查询工作项详情 | `get_matter_detail` | 浏览器导航 |
| 查询工作项类型 | `list_matter_types` | 浏览器导航 |
| 查询状态列表 | `list_matter_statuses` | 浏览器导航 |
| 更新状态/备注 | `update_matter` | 浏览器点击操作 |
| 添加评论 | `add_comment` | 浏览器填写表单 |
| 查询项目信息 | `get_project_detail` | 浏览器导航 |
| 查询项目成员 | `list_project_members` | 浏览器导航 |

降级条件：MCP 工具调用返回非 2000 错误码，且重试一次仍失败，才可切换到浏览器 MCP。

## GeeLib 阶段
- **阶段 1 验证可访问**：调用 `get_user_info` 确认 MCP 已鉴权、会话有效。如果返回非 2000，立即停止并提示用户检查 GeeLib MCP 配置。
- **阶段 2 选取任务**：用 `list_matters` + `list_matter_types` 获取工作项列表，分析任务类型；需求开发类任务先用 `get_matter_detail` 读取描述与接口文档。
- **阶段 3 读取详情**：用 `get_matter_detail` 记录标题、描述、当前状态；将交付范围和用户对齐一句。
- **阶段 4 本仓库执行**：开发类强制切 `dev-task-flow`；零代码任务可直接执行。
- **阶段 5 回写 GeeLib 状态**：用 `update_matter` 更新状态与备注，用 `add_comment` 写交付说明；调用后再次 `get_matter_detail` 确认保存成功。
- **阶段 6 收尾回复**：输出任务标识、交付内容、GeeLib 最终状态、提交信息（若有）。

## GeeLib 门禁
- `user-geelib` MCP 自带鉴权 Token，无需浏览器登录；但仍需确保 VPN 可访问 GeeLib 服务。
- 不把 Cookie/Token/密码写入仓库或代码。
- 涉及代码改动时，未完成 `self-test-flow` 完整证据（启动记录 + 步骤执行 + 存储侧校验），禁止回写「已完成/关闭」。
- 仅当用户在当前对话明确要求"跳过自测/仅编译验证"时，允许回写完成态；必须在 GeeLib 备注与回复中记录风险。

## 输出约定
- 每次调度必须包含以下回执字段（可用编号）：
  1) `已命中规则`：A  
  2) `命中关键词`：列出触发词  
  3) `已加载技能`：列出已 `Read` 的路径（至少 `SKILL.md`；若存在 `reference.md` 也列出）  
  4) `当前技能链`：按执行顺序展示  
  5) `当前阶段`：已完成 / 进行中 / 待执行
- 用表格或编号列出「当前对话应激活的技能链」与「已完成/待完成阶段」。
- 指向路径使用仓库内相对根路径：`packages/agent/skills-runtime/<skill-name>/SKILL.md` 与 `reference.md`。

## 延伸阅读
- 完整决策树、与其他文档关系：**同目录 `reference.md`**。
