Files
wecom_it_smart_desk/.workbuddy/skills/task-intake/SKILL.md
T

297 lines
13 KiB
Markdown
Raw Normal View History

---
name: task-intake
description: 任务接收与路由技能 - 收到任何请求时首先使用,将请求结构化为四要素(是什么/要什么/怎么做/谁来做)并路由到正确的工作流。适用于项目所有 incoming 请求的统一入口。
agent_created: true
version: 1.4
date: 2026-07-10
---
# Task Intake — 任务接收与路由
## 定位
项目所有 incoming 请求的**统一入口**。不是执行者,是路由器。
收到请求后,本技能负责:
1. **分类** — 判断请求属于哪类任务
2. **结构化** — 输出四要素(是什么/要什么/怎么做/谁来做)
3. **路由** — 对照 SOP 路由表,确定执行路径
4. **移交** — 将路由卡交给对应执行方
**核心原则**task-intake 只做"想清楚"和"分对路",不做"动手干"。
---
## 触发条件
- ✅ 收到任何新需求/问题/任务时
- ✅ 不确定该走什么工作流时
- ✅ 请求类型模糊,需要先分类时
- ❌ 已经明确知道走哪条流程时(直接执行即可,不必再过一遍 intake)
---
## 执行流程
### Step 1: 请求分类
分析请求内容,判断属于以下哪一类:
| 分类 | 识别特征 | 示例 |
|------|---------|------|
| 🏗️ 新功能开发(中大型) | 多页面/多模块、涉及后端+前端、>10个源文件 | "开发员工自助查询平台" |
| ⚡ 新功能开发(小型) | 单页面/工具脚本、≤10个源文件 | "加一个满意度评价导出功能" |
| 🔧 Bug 修复 | 报告明确 Bug,非新功能 | "管理后台登录报网络连接失败" |
| 🚀 部署运维 | 部署/配置/Nginx/容器相关 | "部署管理后台前端到生产" |
| 🩺 故障排查 | 页面打不开/502/500/接口无响应 | "H5扫码登录后页面不关闭" |
| 🔴 应急事件 | P0/P1 级别,需立即响应 | "鉴权漏洞被利用" |
| 🔍 代码调试 | 代码逻辑不对、行为异常 | "摇人消息没有推送到通知栏" |
| 📊 技术评估/决策 | 需要判断值不值得做、怎么选 | "联软API对接值不值得做?" |
| 📋 方案调研 | 需要调研后输出方案 | "火绒API方案怎么设计?" |
| 📝 文档更新 | 更新文档/SOP/手册 | "更新故障排查手册" |
| 🛠️ 工具沉淀 | 排查后归档脚本/工具 | "把排查脚本归到工具箱" |
### Step 2: 四要素结构化
对每个请求输出以下四要素:
```
是什么:[任务分类] + [一句话描述]
要什么:[期望产出物] + [验收标准]
怎么做:[执行路径] + [需要的技能/工具]
谁来做:[执行角色] + [协作方]
```
**注意事项**
- "是什么"要精确到分类表中的具体类别
- "要什么"必须包含可验证的产出物和验收标准,验收标准需指明验证手段(见下方验证手段分层表)
- "怎么做"指出执行路径和工具,但不展开执行细节
- "谁来做"明确执行方和协作方
**验证手段分层表**(用于"要什么"字段的验收标准):
| 验证类型 | 工具 | 适用场景 | 何时必须用 |
|---------|------|---------|-----------|
| API/后端 | curl / HTTP 请求 | 接口返回值、状态码 | 后端接口验证 |
| 前端渲染/登录/交互 | **agent-browser** 技能 | 页面渲染、表单填写、按钮点击、键盘输入 | 涉及前端页面的修复 **必须**用 |
| 前端诊断(F12 等效) | **agent-browser** Debug 命令 | 白屏、JS 不执行、API 异常、CSP 违规 | 前端异常排查 **必须**采集 console/errors/network |
| 服务器状态 | jumpserver-ops | 容器状态、进程 | 部署后健康检查 |
**硬规则**:禁止只因 `docker logs` 无报错就断言修复。前端类修复必须 agent-browser 截图取证。前端异常排查必须采集 `errors` + `console` + `network requests`
### Step 3: 路由决策
对照项目 SOP 路由表,确定执行路径:
| 输入特征 | 路由到 | 产出物 | 执行方 | 参考文档 |
|---------|--------|--------|--------|---------|
| 🏗️ 新功能(中大型) | 软件团队标准 SOP | PRD+架构+代码+测试 | PM→Architect→Engineer→QA | 软件团队 SOP |
| ⚡ 新功能(小型) | 软件团队快速模式 | 代码+测试 | Engineer→QA | 软件团队 SOP |
| 🔧 Bug 修复 | SOP §6 BugFix | 修复+验证 | Engineer→QA | SOP §6 |
| 🚀 部署运维 | 直接执行 ⚠️ 前置检查 | 部署完成+验证 | AI+jumpserver-ops | SOP §7 工具箱 + deploy-troubleshoot Step -1 |
| 🩺 故障排查 | deploy-troubleshoot | 定位+修复+案例 | 三步隔离法 | 故障排查手册 |
| 🔴 应急事件 | SOP §4 应急响应 | 止血+根因 | 应急流程 | SOP §4 |
| 🔍 代码调试 | diagnose 技能 | 根因+回归 | 六阶段调试 | diagnose SKILL.md |
| 📊 技术评估 | Plan 模式 | 评估报告 | AI+人 | — |
| 📋 方案调研 | Plan 模式 | 方案文档 | AI+人 | — |
| 📝 文档更新 | 直接执行 | 文档 | AI | SOP §5 文档规范 |
| 🛠️ 工具沉淀 | SOP §7 流程 | 工具归档+README更新 | AI | SOP §7 |
**路由优先级**(当请求可能匹配多个分类时):
1. 🔴 应急事件 > 一切(先止血再说)
2. 🩺 故障排查 > 🔧 Bug 修复(先隔离定位再修 Bug)
3. 🏗️/⚡ 新功能 > 📊 技术评估(明确要做的不需要评估)
4. 📝 文档更新 / 🛠️ 工具沉淀 通常作为其他任务的收尾步骤
### Step 3.1: 部署运维前置检查(⚠️ 涉及后端代码变更时必须执行)
当路由到「🚀 部署运维」且涉及后端代码变更时,**在执行部署前必须检查**:
#### ⛔ 硬规则:后端代码部署方式(方案 C 卷挂载,2026-07-10 上线)
| 变更类型 | 部署命令 | 禁止操作 | 耗时 |
|---------|---------|---------|------|
| `.py` 文件变更(新增/修改) | `docker compose restart backend` | ❌ `docker compose build` | ~15-30 秒 |
| `requirements.txt` 变更 | `docker compose build backend && docker compose up -d backend` | — | ~60-90 秒 |
| 配置文件变更(`.env`/`docker-compose.yml` | `docker compose up -d backend` | — | ~10 秒 |
> **原理**:代码通过 `./app:/app/app` volume 挂载到容器,不烘焙进镜像。改代码只需 restart 让 uvicorn 重新加载,无需重建镜像。`docker compose build` 只在 Python 依赖(requirements.txt)变化时才需要。
| 检查项 | 命令 | 不通过时的动作 |
|--------|------|---------------|
| 代码目录完整性 | `for f in app/__init__.py app/main.py app/api/auth.py; do [ -f "/opt/wecom-it-desk/$f" ] && echo "PASS: $f" || echo "FAIL: $f"; done` | 上传缺失文件到 `/opt/wecom-it-desk/app/` |
| Volume 挂载验证 | `docker exec wecom_it_backend ls /app/app/main.py` | 检查 docker-compose.yml 是否含 `./app:/app/app` 卷挂载 |
| 代码一致性 | `HOST=$(md5sum /opt/wecom-it-desk/app/main.py \| awk '{print $1}') && CONTAINER=$(docker exec wecom_it_backend md5sum /app/app/main.py \| awk '{print $1}') && [ "$HOST" = "$CONTAINER" ] && echo PASS \| echo FAIL` | `docker compose restart backend` 重新加载代码 |
> **方案 C(卷挂载)已于 2026-07-10 上线**:代码不再烘焙进 Docker 镜像,通过 `./app:/app/app` volume 挂载。`backend/app/` 旧代码目录已删除。代码更新只需 `docker compose restart`,仅 `requirements.txt` 变化时才需 `docker compose build`。
>
> **完整检查清单**见 `deploy-troubleshoot` 技能 Step -1 和故障排查手册 §1.4。
### Step 4: 输出路由卡
```markdown
## 任务路由卡
**是什么**: [任务分类] [一句话描述]
**要什么**: [产出物] [验收标准]
**怎么做**: [执行路径] [技能/工具]
**谁来做**: [执行角色] [协作方]
**路由到**: [工作流名称]
**预计阶段**: [阶段列表]
**参考文档**: [SOP章节/技能/手册]
```
路由卡输出后,**立即移交**给对应执行方,不在此步骤中展开执行。
---
## 与软件团队 SOP 的集成
当齐活林(交付总监)收到请求时:
```
请求到达
齐活林调用 task-intake
输出路由卡
├─ 路由到"标准SOP" → TeamCreate → PM → Architect → Engineer → QA
├─ 路由到"快速模式" → TeamCreate → Engineer → QA
├─ 路由到"BugFix" → TeamCreate → Engineer → QA
├─ 路由到"故障排查" → deploy-troubleshoot → jumpserver-ops(传输)
├─ 路由到"应急响应" → SOP §4 应急流程
├─ 路由到"Plan模式" → 先想后做,输出评估/方案文档
└─ 路由到"直接执行" → 文档更新/工具沉淀
```
**关键**task-intake 是齐活林判断工作流类型的**结构化工具**,替代原来的"凭经验判断"。判断结果可追溯、可复盘。
---
## 与其他技能的关系
```
task-intake (路由器)
/ | | \
/ | | \
deploy-troubleshoot diagnose 软件团队SOP Plan模式
(故障排查方法论) (代码调试) (开发流程) (评估决策)
| | |
jumpserver-ops Bash/Read Engineer/QA
(传输代理) (执行工具) (执行角色)
|
toolbox/
(弹药库)
```
- **task-intake** = 路由器,决定走哪条路
- **deploy-troubleshoot / diagnose** = 方法论,指导怎么排查
- **jumpserver-ops** = 传输代理,解决"怎么到服务器"
- **toolbox/** = 弹药库,提供辅助工具
- **软件团队 SOP** = 开发流程,指导代码实现
- **Plan 模式** = 思考模式,用于评估/决策类任务
---
## 使用示例
### 示例 1: "帮我加一个满意度评价导出功能"
```markdown
## 任务路由卡
**是什么**: ⚡ 新功能开发(小型)— 满意度评价数据导出为 Excel
**要什么**: 导出功能代码 + QA 验证通过
**怎么做**: 软件团队快速模式 → Engineer 实现 → QA 验证
**谁来做**: 寇豆码(工程师) → 严过关(QA)
**路由到**: 软件团队快速模式
**预计阶段**: TeamCreate → Engineer → QA
**参考文档**: 软件团队 SOP
```
### 示例 2: "管理后台登录报网络连接失败"
```markdown
## 任务路由卡
**是什么**: 🩺 故障排查 — 管理后台登录接口无响应
**要什么**: 故障定位 + 修复 + 验证证据(curl 接口返回 + agent-browser 登录截图)
**怎么做**: deploy-troubleshoot 三步隔离法 → jumpserver-ops 传输
**谁来做**: AI(排查) + jumpserver-ops(传输)
**路由到**: deploy-troubleshoot
**预计阶段**: Step 0(响应头) → 三步隔离 → 修复 → 验证
**参考文档**: 00-标准故障排查手册.md
```
### 示例 3: "联软 API 对接值不值得做?"
```markdown
## 任务路由卡
**是什么**: 📊 技术评估 — 联软 API 对接的成本收益分析
**要什么**: 评估报告(技术可行性 + 成本 + 收益 + 风险 + 建议)
**怎么做**: Plan 模式 → 调研 → 分析 → 输出报告
**谁来做**: AI(调研分析) + 宋献(决策)
**路由到**: Plan 模式
**预计阶段**: 调研 → 分析 → 输出评估报告 → 人工决策
**参考文档**: 无(Plan 模式自由发挥)
```
### 示例 4: "H5 扫码登录后页面不自动关闭"
```markdown
## 任务路由卡
**是什么**: 🔧 Bug 修复 — 扫码登录成功页 JS 未执行
**要什么**: Bug 定位 + 修复 + 回归验证(agent-browser 打开扫码页 → 截图确认 JS 执行 + 页面自动关闭)
**怎么做**: 先 deploy-troubleshoot 排查(确认是否部署层问题)→ 如是代码层则 diagnose 调试
**谁来做**: AI(排查) → Engineer(修复) → QA(验证)
**路由到**: 先故障排查,确认层级后转 BugFix
**预计阶段**: 隔离定位 → 根因分析 → 修复 → 验证 → 案例沉淀
**参考文档**: 00-标准故障排查手册.md + SOP §6 BugFix
```
### 示例 5: "把排查脚本归到工具箱"
```markdown
## 任务路由卡
**是什么**: 🛠️ 工具沉淀 — 排查过程产生的脚本归档
**要什么**: 脚本归位 + README 更新 + 根目录清理
**怎么做**: SOP §7 工具沉淀流程(评估→归档→登记→清理)
**谁来做**: AI
**路由到**: 直接执行(SOP §7
**预计阶段**: 评估复用价值 → 归档 → 登记README → 清理
**参考文档**: SOP §7 部署运维工具箱管理
```
---
## 上下文隔离原则
task-intake 的路由卡**只传递结论,不传递思考过程**:
- ✅ 传递:"故障定位在 Nginx 层,证据是 curl 返回 403"
- ❌ 不传递:"我一开始以为是后端的问题,试了 A/B/C 都不对,后来才发现..."
这确保下一阶段(如 diagnose 或 Engineer)拿到的是**干净的输入**,不会被前一阶段的假设和试错过程带偏。
---
## 版本历史
| 版本 | 日期 | 变更 |
|------|------|------|
| v1.0 | 2026-07-10 | 初始版本,含 11 类任务分类 + 路由表 + 5 个示例 |
| v1.1 | 2026-07-10 | 新增验证手段分层表,示例补充 agent-browser 验证要求 |
| v1.2 | 2026-07-10 | 验证手段分层表新增"前端诊断(F12 等效)"类型,硬规则增加 console/errors/network 采集要求 |
| v1.3 | 2026-07-10 | 新增 Step 3.1 部署运维前置检查(代码同步 + 依赖同步),防止镜像缺文件 |
| v1.4 | 2026-07-10 | 方案 C 上线:Step 3.1 更新为 volume 挂载验证(代码完整性+挂载状态+一致性检查) |