skills/ab300819/skills/devdocs-dev-workflow

devdocs-dev-workflow

SKILL.md

开发工作流

执行开发任务的工作流指导,支持单任务和批量执行,采用自顶向下开发模式和分层 TDD。

语言规则

  • 支持中英文提问
  • 统一中文回复

模式选择

入口处根据任务规模选择合适的开发模式:

模式 适用场景 流程
轻量 Bug fix、小改动、配置变更 /devdocs-bugfix(已有)
标准 新功能、需求变更 → 完整 Requirements→Design→Tests→Tasks→Dev
探索 原型、技术调研 → 允许跳过部分验证,事后 /devdocs-retrofit 补文档

模式判断指引

  • 若任务来自 devdocs-dev-tasks(已有完整文档链)→ 标准模式
  • 若用户描述为 bug/hotfix/配置变更 → 轻量模式,路由到 /devdocs-bugfix
  • 若用户描述为原型/调研/探索/spike → 探索模式,跳过对抗式验证和追溯标注强制,开发完成后提示运行 /devdocs-retrofit

以下流程为标准模式。轻量模式和探索模式见上述路由。

触发条件

  • 用户开始执行某个任务(如 T-01)
  • 用户批量执行任务(如 T-01~T-05、F-001、--all)
  • 用户需要继续开发(断点续做)
  • 用户需要开发指导
  • 用户从 devdocs-dev-tasks 进入开发阶段
  • 关键词:"开发任务"、"执行任务"、"开始 T-XX"、"批量开发"、"继续开发"

运行模式

语法

指定符 示例 说明
单任务 T-03 执行单个任务(现有行为)
范围 T-01~T-05 执行范围内所有任务
枚举 T-01,T-03,T-07 执行指定任务列表
功能点 F-001 通过 关联需求 字段反查所有关联任务
用户故事 US-001 同上
全部 --all 所有 状态≠已完成 的任务
无人值守 --headless 批量模式 + 全自动决策(fail-fast)
自动提交 --auto-commit 测试通过自动提交,仅 Blocker 时暂停(与 --headless 互斥)

模式对比

特性 单任务模式 批量模式(交互) --auto-commit --headless
依赖解析 自动补充前置依赖 拓扑排序全部任务 拓扑排序全部任务 拓扑排序 + 前置校验
断点检测 执行 编排器轻量执行 编排器轻量执行 编排器轻量执行
提交方式 用户选择 子 Agent 内交互确认 测试通过自动提交 自动提交(安全不变量保证)
中断处理 N/A 子 Agent 内交互 Blocker 时暂停询问 fail-fast 终止 + 续做命令
完成汇总 批量执行报告 批量执行报告 交付报告 + 检查点文件
执行模式 主 Agent 直接执行 编排器 + 子 Agent 编排器 + 子 Agent 编排器 + 子 Agent
上下文隔离 无需 每任务独立上下文 每任务独立上下文 每任务独立上下文

批量执行流程

解析指定符 → 依赖解析 + 拓扑排序 → 逐任务循环(断点检测 → 执行 → 原子提交)→ 汇总

详见 task-orchestration.md

前置条件

  • 任务文档:docs/devdocs/04-dev-tasks.md
  • 任务已定义并包含:关联需求、验收标准、测试方法

工作流程

1. 读取任务定义
   ├── 从 04-dev-tasks.md 获取任务详情
   ├── 确认关联的 F-XXX、AC-XXX
   └── 确认关联的测试用例 UT/IT/E2E-XXX
2. 生成骨架代码(自顶向下)
   ├── 接口骨架 + @requirement/@satisfies 标注
   └── 测试骨架 + @verifies/@testcase 标注
3. 执行开发(统一流程,分级强制)
   ├── 所有层级遵循统一 11 步流程
   ├── 层级标记(🔴🟡🟢⚪)决定各步骤强制程度
   └── 详见 execution-flow.md 强制程度矩阵
4. 完成检查
   ├── 基础检查(始终执行)
   │   ├── 验收标准全部满足
   │   ├── 测试通过
   │   └── Review 要点自查
   ├── 前置验证(--review 触发时,对抗式验证之前)
   │   ├── /devdocs-verify --impl:AC 满足度 + 设计一致性(若存在 DevDocs 文档)
   │   └── /devdocs-verify --ui:设计稿↔实现对齐(仅 UI 任务 + 有设计稿)
   └── 对抗式验证(🔴自动触发 / 其他层级 --review 手动触发)
       ├── 🔍 代码质量审查(/code-quality 视角)
       ├── 🧪 测试完备性审查(/testing-guide 视角)
       └── 📋 综合审查报告
4.5 更新自描述(/code-self-describe --update)
5. 提交代码(Commit 1: 代码,遵循 /commit-convention)
6. 更新追溯 + 文档提交(/devdocs-sync → Commit 2: 文档)
6.5 更新 AGENTS.md "当前状态"(若存在)
    ├── 更新活跃任务编号 (T-XX)
    └── 更新进度统计 (X/Y)
7. [推荐] 知识沉淀(/devdocs-compound)
    ├── 批量模式完成后默认执行(用户可跳过)
    └── 单任务模式:提示用户是否运行 /devdocs-compound

步骤状态追踪

11 步执行流程中,每步完成后记录状态标记(S1~S11),用于断点恢复时精确定位。比原有 5 步检查点更精确,减少重复工作。

详见 execution-flow.md 步骤状态追踪表

代码追溯标注规范

实现文档↔代码的双向追溯,AI 在生成代码时自动添加标注。

标注类型

标注 用途 位置
@requirement F-XXX 关联功能点 接口/类/模块
@satisfies AC-XXX 满足的验收标准 接口/方法
@verifies AC-XXX 验证的验收标准 测试用例
@testcase UT/IT/E2E-XXX 测试编号 测试用例

标注示例

/**
 * 创建用户
 * @requirement F-001 - 用户注册
 * @satisfies AC-001 - 邮箱格式校验
 * @satisfies AC-002 - 密码强度校验
 */
export async function createUser(dto: CreateUserDTO): Promise<User> {
  // 实现代码
}

/**
 * @verifies AC-001 - 邮箱格式校验
 * @testcase UT-001
 */
test('createUser 应该拒绝无效邮箱格式', () => {
  // 测试代码
});

标注规则

层级 标注位置 强制性
公共接口 Service/API 入口方法 必须
测试文件 每个测试用例 必须
内部实现 复杂逻辑 可选

自顶向下开发模式

先定义骨架,后填充细节。确保追溯链在代码生成时就建立。

开发流程

Step 1: 生成接口骨架
        ├── 方法签名(来自 02-system-design.md)
        ├── 添加 @requirement/@satisfies 标注
        └── 方法体: throw new Error('Not implemented')
Step 2: 生成测试骨架
        ├── 测试结构(来自 03-test-cases.md)
        ├── 添加 @verifies/@testcase 标注
        └── 测试体: test.skip() 或 test.todo()
Step 3: 实现接口细节(遵循 /code-quality)
Step 4: 完善测试(遵循 /testing-guide)
Step 5: 运行 /devdocs-sync 更新追溯矩阵

骨架生成约束

  • 接口骨架必须包含完整签名(参数、返回值、泛型)
  • 接口骨架必须添加追溯标注
  • 未实现方法必须抛出 Error 并注明任务编号
  • 测试骨架必须使用 skip/todo 标记
  • 测试骨架必须添加 @verifies 和 @testcase 标注

详见 skeleton-examples.md

分层 TDD 模式

所有层级遵循统一 11 步执行流程,层级标记仅决定各步骤的强制程度

层级 标记 强制步骤 推荐步骤 可选步骤
核心逻辑 (Service/Domain) 🔴 全部 11 步
接口层 (Controller/API) 🟡 骨架/实现/绿/AC/自描述/提交 测试断言/红/重构/验证
UI 层 (Component/View) 🟢 骨架/实现/绿/AC/自描述/提交 测试断言/验证 红/重构
基础设施 (DB/Config) 骨架/实现/绿/AC/自描述/提交 测试骨架 测试断言/红/重构/验证

TDD 循环(统一流程核心)

┌─────┐    ┌─────┐    ┌─────┐
│ 红  │ → │ 绿  │ → │重构 │ ──┐
│写测试│    │写实现│    │优化 │   │
│(失败)│    │(通过)│    │代码 │   │
└─────┘    └─────┘    └─────┘   │
    ↑                           │
    └───────────────────────────┘

详见 execution-flow.md 统一任务执行流程 + 强制程度矩阵

编排规范(子 Agent 调度)

dev-workflow 调用以下技能时,必须通过 Task tool 启动子 Agent

阶段 被调度技能 调度方式
前置验证 /devdocs-verify --impl Task tool 子 Agent
UI 对齐 /devdocs-verify --ui Task tool 子 Agent
追溯同步 /devdocs-sync Task tool 子 Agent
知识沉淀 /devdocs-compound Task tool 子 Agent
全量测试 /devdocs-test-run Task tool 子 Agent

调度原则

  1. 上下文隔离:每个子 Agent 自行读取所需文档,dev-workflow 不传递全文
  2. 摘要传递:只接收子 Agent 返回的 YAML 摘要,据此决定下一步
  3. 异常回退:子 Agent 返回 status: failed + blockers 时,展示阻塞项询问用户
  4. 不自行排障:编排层不读取子技能的完整输出文档来尝试修复

Skill 协作

阶段 协作 Skill 说明
写业务代码 /code-quality MTE 原则、依赖注入、避免过度设计
写测试代码 /testing-guide 断言质量、变异测试、覆盖率
UI 实现 /ui-orchestrator 无障碍、动画、布局约束
实现审查 /devdocs-verify --impl 前置验证:AC 满足度 + 设计一致性(DevDocs 功能开发任务)
UI 对齐 /devdocs-verify --ui 前置验证:设计稿↔实现对齐(仅 UI 任务 + 有设计稿时)
完成验证 /code-quality + /testing-guide 对抗式验证:多视角审查
完成检查 /code-self-describe 更新模块自描述(--update)
代码提交 /git-safety 使用 git mv/rm 处理文件
提交信息 /commit-convention 遵循项目提交规范
依赖解析 /devdocs-dev-tasks 读取任务依赖关系和状态
任务完成 /devdocs-sync 后续:更新追溯矩阵(追溯同步)
知识沉淀 /devdocs-compound 推荐:sync 后提取经验模式(批量模式默认执行)
全量测试 /devdocs-test-run 批量完成后:全量测试 + 追溯验证(--trace)

约束

骨架生成约束

  • 接口骨架必须包含完整签名
  • 接口骨架必须添加追溯标注
  • 未实现方法必须抛出 Error
  • 测试骨架必须使用 skip/todo 标记
  • 测试骨架必须添加 @verifies 和 @testcase 标注

分层 TDD 约束

  • 所有层级遵循统一 11 步执行流程(层级标记仅决定强制程度)
  • 核心逻辑任务必须标记 🔴 强制 TDD(全部 11 步 ■ 必须)
  • 核心逻辑任务必须先写测试,后写实现
  • 核心逻辑任务禁止在测试通过前提交
  • 接口层任务标记 🟡 推荐 TDD
  • UI 层任务标记 🟢 可选 TDD
  • 基础设施任务标记 ⚪ 推荐测试骨架
  • TDD 任务必须包含红-绿-重构三步骤
  • □/○ 步骤跳过时必须在提交信息中记录原因

完成检查约束

  • 验收标准 (AC-XXX) 全部满足
  • 关联测试全部通过
  • Review 要点自查完成
  • 代码追溯标注完整
  • 代码分支覆盖分析完成(可选,使用 /testing-guide 分支分析)

对抗式验证(可选)

以不同角色视角审查代码,模拟 "开发 → 审查 → 测试" 的多人协作模式。

触发条件

层级判定:任务层级标记(🔴🟡🟢⚪)来自 04-dev-tasks.md 中的任务定义,由 /devdocs-dev-tasks 在任务拆分时根据任务分层规则分配。

任务层级 默认行为 手动控制
🔴 核心逻辑 自动触发 --skip-review 跳过
🟡 接口层 不触发 --review 启用
🟢 UI 层 不触发 --review 启用
⚪ 基础设施 不触发 --review 启用

验证流程概要

基础完成检查(AC + 测试 + 标注)→ Phase 1: 代码质量审查(/code-quality 视角)→ Phase 2: 测试完备性审查(/testing-guide 视角)→ Phase 3: 综合报告(Blocker 必须修复 / Suggestion 可跳过)

执行对抗式验证时,必须读取 verification-flow.md 获取 AC↔diff 交叉验证规则、发现数量下限、发现分类标准和 --headless 下 Blocker/Suggestion 处理细则。

对抗式验证约束

  • Blocker 问题必须修复后才能提交
  • 每个 Phase 必须明确声明当前审查角色
  • 审查结果必须分级(Blocker/Suggestion)
  • 核心逻辑任务(🔴)默认触发
  • 修复 Blocker 后必须重新运行验证

依赖解析约束

  • 执行前必须完成依赖解析
  • 循环依赖必须报错终止(列出循环路径)
  • 已完成依赖跳过,不重复执行
  • 自动补充未完成的前置依赖到执行队列
  • "进行中"依赖通过 AskUserQuestion 询问用户

原子提交约束

  • 每个任务独立提交,不跨任务合并
  • 代码提交和文档提交分离(Commit 1: 代码,Commit 2: 文档状态 + trace 同步结果)
  • 提交前必须通过完成检查
  • 提交后更新 04-dev-tasks*.md 任务状态为 已完成
  • --single-commit 可将代码+文档合并为单次提交

断点续做约束

  • 每个任务开始前执行状态检测(5 步流水线)
  • 不相关变更必须警告用户(AskUserQuestion:stash/忽略/终止)
  • 已完成任务自动跳过
  • 进行中任务分析续做起点(11 步精确定位:S1~S11)
  • 文档状态 + Git 历史 + 工作区三重验证

详见 task-orchestration.md

--auto-commit 约束

  • 交互模式(非 headless),用户仍可观察过程
  • 测试全部通过且无 Blocker 时自动提交,不询问
  • 出现 Blocker 或测试失败时暂停询问
  • --headless 互斥(--headless 已包含自动提交语义)
  • 安全不变量同 --headless:测试未通过不提交、Blocker 未解决不提交

记忆文件同步约束

  • 任务完成后检查项目根目录是否存在 AGENTS.md
  • 仅允许更新 ## 当前状态 章节(活跃任务编号、进度统计)
  • 禁止修改结构性章节(Project Overview、Skill Architecture、Conventions 等由 /agent-memory 管理)
  • CLAUDE.md 通过 @AGENTS.md 自动导入,无需同步
  • 仅做文本替换,不调用 /agent-memory
  • 格式须与 /agent-memory 模板保持一致
  • 若 AGENTS.md 不存在则跳过

全量测试验证约束

  • 批量模式完成后必须调用 /devdocs-test-run --trace
  • 单任务模式不触发全量测试(已在开发中运行自身测试)
  • 全量测试失败不回滚已提交任务
  • 交互模式:AskUserQuestion 询问是否修复失败测试
  • --headless / --auto-commit 模式:记录警告到交付报告,不中断

无人值守约束(--headless)

  • 工作区必须洁净(启动前 + 每任务 Commit 2 后校验)
  • 前置依赖不得处于"进行中"状态(否则 fail-fast)
  • fail-fast 后输出续做命令
  • 修复过程中标注不得删减
  • 修复过程中断言数量不得减少
  • Suggestion 自动跳过(除非 --fix-suggestions
  • 绝不推送远程

详见 auto-mode.md

任务完成流程

所有层级遵循统一完成流程(层级标记决定各步骤强制程度,详见 execution-flow.md):

  1. 确认测试状态:检查测试是否通过
  2. 确认 TDD 循环(■🔴 □🟡 ○🟢⚪):测试从失败到通过的红-绿循环
  3. 检查重构(■🔴 □🟡 ○🟢⚪):代码是否经过优化
  4. 验证验收标准:检查所有 AC 是否满足
  5. 对抗式验证(■🔴自动 / □🟡🟢--review / ○⚪--review):
    • Phase 1: 代码质量审查(/code-quality 视角)
    • Phase 2: 测试完备性审查(/testing-guide 视角)
    • Phase 3: 综合报告,处理 Blocker
  6. 更新自描述:运行 /code-self-describe --update
  7. 提交决策
    • --headless 模式:自动提交(安全不变量已在前置步骤保证)
    • --auto-commit 模式:测试通过 + 无 Blocker 时自动提交
    • 交互模式:AskUserQuestion:"任务 T-XX 已完成,是否提交代码?"
      • 选项:"提交" / "继续修改" / "跳过"
  8. 如提交(原子提交):
    • Commit 1: 代码提交 <type>(T-XX): <名称>
    • 更新 04-dev-tasks*.md 状态 + /devdocs-sync
    • Commit 2: 文档提交 docs(T-XX): 更新任务状态并同步 trace
  9. 更新状态:TodoWrite 标记为已完成

提交信息格式

遵循 /commit-convention 规范,格式如下:

<type>(T-XX): <任务名称>

- <完成内容1>
- <完成内容2>

关联: F-XXX, AC-XXX
测试: UT-XXX, IT-XXX 通过

type 类型:feat | fix | refactor | test | docs | chore

子 Agent 摘要格式

当本 Skill 作为子 Agent 运行时,返回以下结构化摘要:

skill: devdocs-dev-workflow
task: T-XX
status: success | failed | skipped
commits:
  code: "abc1234"      # Commit 1 hash
  docs: "def5678"      # Commit 2 hash
test_summary:
  passed: X
  failed: 0
  coverage: "XX%"
blockers_resolved: 0
suggestions_skipped: 0
ac_verified: [AC-001, AC-002]
next_task: T-YY | null

参考资料

Weekly Installs
28
Repository
ab300819/skills
First Seen
Jan 26, 2026
Installed on
codex27
gemini-cli27
opencode27
github-copilot26
cursor26
claude-code24