DOA WorkCopilot — 项目全生命周期工作站
核心理念
一个项目的成功从第一行配置开始,而非第一行代码。 WorkCopilot 统一编排所有 Agent 和 Skill,确保每一步都有正确的角色、正确的约束、正确的产出。
🔒 自动持久化契约:每次会话结束时,WorkCopilot 自动更新
.workcopilot/下的项目状态文件(state.json、changelog.md、decisions.md、tech-debt.md),确保项目记忆永不丢失。无需用户手动触发。
🚀 团队部署(首次使用必读)
本 Skill 是完全自包含的,包含全部 Agent 定义、工作流和脚手架模板。
团队成员只需获取 doa-workcopilot/ 目录即可上手。
方式一:自动部署(推荐)
# 在 PowerShell 中执行
& "path/to/doa-workcopilot/scripts/deploy.ps1"
脚本会自动:
- 将 skill 安装到
~/.claude/skills/doa-workcopilot/ - 在
~/.claude/agents/安装 6 个 Agent 文件(已存在则跳过) - 在
~/.claude/skills/安装 12 个附属 Skill(已存在则跳过)
方式二:手动部署
- 复制
doa-workcopilot/到~/.claude/skills/ - 复制
embedded-agents/下的6个.md文件到~/.claude/agents/ - 复制
embedded-skills/下的12个子目录到~/.claude/skills/(已存在同名则跳过)
内置资源清单
doa-workcopilot/
├── SKILL.md ← 主编排逻辑(本文件)
├── scripts/
│ └── deploy.ps1 ← 团队一键部署脚本
├── references/ ← 脚手架模板 & 内嵌工作流
│ ├── agents.md ← 6 个 Agent 精简角色定义
│ ├── embedded-harness.md ← Harness 工程轨道工作流
│ ├── embedded-spec-flow.md ← Spec-Flow 结构化开发流程
│ ├── dotnet-scaffold.md ← .NET 8 脚手架模板
│ ├── python-scaffold.md ← FastAPI 脚手架模板
│ └── react-scaffold.md ← React + Vite 脚手架模板
├── embedded-agents/ ← 完整 Agent 定义文件(项目注入用)
│ ├── requirements-analyst.md
│ ├── system-architect.md
│ ├── backend-engineer.md
│ ├── frontend-engineer.md
│ ├── test-engineer.md
│ └── mermaid-diagram.md
├── embedded-hooks/ ← PreToolUse Hook(项目注入用)
│ ├── update-workcopilot.json ← Hook 配置(commit/build/docker 前拦截)
│ └── scripts/
│ └── check-workcopilot.ps1 ← 拦截脚本(检查 .workcopilot 是否已更新)
├── embedded-prompts/ ← Prompt 模板(项目注入用)
│ ├── code-review.prompt.md ← 全面 Code Review(安全+性能+规范+逻辑)
│ └── generate-tests.prompt.md ← 生成 xUnit + Moq 单元测试
└── embedded-skills/ ← 完整 Skill 包(项目注入用)
├── doa-ppt/ (SKILL.md + 2 模板)
├── doa-metting/ (SKILL.md + 1 模板)
├── doa-apidoc/ (SKILL.md + 2 模板)
├── doa-image/ (SKILL.md)
├── doa-quotation/ (SKILL.md + 3 模板)
├── doa-testreport/ (SKILL.md)
├── doa-e2etest/ (SKILL.md + 3 参考文档)
├── doa-harness/ (SKILL.md + 5 模板)
├── spec-flow-main/ (SKILL.md + 模板 + 参考 + 脚本)
├── brainstorming/ (SKILL.md)
├── frontend-design/ (SKILL.md)
└── ui-ux-pro-max/ (SKILL.md + data + scripts)
项目级注入机制
初始化项目时,WorkCopilot 会自动将 Agent、Skill、Hook 和 Prompt 注入到项目目录:
{project-root}/
├── .github/
│ ├── hooks/ ← 从 embedded-hooks/ 注入
│ │ ├── update-workcopilot.json
│ │ └── scripts/
│ │ └── check-workcopilot.ps1
│ └── prompts/ ← 从 embedded-prompts/ 注入
│ ├── code-review.prompt.md
│ └── generate-tests.prompt.md
└── .claude/
├── agents/ ← 从 embedded-agents/ 注入
│ ├── requirements-analyst.md
│ ├── system-architect.md
│ ├── backend-engineer.md
│ ├── frontend-engineer.md
│ ├── test-engineer.md
│ └── mermaid-diagram.md
└── skills/ ← 从 embedded-skills/ 注入
├── doa-ppt/
├── doa-metting/
├── doa-apidoc/
├── doa-image/
├── doa-quotation/
├── doa-e2etest/
├── doa-harness/
├── doa-testreport/
├── spec-flow-main/
├── brainstorming/
├── frontend-design/
└── ui-ux-pro-max/
优先级规则:项目级 .claude/ > 用户级 ~/.claude/。
当项目目录和用户目录下存在同名 Agent 或 Skill 时,优先使用项目里的版本。
这意味着团队可以对项目级的 Agent/Skill 做定制化修改,不会受到个人配置的干扰。
编排资源清单
Agent 矩阵
读取 references/agents.md 获取精简角色定义(调度用摘要),完整版位于 embedded-agents/ 目录。
| Agent | 角色 | 调度时机 | 核心职责 |
|---|---|---|---|
requirements-analyst | 需求分析师 | Phase 2 | 业务拆解→EARS 需求→验收标准 |
system-architect | 系统架构师 | Phase 3 | 架构设计→API 设计→数据建模 |
backend-engineer | 后端工程师 | Phase 5 | API 实现→数据库→认证→安全 |
frontend-engineer | 前端工程师 | Phase 5 | 组件设计→状态管理→路由→UI |
test-engineer | 测试工程师 | Phase 5 | 测试策略→自动化→覆盖率 |
mermaid-diagram | 时序图架构师 | Phase 3 | 交互流程→Mermaid 时序图 |
Agent 调度方式:使用
runSubagent调度对应 Agent,并在 prompt 中注入references/agents.md中该 Agent 的角色定义作为系统提示。
Skill 工具箱
以下 Skill 的核心工作流已内置,无需额外安装即可使用:
| Skill | 用途 | 调度时机 | 内置位置 |
|---|---|---|---|
harness | 搭建工程轨道 | 老项目首步 / 新项目收尾 | embedded-harness.md |
spec-flow | 结构化需求-设计-任务流 | 新代码项目 Phase 2-4 | embedded-spec-flow.md |
brainstorming | 创意探索与需求澄清 | 任何创作性工作之前 | embedded-skills/brainstorming/ |
frontend-design | 高质量前端界面设计 | Phase 5 / 按需 | embedded-skills/frontend-design/ |
ui-ux-pro-max | UI/UX 专业设计系统 | Phase 5 / 按需 | embedded-skills/ui-ux-pro-max/ |
以下 Skill 已内嵌在 embedded-skills/ 中,项目初始化时自动注入,按需调度:
| Skill | 用途 | 调度时机 |
|---|---|---|
doa-ppt | 生成方案PPT | 按需 |
doa-metting | 生成会议纪要 | 按需 |
doa-apidoc | 生成接口文档 | Phase 3 后 |
doa-image | 生成可视化页面 | 按需 |
doa-quotation | 生成报价单 | 按需 |
doa-testreport | 基于截图生成测试报告(HTML/PDF/Excel) | 按需 |
doa-e2etest | Playwright E2E 测试全流程 → HTML/PDF 报告 | Phase 5.5 / 按需 |
主工作流
调用 WorkCopilot
→ Step 0: 项目类型判定(新 / 老)
┌─ 老项目路线 ──────────────────────────────────────┐
│ → Step E1: 运行 Harness(探测 + 生成工程轨道) │
│ → Step E2: 生成/更新 docs/README.md │
│ → Step E3: 注入项目级 Agent & Skill & Hook(6+12+1) │
│ → Step E4: 输出 Day-1 验证 & 可用命令清单 │
│ → Step E5: 状态持久化 + 初始化项目记忆 │
└──────────────────────────────────────────────────────┘
┌─ 新项目路线 ──────────────────────────────────────────┐
│ → Step N1: 项目子类型判定(代码 / 非代码) │
│ ┌─ 非代码项目 ─────────────────────────────────────┐│
│ │ → 运行 Harness(生成工程轨道) ││
│ │ → 引导选择合适 Skill(PPT/文档/报价/图片等) ││
│ │ → 调度 Skill 执行,产出存入 output/{名称}/ ││
│ │ → 状态持久化(state.json + changelog.md) ││
│ └──────────────────────────────────────────────────┘│
│ ┌─ 代码项目 ───────────────────────────────────────┐│
│ │ → Phase 1: 技术栈 + 规模 + CI/CD + 环境选型 ││
│ │ → Phase 2-4: 委托 spec-flow-main skill ││
│ │ (需求分析/系统设计/任务拆解,可跳过/可导入) ││
│ │ → Phase 5: 脚手架搭建(支持完整/空项目模式) ││
│ │ ├── 5.0 脚手架模式判定 + 参考图导入 ││
│ │ ├── 5.1 后端(完整/空项目 + 多模块/微服务) ││
│ │ ├── 5.2 前端(完整/空项目 + 可导入参考图) ││
│ │ ├── 5.3 数据库 ││
│ │ ├── 5.4 Docker ││
│ │ ├── 5.5 测试框架 ││
│ │ ├── 5.6 Git 初始化 ││
│ │ ├── 5.7 CI/CD 管线 ││
│ │ ├── 5.8 多环境配置 ││
│ │ └── 5.9 安全基线 ││
│ │ → Phase 6: 工程轨道(Harness) ││
│ │ → Phase 6.5: 注入项目级 Agent & Skill & Hook ││
│ │ → Phase 7: Day-1 验证 ││
│ │ → Phase 8: 项目状态持久化 ││
│ │ → Phase 9: 迭代开发(持续循环入口)↺ ││
│ └──────────────────────────────────────────────────┘│
└───────────────────────────────────────────────────────┘
┌─ 迭代入口(已初始化项目再次调用)──────────────────────┐
│ → 检测 .workcopilot/state.json │
│ → 自动跳过初始化,直接进入 Phase 9 迭代开发 │
└───────────────────────────────────────────────────────┘
Step 0: 项目类型判定
前置检查:先检测当前工作区是否存在 .workcopilot/state.json。
如存在:
- 读取
source字段判断来源("existing"老项目 /"non-code"非代码项目 / 无则为新代码项目) - 如果是非代码项目(
source: "non-code"),直接询问用户本次要做什么(复用非代码项目 Q2 选项),调度对应 Skill,完成后追加迭代记录 - 检查初始化阶段是否全部完成(新项目: phase1-7 / 老项目: E1-E4)
- 如全部完成,直接跳转 Phase 9 迭代开发模式,不再询问项目类型
- 如有