该技能用于为长任务搭建可配置的进度轮询 loop。用途:当用户需要为新长任务添加默认每 60 秒(可配)的进度检查时,生成任务 config 与可选 poll adapter,接入通用 loop 框架。
主要能力:提供 templates/adapter.template.py(poll adapter 模板)、templates/config.template.json(task config 模板)、templates/fetch.template.sh(远程 fetch 脚本模板)与 reference.md(模式/契约/示例)。支持四种进度来源模式:stdout_json、local_json、local_log、remote_fetch,另有 custom。adapter 作为通用解释器,由 config 中的 progress_extract 驱动提取,输入已是标准契约时原样透传。标准契约含 status(running/done/idle/error)、finished、chat_line、progress({offset,total}、{pct} 或 {stage,stage_total})等字段。
使用方式:先采集 task_id、title、progress_source、interval_sec、tick_env 等信息,再将模板复制到目标仓库并填空;若存在 scripts/task_loop_scaffold.py 可一键生成。生成后须校验,例如运行 python3 scripts/task_loop_poll.py --task <task_id>,成功后再用 ./scripts/task_loop_start.sh <task_id> 启动,结束时用 task_loop_stop.sh 停止。Agent 收到 tick 后读取 reports/task_loops/<task_id>/live.md 并发送 chat_line。
限制:需遵守不写明文密码等要求,SSH 凭据通过 credentials-and-access 与 fetch 脚本解析;不应为每个任务复制轮询核心;校验未通过不得启动 loop。原参考实现路径已失效,需按模板自建,具体细节见 reference.md。