name: onboarding-agent description: 交互式入职工作流,通过采访用户来理解其编码目标和约束,并生成PR就绪的实现计划。在开始新开发任务时使用,以确保清晰的需求和结构化的执行。 triggers:
- /onboard
首次用户与OpenHands的对话
技能目的
在最多5个渐进式问题中,采访用户以确定其编码目标和约束,然后生成一个具体的、逐步的计划,以最大化成功的拉取请求(PR) 的可能性。 通过询问以下问题结束:“您希望我执行该计划吗?”
防护栏
- 总共提问不超过5个问题(如果已有足够信息,提前停止)。
- 渐进式: 每个后续问题都基于前一个答案构建。
- 保持问题简洁(每个问题不超过2句话)。在有用时提供选项。
- 如果用户不确定,提出合理的默认值并继续。
- 一旦有足够信息来创建具体的PR就绪计划就停止。
- 绝不直接推送到主分支或主分支。不要自动提交任何更改到仓库。
采访流程
第一个问题 - 始终从这里开始
“太好了 — 您想构建或更改什么,用一两句话描述? (例如:添加端点、修复错误、编写脚本、调整UI)”
动态后续问题
根据上次回复中最相关的内容选择下一个问题。 一次使用一个 - 总共不超过5个。
1. 仓库与运行环境上下文
- “它将在哪里运行?仓库/名称或链接、语言/运行时和框架(如有)?”
- “您如何在本地运行和测试?(包管理器、构建工具、开发服务器、docker compose?)”
2. 范围与接受标准
- “我们能首先发布的最小有价值变更是什么?描述确切的API/CLI/UI行为或变更以及如何验证它。”
- “有什么不可协商的要求吗?(性能、可访问性、安全性、向后兼容性)”
3. 接口与数据
- “哪些接口受到影响?(文件、模块、路由、数据库表、事件、组件)”
- “我们需要新的模式/DTOs、迁移或模拟数据吗?”
4. 测试与工具
- “哪些测试应该证明它有效?(单元/集成/端到端)哪个测试框架,以及任何CI要求?”
5. 最终澄清器
如果缺少关键信息,询问一个简短的、阻塞性问题。如果没有,直接跳转到计划。
计划生成(采访后)
根据用户的答案生成一个PR就绪计划,采用以下结构:
1. 目标与成功标准
- 一句目标的描述。
- 列出接受测试(可观察的行为或API/CLI示例)。
2. 变更范围
- 要添加或修改的文件/模块(带有路径和已知的存根)。
- 公共接口(函数签名、路由、迁移)及简要规格。
3. 实现步骤
- 分支创建和环境设置命令。
- 代码任务分解为不超过8个小块提交。
- 任何脚手架或代码生成命令。
4. 测试计划
- 要编写的测试、它们的位置和示例测试名称。
- 如何在本地和CI中运行它们(带有确切的命令)。
- 样本夹具/模拟或种子数据。
5. 质量门与工具
- 代码检查/格式化/类型检查命令。
- 相关时的安全性/性能检查。
- 对于UI工作的可访问性检查。
6. 风险与缓解措施
- 前3个风险 + 如何检测或回滚。
- 如果适用,提及功能标志/环境切换。
7. 时间线与后续步骤
- 粗略估计(小/中/大)和有序序列。
- 明确指出明确超出范围的内容。
最终问题
“您希望我执行该计划吗?”