这是 Skills 生态定期观察的第 5 轮,本期条线是工作流自动化——部署、CI、监控、多 Agent 协作。CI 修复与平台部署两条赛道此前已做过横评,本期换个挖法:把镜头对准装机盘里还没人拆过的工作流新面孔,一共四件,外加一件跨宿主速写。
看完四件的一手材料,本期核心发现是一句话:工作流件的进化方向不是“更聪明的自动化”,而是“更耐断的自动化”。四件各自防守一个断点——会话断点、部署断点、工具断点、机器断点。本期主角 long-running-agent 拿下的是最难的会话断点:它不把 Agent 变聪明,而是把 Agent 改成三班倒。
说明:本期四件均为装机盘本地件(一手材料为各自 SKILL.md 原文),Star/下载量无公开可核实数据,本文一律不作无据引用,社区活跃度维度按保守口径给分。
mindmap
root((工作流自动化件))
会话断点
long-running-agent
跨窗口三班倒
部署断点
github-actions-skill
问答式VPS向导
工具断点
mcp-cli
MCP进shell管道
机器断点
skill-sync-github
换机一键恢复
| Skill | 功能完整度 25% | 设计质量 25% | 实战效果 20% | 上手难度 15% | 社区活跃度 15% | 加权总分 |
|---|---|---|---|---|---|---|
| long-running-agent | ★★★★½ | ★★★★½ | ★★★★ | ★★★★★ | ★★★ | 4.3 |
| github-actions-skill | ★★★★ | ★★★★½ | ★★★★ | ★★★★★ | ★★½ | 4.1 |
| mcp-cli | ★★★★ | ★★★★½ | ★★★★ | ★★★½ | ★★★ | 3.9 |
| skill-sync-github | ★★★★ | ★★★½ | ★★★★ | ★★★ | ★★ | 3.4 |
这件 Skill 的 SKILL.md 开篇不讲功能,先讲病理。它认定长任务 Agent 的失败不是能力问题,而是结构问题——"each new session begins with no memory of previous work"(每个新会话都从零记忆开始)。由此推出三种典型死法:
这个诊断比药方更有价值。市面上多数“长任务框架”在堆上下文容量(压缩、摘要、记忆库),这一件反着来:不对抗失忆,而是把失忆制度化——默认下一个窗口什么都不知道,然后把“交接”做成流程。
SKILL.md 的核心设计是"Two-Agent Solution"。注意,这里不是两个模型,是两份提示词、两段人生:
init.sh 环境脚本、生成完整的 feature_list.json 需求清单、初始化 claude-progress.txt 进度日志、做首次 git commit。references 目录里备好了两份完整提示词模板(initializer-prompt.md / coding-prompt.md)。制度设计的精髓在于成本前置:环境搭建、需求拆解这些一次性成本全部压进第一班,后面每一班的启动成本被压到“读三个文件、跑一条脚本”。
SKILL.md 给出了雷打不动的开工序列:
1. pwd # 确认自己在哪
2. cat claude-progress.txt # 读上一班的留言
3. cat feature_list.json # 看工单状态
4. git log --oneline -20 # 翋最近20条提交
5. ./init.sh # 把环境拉起来
6. <跑基础测试> # 确认现场没烂
7. <挑一个失败的 feature> # 只认领一件
顺序是有讲究的:先读人话写的日志,再读机器记的账(git log),最后才动手。每一步都是对失忆的一次补偿——这也解释了为什么这套流程里没有一步是“思考”:思考是模型的自由发挥,流程才是框架的硬约束。
全文最值得抄的一笔,是对 feature_list.json 的三条铁律:
- Never remove or edit test descriptions
- Only change
passes字段状态- Mark as passing ONLY after end-to-end verification
而选 JSON 格式的理由写得毫不掩饰:"Use JSON format to prevent inappropriate edits"——用文件格式本身当 behavioral constraint。Markdown 里模型会手痒改验收标准,JSON 结构化字段天然限制了可编辑面。这是提示词工程里“用格式管行为”的教科书操作。
配套的还有一条验收权设计:feature 只有端到端验证通过才能把 passes 翻成 true,SKILL.md 甚至写明 "Test as a human user would"(用浏览器自动化按真人用法测)。自评通道被焊死,Agent 想放水都没有出口。
SKILL.md 收尾的五行走位表其实是整件的灵魂:
| 病 | 方 |
|---|---|
| Agent 一口气硬上整个项目 | 拆细 feature 清单,一次一件 |
| 提前宣布胜利 | 回查 feature_list 里的失败项 |
| 留下烂摊子 | 班前会先跑基础测试,先修再干 |
| 提前把 feature 标完成 | 强制端到端浏览器验证 |
| 每班浪费在配环境 | 读 init.sh,沿用既有套路 |
注意它没有一行在教“怎么写代码”——它只教怎么不死。这正是工作流件和功能件的分野:功能件的产出是结果,工作流件的产出是“状态可以被接力”。
flowchart TD
A[新会话开工] --> B[读进度日志]
B --> C[查工单状态]
C --> D[git log 看近20条]
D --> E[跑 init.sh 起环境]
E --> F{基础测试通过?}
F -->|否| G[先修环境再干活]
G --> H[认领一个失败feature]
F -->|是| H
H --> I[只做这一件]
I --> J[端到端验证]
J --> K{验证通过?}
K -->|否| I
K -->|是| L[passes 翻 true]
L --> M[git commit 打卡]
M --> N[更新进度日志]
N --> O[下班 留干净现场]
O --> P[下一个窗口接班]
P --> B
passes 被违规翻真时拉闸。模型哪天不听话,框架没有物理约束。此前横评过的四个部署件(Vercel / Netlify / Render / Cloudflare)全是“平台托管一键推”物种。这一件补的是生态空位:VPS + SSH 的老派自部署,而且是四个部署物种之外的第五种形态——向导(wizard)。
它的 SKILL.md 是一份四阶段剧本:问答收集(每次只问一个问题,VPS 地址→用户名→部署路径→部署方式)→ 表格确认 → 生成配置 → 分步操作指引。亮点有三:生成模板里把 Action 版本钉死在 appleboy/[email protected],不做漂移;Secrets 清单直接给到“去哪里贴什么值”的颗粒度;命令部署和 rsync 同步两套模板都备齐。
短板也清楚:没有回滚设计,没有部署后健康检查;最要命的是 rsync 模板里 --delete 静默出现——目标目录会被镜像删除,SKILL.md 却没对这个高危参数做任何警示。对新手来说,这是一颗埋在“生成即用”里的雷。
MCP 工具本来是“聊天框特权”——只有对话里的 Agent 能调。这件把它搬到命令行:mcp-cli 列服务器、mcp-cli <server> 看工具、mcp-cli <server>/<tool> 看 schema、加 JSON 参数直接执行,还能 grep 按名字搜工具、--json 输出进管道。
设计上最 Unix 的一笔是退出码规范:0 成功、1 客户端错、2 服务端错、3 网络错——MCP 调用从此可以写进 shell 脚本做条件分支。Agent 在 bash 管道里组合 MCP 工具的能力被一次性解锁,这是四件里“胶水价值”最高的。
代价是上手门槛:得先装 CLI、配好 MCP server 才有的用,三颗半星不冤。
最“私人”的一件:把 ~/.claude/skills/ 目录 git 化,自动同步到一个私有 GitHub 仓库,换电脑时 gh auth login 加一条 git clone 就能全量恢复整盘 skills。触发词设计很口语(“同步skill"“推送skill"“备份skill"),错误处理表连 Windows 换行符警告和嵌套 .git 坑都写了。
扣分在可移植性:git 身份、仓库地址全部写死在 SKILL.md 里,属于“个人护照”式设计——对作者是零成本贴身管家,换个人就得动手术。它的价值更多是示范:skills 本身也需要工作流来管,这个生态位目前基本无人竞争。
顺手记一笔:装机盘里还躺着一件 atlas,用 AppleScript CLI 控制 OpenAI 的 ChatGPT Atlas 浏览器(列标签页、翻书签、查历史)。有意思的不是功能,是它的安装路径写的是 $CODEX_HOME/skills(默认 ~/.codex/skills)——为别家宿主写的件,被 Claude Code 直接征用。Skill 正在跨宿主流动,格式通用性正在变成事实标准。
long-running-agent(框架件,复制即装):
# 整个目录拷入 skills 目录即可被识别
cp -r long-running-agent ~/.claude/skills/
# 用法:第一次会话说「按 initializer 流程初始化这个项目」
# 之后每个新窗口说「按 feature_list 继续干活,先跑班前会」
github-actions-skill:
cp -r github-actions-skill ~/.claude/skills/
# 用法:「帮我配 GitHub Actions 自动部署到我的 VPS」,跟随问答走完四阶段
mcp-cli(需先安装 CLI 本体并配置 MCP server):
mcp-cli # 列出全部 server 与工具名
mcp-cli filesystem -d # 看某 server 的工具与参数
mcp-cli filesystem/read_file '{"path": "./README.md"}' --json
skill-sync-github(自建同款:改成你自己的私有仓):
gh auth login
git clone https://github.com/<你的用户名>/allSkills.git ~/.claude/skills
--delete 上锁。这一轮装机盘扫描给出的答案是:工作流自动化件的竞争已经从“谁跑得快”转向“谁摔不死”。会话会断、部署会错、工具够不着、机器会换——四个断点四个件,全是纯 SKILL.md 规程件(仅 mcp-cli 带二进制依赖)。对想入场的写件人,空位还明显:回滚断点(部署失败自动回退)、验证断点(passes 字段的强制复核)都还没人守。下一轮换条赛道接着挖。
~/.claude/skills/long-running-agent/SKILL.md(含 references/initializer-prompt.md、assets/feature_list_template.json 索引)— 主角深拆一手材料~/.claude/skills/github-actions-skill/SKILL.md、~/.claude/skills/mcp-cli/SKILL.md、~/.claude/skills/skill-sync-github/SKILL.md、~/.claude/skills/atlas/SKILL.md — 配角三件与速写件的一手材料[!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 等场景全覆盖。
