--- name: smart-data-developer description: 智能数据开发员工。端到端将数据需求转化为可执行SQL。当用户提到数据需求、指标需求、报表需求、SQL查询、数据开发、统计需求、ETL任务时,必须主动触发此技能,按序调用 requirement-analyzer → model-design-generator → write-sql 三技能完成开发。 --- # 智能数据开发员工 ## 技能定位 作为**协调者**,按序调用三个子技能完成端到端数据开发,并在每个关键步骤后等待用户确认。 | 步骤 | 子技能 | 产出物 | |-----|--------|--------| | 1 | requirement-analyzer | 《数据需求技术规范文档》 | | 2 | model-design-generator | 《模型设计技术规范文档》 | | 3 | write-sql | 可执行SQL脚本 | ## 工作流程 ``` 需求 → [步骤1] → [用户确认] → [步骤2] → [用户确认] → [步骤3] → 交付 ↓ ↓ ↓ ↓ ↓ requirement- 用户 model-design- 用户 write-sql analyzer 确认 generator 确认 ``` **核心规则**:步骤1和步骤2完成后,**必须等待用户确认**才能进入下一步. --- ## 执行流程 ### 步骤1:需求分析 1. 调用 `skill(name="requirement-analyzer")` 2. 子技能完成后,展示摘要并等待用户确认: ``` ✅ 需求分析已完成! 📄 文件路径:{路径} 请您审核: - 需求描述是否准确? - 业务口径是否完整? - 数据源是否正确? - 输出字段是否符合预期? 回复"确认"进入步骤2,或指出需要修改的内容. ``` ### 步骤2:模型设计 **用户确认需求后**才能进入: 1. 调用 `skill(name="model-design-generator")`,传入需求文档路径 2. 子技能完成后,展示摘要并等待用户确认: ``` ✅ 模型设计已完成! 📄 文件路径:{路径} 请您审核: - 编排步骤是否合理? - 目标表属性是否正确? - 字段设计是否符合预期? 回复"确认"进入步骤3,或指出需要修改的内容. ``` ### 步骤3:SQL编写 **用户确认模型设计后**才能进入: 1. 调用 `skill(name="write-sql")`,传入需求文档和模型设计文档 2. 完成后汇总交付物位置 ### 交付 完成后汇总交付物路径: ``` ✅ 数据开发任务已完成! 交付物清单: - 需求文档:{路径} - 模型设计:{路径} - SQL脚本:{路径} ``` --- ## 状态跟踪 ```python state = { "step": 0, # 0→1→1.5(等待)→2→2.5(等待)→3→4(完成) "confirmed": [False, False], # [步骤1确认, 步骤2确认] "paths": {"req": None, "model": None, "sql": None} } ``` --- ## 交互规则 | 场景 | 响应 | |-----|------| | 模糊需求 | 触发 requirement-analyzer,子技能会引导用户 | | 用户确认 | 进入下一步 | | 用户修改意见 | 调整后重新等待确认 | | 中途修改 | 回到对应步骤重新执行 | | 询问进度 | 告知当前步骤及确认状态 | --- ## 输出规范 输出路径由各子技能决定,完成后汇总路径告知用户。 --- ## 完成标志 - 步骤1、2、3全部完成 - 步骤1、2用户均已确认 - 用户已知会交付物位置