SuperAPI AI 工具集

writing-plans

编程与开发

查看项目

更新于 10-20 16:12

技能介绍

writing-plans 是 Drupal 工作流中的一项技能,用于在向子智能体委派任务或创建实施计划时,生成可供直接执行的详细方案。

核心原则:编写计划时假设执行工程师对代码库没有任何上下文。计划应记录所有必要信息,包括需要触碰哪些文件、完整代码(而不是“添加校验”这类笼统描述)、如何测试、验证命令及其预期输出。

计划结构(用于委派):委派给子智能体时,提示词按以下结构组织:先给出清晰的任务名称、一句话目标和 2-3 句架构说明;再列出文件清单,标明操作类型(CREATE 新建、MODIFY 修改、TEST 测试)及精确路径,修改项需注明大致行号;随后是实施步骤,每一步给出操作、文件路径和完整代码;最后是验证部分,写明命令与预期结果,以及测试命令与预期结果。

任务粒度:每个步骤应只包含一个动作,耗时约 2-5 分钟。正面示例包括“创建带接口的服务类”“在 .services.yml 中注册服务”“运行 drush cr 并确认服务存在”“编写失败的测试”“编写最小实现使测试通过”。反面示例包括“创建服务”(未说明哪些文件、什么代码)、“添加测试”(未说明什么测试、放在哪里)、“接起来”(未说明什么接到什么)。

必需上下文要素:每次委派都必须包含精确文件路径(而非“在模块里”)、完整实现代码(而非占位符)、依赖项(需注入哪些服务、依赖哪些模块)、验证方式(精确命令与预期输出),以及可参考的现有模式(代码库中类似代码)。

应避免的表述:技能提供了对照表,例如不说“添加适当的校验”,而写“添加校验:if (empty($value)) { throw new \InvalidArgumentException('Value required'); }”;不说“创建一个服务”,而写“创建 web/modules/custom/my_module/src/MyService.php,内容为……”;不说“更新配置”,而写“编辑 config/sync/my_module.settings.yml 第 15 行,将 enabled: false 改为 enabled: true”;不说“测试它能用”,而写“运行 ddev drush my:command arg1,预期输出:Success: processed 5 items”。

委派示例:资料给出了一个创建 ArticleManager 服务的完整示例,包含接口与实现类代码、服务注册配置、缓存与实体查询逻辑,以及用 ddev drush cr 和 drupal-testing 技能验证的步骤。

委派前检查清单:确认已指定精确文件路径、已提供完整代码(而非“添加 X”)、已列出依赖(需注入的服务)、已给出验证命令与预期输出,并在适用时引用了现有模式。