---
name: large-task-router
description: "大任务拆分规划。触发：单文件≥20MB、合计≥50MB、≥2 文件同类处理、用户提到并行/分批/拆分/subagent。命中时先 read SKILL.md 后按 Subagent Plan 执行。"
---

# Large Task Router

## 目标

把"大任务先拆分后执行"变成**强制**固定流程，避免直接串行处理导致慢、易中断、难恢复。本技能一旦被加载进上下文，触发条件匹配即自动生效，不再需要用户重申。

## 何时启用（命中任一即必须启用）

- 输入文件总大小 > 50MB
- 任意单文件 > 20MB（即使只有一个文件）
- 预计步骤 > 8
- 预计耗时 > 10 分钟
- 用户明确或隐含提到：并行 / 分批 / 拆分 / subagent / 多 agent / 同时处理 / 一起跑 / 并发

> **关键**：以上条件是**客观触发器**，不是建议。不要用"任务简单"、"一个子任务就够"、"我直接跑更快"等理由跳过。触发条件成立即必须输出 Subagent Plan，即使 subagent 数量 = 1。

## 固定流程（必须按顺序）

1. **规模评估**
   - 估算：文件大小、文件数量、步骤数、预估时长
   - 输出一行结论：`任务规模=小|中|大`
   - 若任一触发条件命中，`任务规模` 至少为 `中`，进入步骤 2
2. **拆分计划**
   - 先完整输出 "Subagent Plan" 模板（参考 `templates/plan.md`），再开始执行
   - 子任务命名统一为 `subagent-1..n`
   - **即使 n = 1，也要填写完整模板**，显式说明"无法进一步拆分的理由"
3. **并行执行**
   - 按计划并发执行
   - 子任务失败可重试 1 次（同参数）
4. **聚合汇总**
   - 合并成功结果
   - 标注失败项、重试结果、遗留风险
5. **最终报告**
   - 给出结论 + 可执行下一步

## 并发策略

- 默认并发数：`N = min(4, 子任务数)`
- 若环境允许且任务明显可并行：可提高到 `N = 6~8`
- 避免过度并发：当任务共享同一资源（同一大文件写入、同一数据库表）时改为分阶段并行

## 拆分模板（按优先级选择）

1. **按文件切块**：大文件按块/页/段/行数范围拆分（单文件 > 20MB 时首选此模式）
2. **按阶段拆分**：采集 → 清洗 → 分析 → 汇总
3. **按目标拆分**：A 子任务做提取，B 子任务做校验，C 子任务做格式化

每个子任务必须包含：

- `objective`：目标
- `input`：输入范围
- `output`：期望产出
- `timeout`：超时限制
- `success_criteria`：成功判定

## 输出格式

先使用 `templates/plan.md` 输出计划，再执行任务。

最终报告必须包含：

- `Summary`：总体结果
- `Completed`：完成项
- `Failed/Retried`：失败与重试
- `Risks`：风险与边界
- `Next Actions`：建议下一步

## 护栏（硬性规则，不得绕过）

- **禁止直接开跑**：触发条件命中的任务不得跳过 Subagent Plan 阶段，直接调用工具/读写文件。
- **禁止自主降级**：不得以"任务简单 / 不需要拆分 / 我评估不用" 为由拒绝本流程。规模评估仅决定拆分粒度（subagent 数量），不决定是否输出计划。
- **禁止静默失败**：子任务失败必须显式列入最终报告的 `Failed/Retried`，并说明重试结果。
- **单文件大**：当触发器是"单文件 > 20MB"时，仍需输出 Subagent Plan；若该文件确实无法按块/行/段拆分，在计划中说明理由后可仅用 1 个 subagent 执行，但流程不变。
- **关键词即触发**：用户提到"并行/分批/拆分"等关键词时，即使规模小，也要输出简化版 Subagent Plan（可 1~2 个 subagent）以确认并行意图，避免误解为串行。
