name: project-orchestration description: 使用规划代理、上下文交接和阶段管理编排多代理工作流进行功能开发 version: 1.0.0 author: opencode type: skill category: orchestration tags:
- 编排
- 多代理
- 规划
- 工作流
- 阶段
项目编排技能
目的: 编排多代理工作流进行功能开发
我做什么
协调多代理规划和执行工作流:
- 在规划代理之间传递最小上下文
- 跟踪规划代理输出
- 管理8阶段功能交付工作流
- 维护规划会话状态
三个工作流
1. 上下文交接(轻量级)
在代理之间传递最小上下文(推荐用于自动化)
- 命令: create, get-context, add-output, show
- 使用时机: 编排规划代理时
- 参见: workflows/context-handoff.md
2. 会话上下文(交互式)
人类可读的规划叙述(用于调试/审查)
- 命令: session-create, session-load, session-summary
- 使用时机: 调试或审查规划会话时
- 参见: workflows/context-handoff.md
3. 多阶段交付(8个阶段)
完整功能交付工作流
- 命令: stage-init, stage-status, stage-complete, stage-rollback
- 使用时机: 运行完整的8阶段功能工作流时
- 参见: workflows/8-stage-delivery.md
快速开始
上下文交接工作流
# 创建上下文索引
bash .opencode/skill/project-orchestration/router.sh create auth-system
# 获取特定代理的最小上下文
bash .opencode/skill/project-orchestration/router.sh get-context auth-system StoryMapper
# 跟踪代理输出
bash .opencode/skill/project-orchestration/router.sh add-output auth-system ArchitectureAnalyzer .tmp/architecture/auth-system/contexts.json
# 显示完整索引
bash .opencode/skill/project-orchestration/router.sh show auth-system
8阶段工作流
# 初始化工作流
bash .opencode/skill/project-orchestration/router.sh stage-init auth-system
# 检查状态
bash .opencode/skill/project-orchestration/router.sh stage-status auth-system
# 标记阶段完成
bash .opencode/skill/project-orchestration/router.sh stage-complete auth-system 1
# 如果需要回滚
bash .opencode/skill/project-orchestration/router.sh stage-rollback auth-system 1
命令参考
上下文管理
| 命令 | 描述 |
|---|---|
create <feature> |
为功能创建上下文索引 |
get-context <feature> <agentType> |
获取特定代理的最小上下文 |
add-output <feature> <agent> <path> |
跟踪代理输出 |
show <feature> |
显示完整上下文索引 |
会话管理
| 命令 | 描述 |
|---|---|
session-create <feature> <request> |
创建会话上下文 |
session-load <sessionId> |
加载会话上下文 |
session-summary <sessionId> |
获取会话摘要 |
阶段管理
| 命令 | 描述 |
|---|---|
stage-init <feature> |
初始化8阶段工作流 |
stage-status <feature> |
显示阶段进度 |
stage-complete <feature> <stage> |
标记阶段完成 |
stage-rollback <feature> <stage> |
回滚阶段 |
stage-validate <feature> <stage> |
验证阶段 |
stage-abort <feature> |
中止工作流 |
架构
.opencode/skill/project-orchestration/
├── SKILL.md # 本文件
├── router.sh # CLI 路由器
├── scripts/
│ ├── context-index.ts # 轻量级上下文交接
│ ├── session-context-manager.ts # 会话上下文管理
│ └── stage-cli.ts # 8阶段工作流管理
└── workflows/
├── context-handoff.md # 详细上下文交接指南
├── 8-stage-delivery.md # 详细8阶段工作流指南
└── planning-agents.md # 规划代理集成指南
文件位置
脚本
- 上下文索引:
.opencode/skill/project-orchestration/scripts/context-index.ts - 会话上下文:
.opencode/skill/project-orchestration/scripts/session-context-manager.ts - 阶段 CLI:
.opencode/skill/project-orchestration/scripts/stage-cli.ts
运行时文件
- 上下文索引:
.tmp/context-index/{feature}.json - 会话:
.tmp/sessions/{session-id}/context.md - 阶段跟踪:
.tmp/sessions/{session-id}/stage-tracking.json
工作流指南
- 上下文交接:
.opencode/skill/project-orchestration/workflows/context-handoff.md - 8阶段交付:
.opencode/skill/project-orchestration/workflows/8-stage-delivery.md - 规划代理:
.opencode/skill/project-orchestration/workflows/planning-agents.md
上下文交接模式
轻量级上下文索引(推荐)
使用时机: 多代理流水线、性能关键工作流、自动化编排
工作原理:
- 编排器维护轻量级索引(
.tmp/context-index/{feature}.json) - 每个代理仅获取所需文件
- 每个代理上下文减少83%
示例:
import { createContextIndex, getContextForAgent, addAgentOutput } from './scripts/context-index';
// 创建索引
createContextIndex('auth-system', { request: 'Build JWT auth' });
// 获取 StoryMapper 的最小上下文
const context = getContextForAgent('auth-system', 'StoryMapper');
// 返回: { contextFiles: [...], agentOutputs: { ArchitectureAnalyzer: "..." } }
// 代理完成后,更新索引
addAgentOutput('auth-system', 'StoryMapper', '.tmp/story-maps/auth-system/map.json',
{ verticalSlice: 'user-login' });
优势:
- ✅ 每个代理上下文最小化(仅需内容)
- ✅ 快速(小 JSON 文件)
- ✅ 可扩展(索引保持小)
- ✅ 依赖清晰(显式文件路径)
会话上下文(交互式)
使用时机: 交互式会话、人类审查、调试、叙述跟踪
工作原理:
- 创建 Markdown 文件(
.tmp/sessions/{session-id}/context.md) - 人类可读的整个工作流叙述
- 所有代理读取/更新同一文件
示例:
import { createSession, updateSession, markStageComplete } from './scripts/session-context-manager';
// 创建会话
const sessionId = await createSession('auth-system', {
request: 'Build JWT authentication',
contextFiles: ['.opencode/context/core/standards/code-quality.md'],
exitCriteria: ['All endpoints implemented']
});
// 代理完成后更新
await updateSession(sessionId, {
architectureContext: { boundedContext: 'authentication' }
});
await markStageComplete(sessionId, 'Stage 1: Architecture Decomposition', [
'.tmp/architecture/auth-system/contexts.json'
]);
优势:
- ✅ 人类可读(Markdown 格式)
- ✅ 完整叙述(查看整个工作流)
- ✅ 便于调试(追踪决策)
- ✅ 审计轨迹(谁在何时做了什么)
比较
| 特性 | 上下文索引 | 会话上下文 |
|---|---|---|
| 格式 | JSON | Markdown |
| 大小 | 小(约200行) | 大(2000+行) |
| 受众 | 仅代理 | 人类 + 代理 |
| 每个代理上下文 | 最小(2-5个文件) | 全部(所有文件) |
| 性能 | 快 | 较慢 |
| 用例 | 自动化流水线 | 交互式会话 |
| 人类可读 | 否 | 是 |
| 调试 | 较难 | 较易 |
推荐
对于大多数多代理工作流: 使用上下文索引(轻量级、快速、每个代理上下文最小)
对于交互式开发: 使用会话上下文(人类可读、完整叙述)
可以两者兼用: 上下文索引用于自动化,会话上下文用于人类审查
8阶段交付工作流
多阶段编排工作流提供复杂功能开发的系统方法:
阶段
- 架构分解 - 定义系统边界和组件
- 故事映射 - 映射用户旅程并创建故事
- 优先级排序 - 按价值和依赖关系排序工作
- 增强任务分解 - 创建原子、可执行任务
- 合同定义 - 在实现前定义接口
- 并行执行 - 同时执行独立工作
- 集成与验证 - 集成和验证组件
- 发布与学习 - 部署并捕获见解
阶段管理
# 初始化工作流
bash .opencode/skill/project-orchestration/router.sh stage-init auth-system
# 检查状态
bash .opencode/skill/project-orchestration/router.sh stage-status auth-system
# 验证阶段准备就绪
bash .opencode/skill/project-orchestration/router.sh stage-validate auth-system 1
# 标记阶段完成
bash .opencode/skill/project-orchestration/router.sh stage-complete auth-system 1
# 如果需要回滚
bash .opencode/skill/project-orchestration/router.sh stage-rollback auth-system 1
# 中止工作流
bash .opencode/skill/project-orchestration/router.sh stage-abort auth-system
阶段跟踪
阶段跟踪文件存储在 .tmp/sessions/{timestamp}-{feature}/stage-tracking.json
每个阶段跟踪:
- 状态(待处理、进行中、完成、失败)
- 开始和完成时间戳
- 产出
- 验证结果
- 错误消息(如果失败)
规划代理集成
编排技能与规划代理集成,以丰富任务元数据:
ArchitectureAnalyzer
基于领域分析提供 bounded_context 和 module 字段。
StoryMapper
为功能切片架构提供 vertical_slice 字段。
PrioritizationEngine
为优先级排序提供 rice_score、wsjf_score 和 release_slice 字段。
ContractManager
为 API/接口依赖提供 contracts 数组。
ADRManager
为架构决策参考提供 related_adrs 数组。
参见 workflows/planning-agents.md 获取详细集成指南。
最佳实践
上下文交接
- 使用上下文索引进行自动化流水线
- 使用会话上下文进行人类审查
- 代理完成后立即更新索引
- 保持元数据小而有用
阶段管理
- 执行前验证阶段先决条件
- 仅在满足所有标准时标记阶段完成
- 文档化回滚原因
- 跟踪阶段产出以进行追溯
规划集成
- 调用 ArchitectureAnalyzer 处理复杂领域逻辑
- 使用 StoryMapper 进行用户旅程映射
- 应用 PrioritizationEngine 识别 MVP
- 使用 ContractManager 定义合同以进行并行开发
- 使用 ADRManager 文档化决策
另请参见
- 任务管理:
.opencode/skill/task-management/SKILL.md - 规划代理指南:
.opencode/docs/agents/planning-agents-guide.md - 多阶段编排:
.opencode/context/core/workflows/multi-stage-orchestration.md