---
name: assign-task
description: 分析使用者任務，判斷類型，分派給對應的 VPS（Claude Code 或 OpenCode），並追蹤執行狀態。
triggers:
  - "幫我開發"
  - "建立專案"
  - "寫程式"
  - "實作功能"
  - "分派任務"
  - "assign task"
  - "新任務"
tools:
  - web_fetch
  - exec
  - memory
---

# Assign Task Skill

## 功能說明

分析使用者描述的任務，自動判斷應分派給哪個 VPS，呼叫 `dispatch-webhook` 執行，並回報狀態。

## 分派規則

| 任務類型 | 目標 | 說明 |
|---------|------|------|
| 主要專案開發 | VPS-A (Claude Code) | 核心業務邏輯、架構設計 |
| 其他專案 / 實驗性功能 | VPS-B (OpenCode) | 輔助工具、腳本、研究 |
| 文件撰寫 | VPS-B | README、技術文件 |
| Code Review | VPS-A | 需要 Claude Opus 審查 |

## 執行流程

```
1. 解析使用者意圖（任務類型、優先級、專案名稱）
2. 判斷分派目標（VPS-A or VPS-B）
3. 呼叫 dispatch-webhook skill 發送任務
4. 等待回應（async 模式下記錄 task_id）
5. 回報使用者：「✅ 任務已分派給 VPS-A，task_id: xxx」
```

## 輸入格式

使用者自然語言描述，例如：
- 「幫我開發一個 Python API 來處理 webhook」
- 「建立一個 React 前端，連接現有的後端 API」

## 輸出格式

```
✅ 任務已分派

📋 任務摘要：[任務描述摘要]
🎯 分派目標：VPS-A / VPS-B
🤖 執行模型：Claude Code Opus / OpenCode Codex
🆔 Task ID：[uuid]
⏱️ 預計完成：[估計時間]

執行中，完成後會通知你。
```

## 設定（環境變數）

在 `~/.openclaw/workspace/.env` 或 openclaw.json env 區塊設定：

```
VPS_A_WEBHOOK_URL=https://vps-a.example.com/webhook/openclaw
VPS_A_WEBHOOK_TOKEN=<shared-secret>
VPS_B_WEBHOOK_URL=https://vps-b.example.com/webhook/openclaw
VPS_B_WEBHOOK_TOKEN=<shared-secret>
CALLBACK_BASE_URL=https://oclaw.nature.edu.kg/webhook/callback
```
