这是本栏目的第5轮定期观察,本期方向是工作流自动化类 Skills——部署、CI、监控之外,本期把主镜头对准最少被拆到螺丝级的一格:多 Agent 协作与长任务。评测样本取自一台现役开发机的装机编制:long-running-agent、planning-with-files、gh-address-comments、github-actions-skill、gh-cli,外加一位不用安装的内建选手 /loop。把六个包的目录结构逐层打开后,本期最核心的发现只有一句话:工作流件的竞争,不在功能清单的长短,而在「状态放在哪里」——状态放对地方的件能跑通宵,状态放错地方的件撑不过一次会话重启。
| Skill | 功能完整度(25%) | 设计质量(25%) | 实战效果(20%) | 上手难度(15%) | 活跃度(15%) | 加权总评 |
|---|---|---|---|---|---|---|
| loop(内建) | ★★★★ | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★★ | 4.8 |
| long-running-agent | ★★★★★ | ★★★★★ | ★★★★ | ★★★ | ★★★★ | 4.4 |
| gh-address-comments | ★★★★ | ★★★★ | ★★★★ | ★★★★ | ★★★★ | 4.0 |
| planning-with-files | ★★★ | ★★★★ | ★★★ | ★★★★★ | ★★★ | 3.6 |
| gh-cli | ★★★ | ★★★ | ★★★★ | ★★★★★ | ★★★ | 3.5 |
| github-actions-skill | ★★★ | ★★★ | ★★★ | ★★★★★ | ★★★ | 3.3 |
口径说明:本期样本均来自一台真实开发机的现役装机目录,活跃度维度以「在岗状态 + 安装包完整度」为代理口径,不采信任何未经核实的下载量数字。
把六件样本按其在自动化流水线里的位置摆开,是一条完整的链路:定时器点火,规划件画图,长任务件施工,回流件收意见,CI 件守闸门。
flowchart TD
A["触发层:loop 定时循环"] --> B["规划层:planning-with-files"]
B --> C["执行层:long-running-agent"]
C --> D["回流层:gh-address-comments"]
D --> E["验收闸:github-actions-skill"]
C --> F["任务清单 JSON"]
C --> G["进度账本 MD"]
F --> C
G --> C
值得注意的是,这条链上只有触发层和验收闸是单文件件,中间三件全是多文件包。工作流越靠中段,状态越重,包就越胖——这个分布本身就是本期第一课。
这是本期加权榜上唯一的非内建头名,也是唯一一个把「长任务怎么不烂尾」当成核心命题来解的包。它的目录是这样的:
long-running-agent/
├── SKILL.md
├── references/
│ ├── initializer-prompt.md
│ └── coding-prompt.md
└── assets/
├── feature_list_template.json
└── progress_template.md
五个文件,没有一个多余的。从目录就能读出它的整套方法论:
第一,状态外置。 长任务的头号杀手不是模型不够聪明,而是上下文被压缩、会话被重启之后「干到哪了」这件事随之蒸发。这个包的答案是把状态写成两个文件:feature_list_template.json 是机器可读的任务清单,progress_template.md 是人可读的进度账本。一份给程序校验完整性,一份给人和模型续读现场——同一个状态,两种编码,服务两类读者,这是整个包里最值钱的一处设计。
第二,提示词两段制。 references/ 下两份提示词模板分工明确:initializer-prompt 管开工——把需求拆成清单、把账本立起来;coding-prompt 管施工——干一行、勾一行、写一行账。开工和施工分开写,意味着复用同一个包跑不同项目时,只有开工仪式需要定制,施工守则是通用的。
第三,资产即模板。 assets/ 里放的不是图片,是两个可直接复制的骨架文件。这类「技能包自带表格式资产」的写法,比在 SKILL.md 里贴一段示例 markdown 高明一截:模型复制模板填空,比凭空回忆格式要稳得多。
短板也说清楚:四件套意味着理解成本。新手第一次打开这个包,需要先弄懂「清单和账本为什么要分开」,上手难度在三颗星,是六件样本里最高的。但它解的也是六件样本里最难的问题——断点续跑。如果你的 Agent 任务从不跨越一次会话重启,这个包对你没有价值;只要跨一次,它就是救命件。
planning-with-files/
├── SKILL.md
├── examples.md
└── reference.md
和 long-running-agent 是同一个哲学的轻量版:状态写进文件。区别在于它一个脚本都没有,全部家当是三份文档——主说明书、示例集、参考手册。examples.md 和 reference.md 分开成两份,是个容易被忽略的细节:示例给模仿,参考给查阅,混在一份里两种阅读意图会互相干扰。
它的定位是「教 Agent 养成先写计划文件再动手的习惯」,不改运行时、不装依赖,上手难度五星里只扣半颗。代价是功能上限也低:它只负责「想清楚」,不负责「跑下去」。实践中最好的用法是把它当 long-running-agent 的前置课——先用它立规矩,再用四件套跑长活。
这件包的岗位在回流端:PR 挂了一堆评审意见,谁来把它们变成修好的代码?它的目录给出了一个教科书式的回答:
gh-address-comments/
├── SKILL.md
├── agents/openai.yaml
├── scripts/fetch_comments.py
├── LICENSE.txt
└── assets/(GitHub 品牌图两张)
三个值得逐条说的设计。其一,scripts/fetch_comments.py。 拉取评论要翻页、要处理分页令牌、要拼 API 参数——这类活让模型现场发挥,每一页都是一次/token/和一次出错机会。把它前置给一个 Python 脚本,模型只读干净的结构化结果。脚本管确定性,模型管判断力,边界画在这里最划算。
其二,agents/openai.yaml。 这是本期最有生态含义的一个文件:同一个包里,躺着另一家 Agent 运行时的清单文件。翻译成人话——作者发行这个技能包时,默认它会被两家以上运行时认领,于是提前把「门牌」挂了两块。跨运行时兼容正在从口号变成打包目录里的一个实体文件,这个信号比任何转发文章都硬。
其三,正式发行包的行头。 LICENSE.txt 加两张品牌图,说明作者按「对外发行物」而不是「个人脚本」的标准在打包。同款行头在装机编制里的 linear(工单系统集成件)和 atlas(自带 CLI 脚本与数据参考的包)身上都能看到,这套「LICENSE + openai.yaml + 品牌图」的四件行头,正在成为正经发行的事实标准。
编制里还有两件极简选手:github-actions-skill 整个包只有一个 SKILL.md,管 CI 工作流;gh-cli 同样是单文件,教 Agent 用 GitHub 命令行。它们的共同逻辑是:工具本体已经在系统里装好了,技能包只需要教「什么时候用、怎么用得体」。命令的确定性由 gh 本体保证,技能包不背任何资源文件。
单文件路线的优劣一体两面:上手零成本,五行内装完;但全部赌注押在那一份 SKILL.md 写得好不好上——没有示例文件兜底、没有脚本托底,描述写得含糊,整件就废。窄闸口岗位(CI 看一眼、命令敲一条)适合这条路线;状态重的岗位别省这个钱。
触发层本期没有第三方件能打,因为 Claude Code 自己发了编制:/loop 内建技能,官方描述一句话——「Run a prompt or slash command on a recurring interval (e.g. /loop 5m /foo, defaults to 10m)」。跑一个提示词或斜杠命令,按间隔循环,默认十分钟一拍。
它有三个从实战里长出来的细节。第一,间隔是缓存感知的。 模型侧的提示缓存窗口大约五分钟,短于它的间隔(比如五分钟内)等于每次都读热缓存,便宜且快;一旦睡过五分钟,下次唤醒就是全量冷读。所以「每 4 分半」和「每 5 分钟」在账单上不是一回事,这个技能把这种工程账算进了节奏设计里。第二,默认会话级。 不做持久化声明时,循环随会话生死——这是刻意的安全默认,防止定时任务变成失控的后台幽灵;需要跨重启的排程要走持久化配置,且循环类任务七天自动过期,不留无限期炸弹。第三,间隔可以交给自己定。 动态模式下不是死板每 N 分钟,而是按「在等什么」选档:盯一个几分钟出结果的部署就睡四分半,等一个小时的批处理就睡二十分钟。
配上运行时本就提供的底座——后台任务、消息续聊、worktree 隔离、计划任务——触发层这件事,第三方件短期内没有进场空间。
把六件样本的结构排成谱系,工作流件收敛出三条清晰的包装路线:
| 路线 | 结构 | 代表 | 适合岗位 |
|---|---|---|---|
| 裸单文件 | 仅 SKILL.md | gh-cli、github-actions-skill | 窄闸口、工具本体已装 |
| 文档三件套 | SKILL.md + 示例 + 参考 | planning-with-files | 教习惯、立规矩 |
| 脚本四件套 | SKILL.md + 脚本 + 模板资产 + 跨家清单 | long-running-agent、gh-address-comments | 状态重、要断点续跑 |
规律和开头那句话呼应:路线选择由「状态放在哪」决定。状态在系统工具里的,单文件就够;状态在 Agent 脑子里的,至少加示例;状态必须活过一次会话重启的,老老实实上脚本和模板资产。选件的时候先问一句「这个任务的状态住在哪」,路线就自动选好了。
# 内建触发器,无需安装,直接使用
# 在 Claude Code 会话中:
# /loop 5m /foo (每 5 分钟跑一次 foo 命令)
# 第三方件:放入技能目录即可生效
# 以本机现役编制为例,路径形如:
# ~/.claude/skills/long-running-agent/
# ~/.claude/skills/planning-with-files/
# ~/.claude/skills/gh-address-comments/
# 从市场发现同类件的入口
npx skills find long-running-agent
npx skills find workflow
~/.claude/skills/(long-running-agent、planning-with-files、gh-address-comments、github-actions-skill、gh-cli、linear 六件样本的在岗现场,本文全部结构分析基于对这些安装包目录的直接检视)[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
