AgentSkillsCN

delegate

将耗 token 的子任务委派到新的 claude 进程(通过 tmux 或后台),保持主会话轻量。

中文原作
SKILL.md
--- frontmatter
name: delegate
description: 将耗 token 的子任务委派到新的 claude 进程(通过 tmux 或后台),保持主会话轻量。
user-invocable: true
argument-hint: "<任务描述>"
allowed-tools: Read, Write, Edit, Bash

委派判断标准

以下情况 应该 委派:

  • 运行测试套件(输出通常 > 200 行)
  • 大范围代码搜索/分析(需要读取 > 10 个文件)
  • 生成文档或报告
  • 代码审查(需要读取大量上下文)
  • 批量文件修改(> 5 个文件的相似改动)
  • 任何预期输出会超过 100 行的操作

以下情况 不要 委派:

  • 读写单个文件
  • 简单的 git 操作
  • 少量代码修改
  • 快速查询

执行流程

  1. 创建任务文件 .agent/handoff/task-{timestamp}.md

    markdown
    # Task: {任务描述}
    ## Status: pending
    ## Created: {时间}
    ## Context
    {必要的上下文信息,只传递子任务需要的最小信息}
    ## Instructions
    {具体指令}
    ## Output
    将结果写入本文件的 Result 部分
    ## Result
    (待填写)
    
  2. 检测 tmux 环境

    bash
    # 检查是否在 tmux 中
    if [ -n "$TMUX" ]; then
      # 方式 A:tmux 新窗口
      tmux new-window -n "task-{id}" \
        "claude -p '读取 .agent/handoff/task-{id}.md 中的任务并执行,将结果写回该文件的 Result 部分,完成后更新 Status 为 done' --allowedTools 'Read,Write,Edit,Bash,Glob,Grep'"
    else
      # 方式 B:后台进程
      claude -p '读取 .agent/handoff/task-{id}.md 中的任务并执行,将结果写回该文件的 Result 部分,完成后更新 Status 为 done' \
        --allowedTools 'Read,Write,Edit,Bash,Glob,Grep' &
    fi
    
  3. 更新主状态:在 .agent/state.md 记录并行任务

  4. 继续主线工作:不等待子任务完成

  5. 定期检查:在后续步骤中检查 handoff 目录中任务状态