297 lines
13 KiB
Markdown
297 lines
13 KiB
Markdown
|
|
---
|
|||
|
|
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 挂载验证(代码完整性+挂载状态+一致性检查) |
|