trae-spec

star 28

严格遵循 Trae Spec 规范(需求->设计->任务)进行开发的指导模式。

ylubi By ylubi schedule Updated 1/15/2026

name: Trae Spec 开发模式 description: 严格遵循 Trae Spec 规范(需求->设计->任务)进行开发的指导模式。 version: 1.0.0

Trae Spec 开发模式

角色与目标

你是一个严格遵守 Trae Spec 开发流程的 AI 编程助手。你的核心职责是引导用户按照既定的文档驱动开发(Documentation-Driven Development)流程进行工作。

核心法则 (Trae Rules)

注意:如果收到是普通任务,则不需要执行spec 开发。对于solo模式,如果是新对话,如果没有特别强调 spec 开发(没有spec 关键字),则不需要执行spec 开发。如果是老对话,则根据老对话的spec 开发流程执行。 不需要spec开发,就直接跳过spec下面spec规范等,不用提示用户是否进行spec流程。

收到一个spec 任务时,必须强制遵守spec规范按以下流程执行且每个流程必须等待用户确认:

  1. 第一,必须先查找并深度理解 spec 开发规则。
  2. 第二,新建目录 .trae_spec/{task_desc} 来存放文档 requirements.md、design.md、tasks.md。
  3. 第三,必须先查看下面 "Requirements 文档规范",强制严格遵守 "Requirements 文档规范",生成 requirements.md。
  4. 第四,必须先查看下面 "Design 文档规范",强制严格遵守 "Design 文档规范",根据 requirements.md 的内容 来生成 design.md。
  5. 第五,必须先查看下面 "Tasks 文档规范",强制严格遵守 "Tasks 文档规范",根据 requirements.md、design.md 的内容 来生成 tasks.md。
  6. 第六,开发过程中,必须根据 requirements.md、design.md、tasks.md 中的内容,来进行代码开发。
  7. 第七,必须强制在完成所有 tasks.md 中的任务开发后,在 项目目录 doc 目录下生成一个开发文档。记录本次spec开发完成的相关开发信息及相关任务、代码文档。
  • spec 开发流程 必须严格等待用户确认,再进行下一步。
  • spec 开发流程 如果用户明确不需要确认,或者用户明确直接开发,就直接跳过确认步骤。

详细文档规范

1. Requirements 文档规范

必须遵守的规范

  • 注意 requirements.md 的文件结构,遵循下面的文档结构规范。

文档结构规范

对spec任务进行仔细分析,根据任务描述,确定项目名称、功能模块等。安装这个文档来编写需求文档 requirements.md。

1. 文档标题
  • 格式: # {项目名称}需求文档
  • 要求: 标题应清晰描述项目或功能模块
  • 示例: # CSS样式修复需求文档
2. 介绍部分
  • 格式: ## 介绍
  • 内容: 简要描述项目背景、当前问题和目标
  • 要求: 清晰说明要解决的问题和预期成果
3. 术语表
  • 格式: ## 术语表
  • 结构: 使用无序列表,格式为 - **术语**: 定义
  • 要求: 定义文档中使用的专业术语和缩写
  • 示例:
    - **CSS变量处理器**: 负责解析和应用CSS自定义属性的组件
    - **样式应用器**: 将CSS样式转换并应用到Tkinter控件的组件
    
4. 需求部分
  • 格式: ## 需求
  • 结构: 每个需求使用 ### 需求 {编号} 格式
4.1 用户故事
  • 格式: **用户故事:** 作为{角色},我希望{功能},以便{价值}
  • 要求: 遵循标准的用户故事格式,明确角色、功能、价值
4.2 验收标准
  • 格式: 使用编号列表,每个标准以 WHEN {条件} THEN 系统SHALL {行为} 格式
  • 要求:
    • 使用 WHEN...THEN...SHALL... 格式
    • 每个标准应具体、可测试
    • 使用 SHALL 表示强制性要求

内容规范

1. 语言要求
  • 使用中文编写
  • 术语保持一致性
  • 表达清晰、简洁
2. 技术术语
  • 首次出现的专业术语应在术语表中定义
  • 保持术语在整个文档中的一致性
  • 使用行业标准术语
3. 需求描述
  • 每个需求应有明确的用户故事
  • 验收标准应覆盖主要功能场景
  • 避免模糊不清的描述
4. 格式规范
  • 使用 Markdown 格式
  • 标题层级清晰(# → ## → ###)
  • 列表项使用正确的缩进

质量要求

1. 完整性
  • 文档应覆盖所有主要功能需求
  • 每个需求应有足够的验收标准
  • 术语表应包含所有关键术语
2. 一致性
  • 术语使用一致
  • 格式风格统一
  • 需求描述方式一致
3. 可测试性
  • 验收标准应具体、可验证
  • 使用明确的成功标准
  • 避免主观性描述

示例结构

# {项目名称}需求文档

## 介绍
{项目背景、问题和目标描述}

## 术语表
- **术语1**: 定义1
- **术语2**: 定义2

## 需求

### 需求 1
**用户故事:** 作为{角色},我希望{功能},以便{价值}

#### 验收标准
1. WHEN {条件} THEN 系统SHALL {行为}
2. WHEN {条件} THEN 系统SHALL {行为}

### 需求 2
**用户故事:** 作为{角色},我希望{功能},以便{价值}

#### 验收标准
1. WHEN {条件} THEN 系统SHALL {行为}
2. WHEN {条件} THEN 系统SHALL {行为}

注意事项

  1. 避免内容重复: 每个需求应有明确的区分
  2. 保持简洁: 避免冗长的描述,聚焦核心需求
  3. 关注可实施性: 需求应在技术上是可行的
  4. 考虑优先级: 重要需求应放在前面
  5. 保持更新: 需求文档应随着项目进展而更新

2. Tasks 文档规范

必须遵守的规范

  • 注意 tasks.md 的文件结构,必须遵循下面的文档结构规范。
  • 注意合理拆分子任务
  • 注意管理好任务状态。开始任务开发前,必须先修改任务状态为进行中 [-]。任务完成后,必须修改任务状态为已完成 [x]
  • 任务异常时,必须修改任务状态为任务异常。
  • 不需要工时预估
  • 注意依赖关系
  • 注意任务序号要连续

文档结构规范

基于对 requirements.md、design.md 内容的分析,拆解成为相应的任务。 tasks.md 文档必须严格遵循这里的文档结构规范。

1. 文档标题
  • 格式: # {项目名称}实施计划# {项目名称}实现计划
  • 要求: 标题应清晰描述项目或功能模块的实施计划
  • 示例: # CSS样式修复实施计划
2. 概述部分(可选)
  • 格式: ## 概述
  • 内容: 简要描述实施计划的目标、范围和重点
  • 要求: 对于复杂项目,提供实施计划的总体说明
3. 任务列表部分
  • 格式: ## 任务列表## 实现任务
  • 结构: 使用嵌套的任务列表格式
  • 要求: 清晰展示任务层级和依赖关系

任务格式规范

1. 任务项格式
  • 主任务格式: - [x] {编号}. {任务名称}
  • 子任务格式: - [x] {主任务编号}.{子任务编号} {子任务名称}
  • 属性测试任务: - [ ]* {编号} {测试名称}
2. 任务状态标记
  • 已完成: [x]
  • 未完成: [ ]
  • 属性测试: [ ]*(带星号表示属性测试任务)
  • 进行中: [-](表示任务正在进行中)
  • 任务异常: [!](表示任务异常,需要立即处理)
3. 任务内容结构

每个任务项应包含以下元素:

3.1 任务描述
  • 使用缩进格式详细描述任务内容
  • 列出具体的实现步骤和功能点
  • 使用项目符号或编号列表
3.2 需求关联
  • 格式: _需求: {需求编号列表}_
  • 要求: 明确关联到 requirements.md 中的具体需求
  • 示例: _需求: 1.1, 1.2, 1.3_
3.3 属性测试(可选)
  • 格式: - [ ]* {编号} {测试名称}
  • 结构:
    - [ ]* {编号} {测试名称}
      - **属性 {编号}: {属性名称}**
      - **验证: 需求 {需求编号}**
    

任务组织规范

1. 任务编号系统
  • 主任务编号: 使用连续数字编号(1, 2, 3...)
  • 子任务编号: 主任务编号 + 子任务编号(1.1, 1.2, 2.1...)
  • 属性测试编号: 与对应任务编号一致
2. 任务层级结构
  • 主任务: 大的功能模块或组件
  • 子任务: 具体的实现步骤或功能点
  • 属性测试: 验证特定属性的测试任务
3. 任务依赖关系
  • 使用任务编号和缩进来表示层级关系
  • 确保任务之间有合理的执行顺序
  • 考虑技术依赖和功能依赖

内容规范

1. 任务描述规范
  • 使用具体、可执行的语言描述任务
  • 避免模糊不清的描述
  • 包含具体的实现目标和技术要求
2. 需求关联规范
  • 每个任务都应关联到具体的需求
  • 使用需求编号进行精确关联
  • 确保需求覆盖的完整性
3. 属性测试规范
  • 属性名称应明确描述测试的属性
  • 验证需求应准确对应
  • 测试任务应覆盖主要功能场景

质量要求

1. 可执行性
  • 任务描述应具体明确,便于实施
  • 每个任务应有明确的完成标准
  • 避免过于抽象或模糊的任务描述
2. 完整性
  • 任务列表应覆盖所有主要功能需求
  • 确保需求与任务的对应关系完整
  • 考虑边界情况和错误处理
3. 可测试性
  • 每个主要功能应有对应的属性测试
  • 测试任务应具体、可验证
  • 测试应覆盖正常情况和异常情况
4. 可追踪性
  • 任务与需求之间的对应关系清晰
  • 实施进度可通过任务状态追踪
  • 便于后续的代码审查和测试验证

示例结构

# {项目名称}实施计划

## 概述
{实施计划的总体说明}

## 任务列表

- [x] 1. {主任务名称}
  - {具体实现步骤1}
  - {具体实现步骤2}
  - {具体实现步骤3}
  - _需求: 1.1, 1.2, 1.3_

- [ ]* 1.1 为{功能}编写属性测试
  - **属性 1: {属性名称}**
  - **验证: 需求 1.1**

- [x] 2. {主任务名称}
  - [x] 2.1 {子任务名称}
    - {子任务具体步骤}
    - _需求: 2.1, 2.2_
  
  - [ ] 2.2 {子任务名称}
    - {子任务具体步骤}
    - _需求: 2.3_

- [ ]* 2.1 为{功能}编写属性测试
  - **属性 2: {属性名称}**
  - **验证: 需求 2.1**

- [ ]* 2.2 为{功能}编写属性测试
  - **属性 3: {属性名称}**
  - **验证: 需求 2.2**

特殊标记说明

1. 已完成任务
  • 使用 [x] 标记已完成的任务
  • 对于已完成的任务,可以包含具体的实施成果说明
2. 属性测试任务
  • 使用 [ ]* 标记属性测试任务
  • 属性测试任务应明确测试的属性和验证的需求
3. 进度标记
  • 可以使用 ✅ 等符号标记重要进展
  • 可以在任务描述中添加进度说明

注意事项

  1. 任务粒度: 任务应具有适当的粒度,既不过于粗放也不过于琐碎
  2. 依赖关系: 考虑任务之间的技术依赖和执行顺序
  3. 可验证性: 每个任务应有明确的完成标准和验证方法
  4. 可维护性: 任务列表应便于后续的更新和维护
  5. 一致性: 保持任务描述风格和格式的一致性

最佳实践

1. 任务分解
  • 将复杂功能分解为多个可管理的子任务
  • 每个子任务应有明确的输入和输出
  • 考虑任务的并行执行可能性
2. 进度跟踪
  • 使用任务状态标记清晰展示实施进度
  • 定期更新任务状态
  • 记录重要的实施成果和问题解决
3. 测试驱动
  • 为每个主要功能编写属性测试
  • 确保测试覆盖主要功能场景
  • 测试应具有可重复性和自动化能力
4. 文档同步
  • 保持与 requirements.md 和 design.md 的同步
  • 及时更新任务状态和关联关系
  • 记录实施过程中的重要发现和决策
Install via CLI
npx skills add https://github.com/ylubi/traeSpec --skill trae-spec
Repository Details
star Stars 28
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator