Feishu Parallel Dispatch
Use this skill when working in Feishu and the user may send another prompt
before the current task is done.
Pair it with feishu-progress-heartbeat or the equivalent heartbeat pattern so
long-running child tasks can send automatic progress updates about every 3
minutes while they are still active.
Goal
Keep the main Feishu chat responsive.
Do not let one long task occupy the foreground session when the work can be
offloaded to a spawned sub-agent.
Core Rule
For any substantial Feishu request, prefer:
- 1. quick acknowledgement in the current chat
- immediate INLINECODE1
- end the current turn
- let the child task announce its own result later
For substantial tasks, staying in the foreground without a spawned child is a
failure mode, not an acceptable fallback.
This keeps the foreground session free so the next user prompt can create its
own child task instead of waiting behind the previous one.
When To Spawn
Spawn a child task when the request is likely to need any of these:
- - web search or verification
- file creation or document generation
- multiple tool calls
- coding or debugging
- multi-step planning
- anything likely to take more than about 5-10 seconds
- any task where the user asked for periodic progress updates
- any task where the user expects the work to continue until fully complete
Do not spawn for tiny answers that can be completed immediately.
One Prompt, One Child
Treat each substantial user prompt as its own work item.
- - If task A is still running and the user sends task B, spawn another child
task for B.
- - Do not wait for A to finish before starting B.
- Do not merge unrelated prompts into one child task unless the user clearly
asked for one combined deliverable.
Agent Choice
Pick the child agent with the clearest fit:
- -
research: current facts, comparisons, source-backed analysis - INLINECODE3 : team planning, meeting outputs, shared project coordination
- INLINECODE4 : personal planning, solo execution, personal review work
- INLINECODE5 : family-shared tasks only
- INLINECODE6 : couple-shared tasks only
- INLINECODE7 : explicit multi-agent discussion
- current agent: when the task belongs to the same specialist context
Foreground Reply Pattern
Use short Feishu-friendly acknowledgement text, for example:
- - INLINECODE8
- INLINECODE9
- INLINECODE10
After this acknowledgement, spawn and stop. Do not stay in the foreground
session doing the heavy work.
If the spawn fails, retry once immediately with a narrower label or a more
obvious specialist. If it still fails, tell the user plainly that the
background handoff failed and what fallback path you are taking.
Do not narrate the spawn mechanics, raw action payloads, or internal command
objects to the user.
Completion Behavior
Each child task should report back independently when it finishes.
- - Do not wait for all child tasks to finish before replying
- Do not bundle unrelated task results into one final message
- If a child task fails, report the failure for that task only
- If a child task keeps running, let it produce short 3-minute progress updates with estimated percentages instead of going silent
- If a child task disappears before the user-visible deliverable is complete,
spawn one bounded continuation child and keep going instead of silently
dropping the work
Progress Queries
If the user asks:
- - INLINECODE11
- INLINECODE12
- INLINECODE13
- INLINECODE14
Then:
- 1. use
sessions_list with tree visibility to find active child sessions - use
session_status if needed - reply with a short per-task status list
Do not answer with a plan like "我先检查一下". Perform the status inspection
first and reply only with the result.
If the inspection shows no active child but the last explicit request is still
unfinished, immediately recreate a bounded continuation child for the missing
next step before replying.
Labeling
When spawning, use a short label so later status replies are readable.
Good labels:
- - INLINECODE18
- INLINECODE19
- INLINECODE20
- INLINECODE21
- INLINECODE22
If helpful, choose labels that make progress checks easier to read later.
Prefer short noun phrases over vague labels like 任务 or 处理中.
Boundaries
- - This is a dispatch pattern, not an excuse to over-spawn
- Keep one child per meaningful user request, not one child per tiny sub-step
- Do not spawn from a spawned sub-agent
- If the user explicitly wants one synchronous answer, honor that
- For long Feishu work, never let the task exist only as a foreground promise;
there must be an active child task or a clear blocker already surfaced
Feishu 并行分发
在飞书中工作时,如果用户可能在当前任务完成前发送另一个提示,请使用此技能。
与 feishu-progress-heartbeat 或等效的心跳模式配合使用,以便长时间运行的子任务在活跃期间每约 3 分钟自动发送进度更新。
目标
保持飞书主会话的响应性。
不要让一个长任务占用前台会话,当工作可以卸载给生成的子代理时。
核心规则
对于任何实质性的飞书请求,优先选择:
- 1. 在当前会话中快速确认
- 立即执行 sessions_spawn
- 结束当前轮次
- 让子任务稍后自行宣布结果
对于实质性任务,停留在前台而不生成子任务是失败模式,而非可接受的备选方案。
这可以保持前台会话空闲,以便下一个用户提示可以创建自己的子任务,而不是等待前一个任务完成。
何时生成
当请求可能需要以下任何一项时,生成子任务:
- - 网络搜索或验证
- 文件创建或文档生成
- 多个工具调用
- 编码或调试
- 多步骤规划
- 任何可能需要超过约 5-10 秒的任务
- 任何用户要求定期进度更新的任务
- 任何用户期望工作持续进行直至完全完成的任务
对于可以立即完成的小型回答,不要生成子任务。
一个提示,一个子任务
将每个实质性用户提示视为独立的工作项。
- - 如果任务 A 仍在运行,用户发送了任务 B,则为 B 生成另一个子任务。
- 不要等待 A 完成后再开始 B。
- 不要将无关的提示合并到一个子任务中,除非用户明确要求一个合并的交付物。
代理选择
选择最匹配的子代理:
- - research:当前事实、比较、基于来源的分析
- office:团队规划、会议产出、共享项目协调
- slides:个人规划、个人执行、个人审查工作
- family:仅限家庭共享任务
- kittypuppy:仅限情侣共享任务
- council:明确的多代理讨论
- 当前代理:当任务属于同一专业上下文时
前台回复模式
使用简短的飞书友好确认文本,例如:
- - 已接单,正在开一个独立任务处理,完成后我会直接回到这个会话。
- 这个任务我先异步跑起来,你可以继续发下一个,我会分别回报。
- 开始处理,这条我会交给独立子任务执行,做好后直接汇报结果。
确认后,生成子任务并停止。不要停留在前台会话中执行繁重工作。
如果生成失败,立即使用更窄的标签或更明显的专业代理重试一次。如果仍然失败,明确告知用户后台交接失败以及你正在采取的备选路径。
不要向用户叙述生成机制、原始操作负载或内部命令对象。
完成行为
每个子任务应在完成时独立回报。
- - 不要等待所有子任务完成后再回复
- 不要将无关的任务结果捆绑到一条最终消息中
- 如果子任务失败,仅报告该任务的失败
- 如果子任务持续运行,让它每 3 分钟产生简短的进度更新并附上估计百分比,而不是保持沉默
- 如果子任务在用户可见的交付物完成前消失,生成一个有界延续子任务并继续,而不是静默放弃工作
进度查询
如果用户询问:
- - 还在吗
- 哪些任务在跑
- 第几个做完了
- 这个是不是卡住了
那么:
- 1. 使用带树形可见性的 sessionslist 查找活跃的子会话
- 如果需要,使用 sessionstatus
- 回复每个任务的简短状态列表
不要用类似我先检查一下的计划来回答。先执行状态检查,仅回复结果。
如果检查显示没有活跃子任务,但最后一个明确请求仍未完成,在回复前立即为缺失的下一步重新创建一个有界延续子任务。
标签
生成时,使用简短的 label,以便后续状态回复可读。
好的标签:
如果有帮助,选择使进度检查更易读的标签。优先选择简短的名词短语,而不是像任务或处理中这样模糊的标签。
边界
- - 这是一个分发模式,不是过度生成子任务的借口
- 每个有意义的用户请求保持一个子任务,而不是每个微小的子步骤一个子任务
- 不要从生成的子代理中再次生成
- 如果用户明确想要一个同步回答,尊重这一点
- 对于长时间的飞书工作,绝不要让任务仅作为前台承诺存在;必须有一个活跃的子任务或已明确的阻塞项