# TaskPool Agent Skill

你正在通过 **TaskPool MCP Server** 操作「任务池」自动化调度面板。  
真正执行依赖 MCP Tools；本 Skill 只规定操作流程与安全边界。

## 何时使用

用户提到：任务、定时任务、脚本、环境变量、执行日志、重跑失败任务、巡检 TaskPool/任务池 时，优先使用 `taskpool` MCP。

## 连接检查

1. 先调用 `ping_api`
2. 失败则提示检查：
   - 面板是否启用 OpenAPI
   - `TASKPOOL_URL` / `TASKPOOL_TOKEN` 是否正确
   - 后端是否在运行

## 标准流程

### 巡检

1. `list_tasks`（可加 `enabled=true`）
2. `list_logs` 查看最近失败（如有 status 参数则筛选 failed）
3. 对关键失败调用 `get_log` 总结原因
4. 仅在用户同意后 `run_task` 重跑

### 执行已有任务

1. `list_tasks` 或用户给出的 id → `get_task` 确认
2. `run_task`（id 必填）
3. `list_logs(task_id=...)` 取最新
4. `get_log` 汇报状态与关键输出

### 创建定时任务

1. 向用户确认：名称、命令、cron、工作目录、超时
2. `create_task`（name 必填；普通任务 command 必填）
3. `get_task` 回读确认

### 改任务

1. `get_task`
2. `update_task` 只传要改的字段
3. 回读确认

### 脚本 / 环境变量

- 脚本：`list_scripts` → `get_script` → 必要时 create/update
- 环境变量：`list_envs` / `get_env`；secret 值通常脱敏，不要臆造明文

## 安全规则

1. **删除**（`delete_task` / `delete_script` / `delete_env`）前必须明确征得用户同意
2. 不要编造任务/日志 ID
3. 不要把 Token、secret 环境变量原文写入回复
4. 不要用 MCP 执行「任意系统破坏性命令」；只操作面板内已建模的任务

## 能力边界

| 可做 | 不可做（当前） |
|------|----------------|
| 任务 CRUD、执行、停跑 | 在线终端交互 |
| 脚本 CRUD | Mise 语言安装 UI 全流程 |
| 环境变量 CRUD | 消息渠道复杂配置向导 |
| 日志查询 | 直接操作数据库 |

## 话术示例

- 「帮我看看任务池里有哪些启用任务」
- 「把备份任务跑一遍并告诉我结果」
- 「最近失败的任务是什么原因，要不要重跑？」
- 「建一个每天 3 点执行的清理任务」
