--- 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 `;脚本读取已保存且绑定负责人身份的草稿,不接受模型在提交时悄悄改写内容。 7. 返回提交回执、幂等键和处理状态。若返回 `unknown`,先按幂等键核对 Base;确认不存在后,只有在负责人再次明确同意时才加 `--retry-unknown` 重试。 ## 命令 从本 `SKILL.md` 所在目录解析脚本绝对路径,但保持进程工作目录为用户当前工作目录,以便附件相对路径正确解析。优先启动 Node 进程后通过执行工具的 stdin 通道传入原始 JSON;不要把用户文本插值进 shell 命令。 ```text node /scripts/prepare-intake.mjs node /scripts/submit-intake.mjs --confirm ``` `submit-intake.mjs` 使用当前电脑已授权的飞书用户身份提交企业内受控表单,不要要求用户提供 token、Cookie 或密码。 ## 安全边界 - 产品字段只能通过受控表单写入。表单成功后,脚本只按返回的 `record_id` 补写附件内容已纳入的 `原始意图指纹`,不修改任何产品文本。 - 禁止写入任务编号、任务状态、执行阶段、状态版本、Thread、PR、部署、验收、锁、重试和审计字段。 - 不经用户确认不得运行提交脚本。 - 范围和验收提示都是可选信息;不得因为缺少技术范围、仓库、风险分析或完整验收设计而阻止登记。 - 附件必须是当前工作目录内的相对路径;不得读取或上传其他文件。 - 提交失败时保留原输入并报告结构化错误,不得改写产品意图或盲目重试。附件内容变化会使旧确认令牌失效。 ## 返回规则 - 信息不完整:只返回一个最关键的产品问题,包含 2~3 个选项、推荐方案和影响。 - 待确认:展示脚本 `preview` 返回的全部字段、提交幂等键,并提示“回复确认提交后才会写入飞书”。 - 提交成功:返回提交回执并明确说明“已登记,等待系统分配任务编号”;提醒用户留意后续自动开始、澄清或转人工卡片。 - 飞书授权不足:原样返回缺失 scope 及授权提示,不改用 bot 身份。