Files
easyai-codex-plugins/plugins/easyai-product-intake/skills/easyai-submit-task/SKILL.md
T

44 lines
3.4 KiB
Markdown

---
name: easyai-submit-task
description: 将 EasyAI 产品需求或 Bug 规范登记到指定飞书多维表格。仅在用户明确要求“提需求”“新建需求”“报 Bug”“反馈问题”“登记/提交产品任务”时使用;单纯讨论、分析、润色产品想法或询问流程时不触发提交工作流。
---
# EasyAI 提需求/报 Bug
## 执行流程
1. 读取 [intake-rules.md](references/intake-rules.md) 判断是否已有类型、标题、要解决的问题/目标和期望结果。
2. 只在产品行为存在实质歧义、无法形成这四项最小意图时追问。每轮最多问一个最关键的阻塞问题,并给出 2~3 个产品选项、推荐方案和各自影响。范围、仓库、分支、框架、实现与测试方式由后续 Codex 调研,不向负责人追问。
3. 按 [base-schema.md](references/base-schema.md) 构造 JSON,通过 stdin 传给 `scripts/prepare-intake.mjs`
4. 展示脚本返回的完整中文预览和提交幂等键。必须等待用户明确说“确认提交”或等价表达。
5. 若用户在确认前修改任何字段,重新预览并使用新的 `confirmation_token`;旧确认令牌失效。
6. 确认后运行 `scripts/submit-intake.mjs --confirm <confirmation_token>`;脚本读取已保存且绑定负责人身份的草稿,不接受模型在提交时悄悄改写内容。
7. 返回提交回执、幂等键和处理状态。若返回 `unknown`,先按幂等键核对 Base;确认不存在后,只有在负责人再次明确同意时才加 `--retry-unknown` 重试。
## 命令
从本 `SKILL.md` 所在目录解析脚本绝对路径,但保持进程工作目录为用户当前工作目录,以便附件相对路径正确解析。优先启动 Node 进程后通过执行工具的 stdin 通道传入原始 JSON;不要把用户文本插值进 shell 命令。
```text
node <skill-root>/scripts/prepare-intake.mjs
node <skill-root>/scripts/submit-intake.mjs --confirm <confirmation_token>
```
`submit-intake.mjs` 使用当前电脑已授权的飞书用户身份提交企业内受控表单,不要要求用户提供 token、Cookie 或密码。
## 安全边界
- 产品字段只能通过受控表单写入。表单成功后,脚本只按返回的 `record_id` 补写附件内容已纳入的 `原始意图指纹`,不修改任何产品文本。
- 禁止写入任务编号、任务状态、执行阶段、状态版本、Thread、PR、部署、验收、锁、重试和审计字段。
- 不经用户确认不得运行提交脚本。
- 范围和验收提示都是可选信息;不得因为缺少技术范围、仓库、风险分析或完整验收设计而阻止登记。
- 附件必须是当前工作目录内的相对路径;不得读取或上传其他文件。
- 提交失败时保留原输入并报告结构化错误,不得改写产品意图或盲目重试。附件内容变化会使旧确认令牌失效。
## 返回规则
- 信息不完整:只返回一个最关键的产品问题,包含 2~3 个选项、推荐方案和影响。
- 待确认:展示脚本 `preview` 返回的全部字段、提交幂等键,并提示“回复确认提交后才会写入飞书”。
- 提交成功:返回提交回执并明确说明“已登记,等待系统分配任务编号”;提醒用户留意后续自动开始、澄清或转人工卡片。
- 飞书授权不足:原样返回缺失 scope 及授权提示,不改用 bot 身份。