用途:把 OpenSpec 的规划产物(已批准的变更)转换为 td 中可执行、可追溯的任务议题,衔接“意图”与“执行”。OpenSpec 定义要构建什么(编码前约定的契约),td 跟踪执行如何展开(可变的状态记录)。
主要能力:自动触发条件包括用户执行 openspec apply <change>、表示“实现这个规格/开始做 X/let's go”、批准提案并准备就绪;手动触发包括“把规格转成 td 议题”“为这个变更创建议题”。不适用于仅查看(openspec show)、创建或迭代提案/规格等交互。转换流程先读取 proposal.md(原因)、tasks.md(要做什么)、spec.md(验收标准)、design.md(如存在),再做批判性分析:任务范围是否合适、依赖是否清晰、是否缺少测试/回滚/监控/文档;发现明显问题先告知用户。随后创建 td 议题,使用优先级规则分配 P0/P1/P2,创建 epic 容器议题,并为主动发现的缺口创建 discovery 议题;议题标题采用 [<change>] <类别>: <具体动作> 作为搜索锚点。创建后用 td ws start "<change-name> implementation" 与 td ws tag <epic-id> <task-id...> 建立工作会话,最后给出按优先级分类的报告、可立即开始的任务、依赖链、发现的缺口与下一步(如 td start <id>、td list)。
错误处理:变更不存在时提示运行 openspec list;td 未初始化时提示运行 td init --prefix <project-name>;tasks.md 格式错误或过于模糊时让用户选择按原样转换并为缺口创建 discovery 议题,或先完善 tasks.md。
限制与原则:避免机械的一对一映射、避免笼统的日志条目、不可跳过工作会话、不要把所有事项都标为 P1、不要忽略缺失的测试或回滚任务。输出应随具体规格与项目上下文变化,不采用固定序列或固定数量议题。更多模板见 references/issue-creation.md,优先级与依赖规则见 references/priority-and-dependency-rules.md。