[UDS] 以 Claude 原生 Agent tool 編排多任務執行計畫(DAG-based,無外部引擎)。 Use when: executing a plan.json file with parallel/sequential task dependencies. Keywords: orchestrate, plan, execute, DAG, task plan, 編排, 執行計畫, 並行.
Scanned 6/3/2026
Install via CLI
openskills install AsiaOstrich/universal-dev-standards---
name: orchestrate
source: ../../../../skills/orchestrate/SKILL.md
source_version: 2.0.0
translation_version: 2.0.0
last_synced: 2026-06-02
source_hash: 40e97479c7da
scope: universal
description: |
[UDS] 以 Claude 原生 Agent tool 編排多任務執行計畫(DAG-based,無外部引擎)。
Use when: executing a plan.json file with parallel/sequential task dependencies.
Keywords: orchestrate, plan, execute, DAG, task plan, 編排, 執行計畫, 並行.
argument-hint: "<plan.json> [--dry-run]"
---
# /orchestrate — 任務計畫編排 Skill
> **語言**: [English](../../../../skills/orchestrate/SKILL.md) | 繁體中文
## 用法
```
/orchestrate <plan.json> # 執行計畫
/orchestrate <plan.json> --dry-run # 僅驗證,不執行
```
---
## 執行流程
### Step 1:讀取與解析計畫(Claude-native)
使用 Read tool 讀取 plan.json,直接由 Claude 解析:
1. 讀取 JSON 檔案,解析為任務清單
2. 驗證結構:`tasks` 非空、每個 task 含 `id`、`title`、`spec`
3. 安全掃描:檢查 `task.spec` 是否含危險指令(`rm -rf /`、`DROP DATABASE`、`git push --force`)
- 若發現安全問題,列出所有問題並**詢問使用者是否繼續**
4. 拓撲排序:依 `depends_on` 欄位將 tasks 分組為執行層(layers)
- Layer 0:沒有依賴的 tasks(可並行)
- Layer N:依賴全部在 Layer 0..N-1 中的 tasks
若 `validation.valid` 為 false,輸出錯誤訊息並停止。
---
### Step 2:呈現執行計畫
向使用者顯示解析結果:
```
計畫:<project> 品質:<quality>
──────────────────────────────────
Layer 0 (並行):T-001, T-002
Layer 1 (序列):T-003 (依賴 T-001)
Layer 2 (序列):T-004 (依賴 T-002, T-003)
──────────────────────────────────
共 4 個任務,3 個執行層
```
若使用 `--dry-run`:顯示以上摘要後**立即停止**,不啟動任何 Agent。
---
### Step 3:逐層執行
對 `layers` 陣列中的每一層:
1. **同層並行**:同一層的 tasks 在同一訊息中啟動多個 Agent tool
2. **Agent tool 參數**:
- `prompt`:task.spec + acceptance_criteria + user_intent 組合而成的執行提示
- `isolation: "worktree"`:每個 task 在獨立 git worktree 執行
- `description`:`"Task {task.id}: {task.title}"`
3. **等待完成**:所有同層 agents 完成後,才進入下一層
**Agent 提示範本**:
```
Task: {task.title}
Spec:
{task.spec}
Acceptance Criteria:
{task.acceptance_criteria 逐條列出}
User Intent:
{task.user_intent}
After completing the task, run: {task.verify_command}
```
---
### Step 4:依賴失敗處理
如果某個 task 的 agent 回報失敗:
- 標記該 task 為 `failed`
- 後續層中 `depends_on` 包含該 task ID 的所有 tasks 標記為 `skipped`
- 繼續執行不受影響的 tasks
- 最終報告中標示失敗原因
---
### Step 5:Quality Gate
每個 task 完成後,若 task 定義了 `verify_command`:
1. 使用 Bash tool 執行 `verify_command`
2. **成功**:記錄 `status: "success"`
3. **失敗**:
- 若 `quality` 為 `"strict"` 或 `"standard"`:啟動 Fix Loop
- Fix Loop:將錯誤輸出回傳給 agent,重新執行(最多 3 次)
- 超過重試上限:標記為 `failed`
---
### Step 6:Judge 審查(選用)
如果 task 定義了 `judge: true`:
- 啟動一個額外的 Agent tool 進行審查
- 提示:`審查 task {id} 的 git diff,依照 code-review 標準檢查`
- Judge 結果附加到最終報告
---
### Step 7:產出報告
彙整所有 task 結果,輸出執行報告:
```json
{
"summary": {
"total_tasks": 4,
"succeeded": 3,
"failed": 1,
"skipped": 0,
"total_duration_ms": 120000
},
"tasks": [
{ "task_id": "T-001", "status": "success", "duration_ms": 30000 },
{ "task_id": "T-002", "status": "failed", "error": "..." },
{ "task_id": "T-003", "status": "skipped", "reason": "依賴任務失敗" }
]
}
```
---
## 品質設定檔
| Profile | 行為 |
|---------|------|
| `strict` | 全部檢查 + Fix Loop 最多 5 次 |
| `standard` | lint + test + Fix Loop 最多 3 次(預設) |
| `minimal` | 僅跑 verify_command,不 Fix Loop |
| `none` | 不執行任何驗證 |
---
## 重要注意事項
- 每個 Agent tool 的 `isolation: "worktree"` 會自動建立 git worktree
- `depends_on: []` 的 tasks 在同一層內全部並行
- 使用繁體中文回覆使用者
---
## 版本歷程
| 版本 | 日期 | 變更 |
|------|------|------|
| 2.0.0 | 2026-04-28 | 升格為 UDS 正式 Skill;Step 1 改為 Claude-native 解析(移除 plan-resolver-cli.js 依賴);新增 Quality Gate / Fix Loop 章節(XSPEC-097 Phase 3) |
| 1.0.0 | 2026-04-09 | 初始發布(從上游遷移) |
No comments yet. Be the first to comment!