SuperAPI AI 工具集

backend-tasks

编程与开发

查看项目

更新于 10-15 23:45

技能介绍

用途:把已批准的后端范围与契约拆成最小、有序、可验证的任务清单,实现契约。只读规划,产出任务清单而非代码。它是后备作者:设计阶段通常由 /backend-design 生成 tasks.json,仅当 .maestro/<slug>/backend/tasks.json 缺失时(例如无设计阶段的独立 /backend-impl 运行)才使用。

输入:feature、contract_summary(后端拥有的契约)、可选 lld_path。

步骤:读取契约与后端 LLD(.maestro/<slug>/lld/backend.md),只读查看目标服务结构;尽量纵向切片,先做薄端到端切片(schema→API→test)再铺开;按依赖排序:类型/schema→领域/服务逻辑→持久化→API/控制器→测试→日志/指标→文档;迁移按 expand→migrate→contract,绝不一步做破坏性迁移;每个任务约一次提交、一个可测行为、明确文件;每个任务附测试、标准与风险;写出任务清单产物。

每个任务须指定:id、title、涉及的确切文件;test(先写的失败测试);standards(security、backward-compat、rate-limiting、idempotency、validation、observability、migrations、performance 中需遵守的项);needs_human_gate(涉及数据库迁移、认证/权限、支付、生产配置或依赖时为 true)。

覆盖要求:输入校验(所有字段、边界、格式)与错误响应;契约中的负向/授权路径;契约要求的幂等与限流;schema 变更时的迁移+回填及回滚任务;可观测性与文档;HLD 要求灰度时加特性开关任务。需显式规划的边界情况:无测试的共享/遗留代码(先加特征测试)、需在线/零停机或大回填的迁移、需前后端协同的契约变更、并发敏感写入(加锁/版本任务)。

外部技能:读 skills.config.yaml → backend.external.tasks(默认 writing-plans,来自 Superpowers 包,或 none);若设置则用它产出小任务,但仍须带文件+测试+标准+风险;若为 none 则包内规划。

输出:一次性写出完整 tasks.json(manifest、tasks[]、slices[]),不要逐步 Edit 搭建;校验一次,失败则做一次纠正编辑并重新校验。写入 .maestro/<slug>/backend/tasks.json,符合 workflows/tasks.schema.json,含 context_manifest、tasks[](id、group_id、title、depends_on 仅组内、reads、writes、test、standards、needs_human_gate)、slices[](每个独立组一个;两任务同组当且仅当互相依赖或写同一文件)。用 python3 workflows/validate_tasks.py .maestro/<slug>/backend/tasks.json 校验(须打印 OK)。返回 tasks_path、slices、risky(任一任务需人工门时为 true)。

完成定义:每个任务约≤1 次提交、有测试与标准、按依赖排序;迁移为 expand/contract 且带回滚;负向路径与可观测性有体现;风险任务被标记;tasks.json 通过 schema 校验(无跨组边、组间写入不相交)。