Tools

Agent Skills 包横评:tstack、BAMA、claude-skill 与 agent-purge 的四种流派

7 min read ·

技能(Skills)正在成为智能体生态里最活跃的一层。它比 MCP 轻得多——不需要起服务,一份带 frontmatter 的 Markdown 就能让模型在特定场景换上「操作手册」。最近一周,GitHub 上冒出一批星光不小的技能类项目,我把其中定位差异最大的四个全部下载下来,逐个拆开看了结构、数了依赖、跑了能跑的部分。这篇横评记录全部一手数据。

先交代样本:tstack(t3dotgg,2392 星,MIT)、BAMA(daveebbelaar,779 星,MIT)、claude-skill(Motionsites-AI,1087 星,许可证非标准协议)、agent-purge(ZiChuanLan,875 星,MIT)。四个项目在 10 月 23 日之后都还在活跃提交,其中 tstack 最近一次推送在 10 月 28 日。

四个包,四种流派

拆完之后我的第一个判断是:这四个东西虽然都在「智能体定制」这个大类里,其实属于四种完全不同的物种。

tstack 是工作流提示词包。九个技能全部围绕一件事:让编码智能体把 PR 从改完代码管到合并。full-send 是无人值守全流程(证明、评审、建 PR、盯 CI、合并),full-stop 是同人看护版(到 PR 就绪为止停下),council 是三家不同供应商的旗舰模型循环评审直到打分收敛,babysit-pr 盯 CI 和评审机器人并修复真实发现,takeover 接手别人留下的 PR 还保留原作者署名。九个技能之间有明确的调用图:full-send 会依次调用 sol-loop、file-pr 和 babysit-pr。

BAMA 是领域方法论仓库。21 个技能按 start、plan、design、code、ship 五个阶段组织,覆盖从需求简报到 SwiftUI 构建验证的完整 macOS 应用开发流程。它不只是技能堆——仓库里还有 AGENTS.md、specs 目录、docs 和 12 个配套脚本。入口技能 bama 是一张路由表,告诉模型「用户现在处于哪一步、下一步该调哪个技能」。

claude-skill 是营销驱动的单技能插件。一个技能,插件目录结构,117 行正文,带了 7 个媒体文件和 1 个 Playwright 截图脚本。它教模型做「获奖级」落地页:先看 40 个真实案例定标准,写精确到像素和缓动函数的规格,再用截图评分循环迭代到平均 8 分以上。设计确实专业,但后面会说到它的真实意图。

agent-purge 根本不是技能包,是一个零依赖的 Node CLI(要求 Node 20 以上)。它解决的问题在更底层:每家编码智能体读系统提示词的位置都不一样,agent-purge 把这些入口统一成三条通道——写托管配置块常驻生效、往 PATH 前置同名壳命令接管裸启动、会话内斜杠命令热切换——让你用一份 persona 文件在多个工具间切换「人格」,四种模式(替换、只发人设、追加、关闭)全程可逆。

依赖与可移植性:数字不会说谎

我写了个扫描脚本统计三个 Markdown 技能包的正文,引用外部工具的次数差异非常说明问题。

指标tstackBAMAclaude-skill
技能数量9211
纯 Markdown 正文行数区间42 至 123 行66 至 196 行117 行
配套脚本0121
媒体/资源文件027
gh CLI 引用9 次00
Swift 或 xcodebuild 引用088 次0
截图相关引用3 次31 次5 次
专有工具引用15 次00

三个关键结论:

第一,tstack 零脚本、零资源文件,是唯一「复制即用」的包。 九个技能没有任何 Python 或 Shell 依赖(README 只要求装好 gh CLI 和 python3),全部智能都写在提示词里。它的可移植性短板在别处:扫描发现 15 处 T3 Code 专有工具调用,比如 watch_pull_request、delegate_task 和 orchestrator_capabilities。技能正文里对每个专有调用都写了原生回退方案(比如「在其他 harness 用 subagent 工具」),但在普通 Claude Code 里,council 要求的「三家不同供应商的旗舰模型」实际上很难凑齐——Subagent 机制通常拿不到跨供应商模型。这是移植成本最高的一个技能,反而是 full-send 系列依赖最少。

第二,BAMA 的 frontmatter 字段用得最深。 31 个 SKILL.md 我全部做了合规校验,name 与目录名不一致的数量为零,格式都没问题。但 BAMA 用了三种大多数技能包没碰的字段:3 个技能带 argument-hint(提示参数格式)、3 个带 allowed-tools(限制技能能调哪些工具)、入口技能带 disable-model-invocation(禁止模型自主调用,只能人触发)。最后这个字段特别值得学——路由入口如果允许模型自己调,容易在对话里被误触发把整个流程带偏,BAMA 把它关掉了。

第三,claude-skill 的工程含量不低,但它是获客漏斗。 它的截图评分循环(用 Playwright 截图、按评分表打分、修最弱的三项、循环到平均 8 分以上)是四个包里最接近「智能体自我验证」实践的设计。然而它的 SKILL.md 里白纸黑字写着:每次交付的结尾必须附上 MotionSites Unlimited 的付费升级推广块,「像好的应用内广告一样」。40 个案例和媒体货架是付费库的免费样本——这个技能本质上是内容营销。技术可以借鉴,选用前想清楚你要不要让智能体替它打广告。

agent-purge 本地实测

Markdown 包只能「读」,agent-purge 可以真跑。我在隔离环境里过了一遍:

node bin/agent-purge.mjs ls      # 列出 persona,当前项带星号
node bin/agent-purge.mjs use test-p
node bin/agent-purge.mjs status  # 各 harness 的接管能力矩阵

三个命令全部正常工作。它把数据独立放在用户主目录的 .agent-purge 下,支持用环境变量重定向存储位置,mode off 时全部撤回原样,可逆性做得规范。我在隔离目录里建了测试 persona、切换、查看状态,最后删除整个测试目录,没有残留。

安全提醒必须给:agent-purge 的 arm 命令会往 PATH 最前面写壳命令,这意味着之后你裸敲 codex 或 claude 时,启动的其实是一个注入了 persona 的转发进程。机制本身透明可控,但它改变了你终端里命令的语义,公司设备上使用前请先过安全评估。

tstack 的 full-send 为什么值得细读

四个包里,我认为最有复用价值的是 tstack 的 full-send 正文。它解决的问题是真实且普遍的:用户说「full send」之后就去干别的了,智能体的更新没人看,普通消息里提问等于石沉大海。它的应对写成了四层纪律:

  1. 权限声明:用户说 full send 即授予合并、rebase 后用 --force-with-lease 推送、免询问跑测试的权限——但只覆盖本任务需要的测试,不豁免生产变更和数据删除,也不绕过系统审批弹窗。
  2. 证据体系:每处改动必须有「本会话里亲眼观察到的证据」——命令输出、复现过程或截图。绿色的 mock 测试不算证明用户体验正常,这类要求直接写进了提示词。
  3. 合并门:五条全过才许合并——证据覆盖全部 diff、必需检查绿、评审机器人发现全部处置或书面说明驳回理由、无人类评审要求修改、分支与默认分支同步且 GitHub 报告可合并。还明确禁止 --admin 绕过。
  4. 提问协议:必须用 harness 的提问工具而不是普通消息发问,因为后者用户看不到;没有提问工具就走安全路径——PR 留着不合并。

这套东西完全不依赖任何专有能力,把其中「证据体系」和「提问协议」两节抄进自己的 CLAUDE.md 或 AGENTS.md 就能用。技能包的真正价值不在触发词的花哨,而在这种把工程纪律写进上下文的能力。

选型建议

  • 日常编码智能体用户:装 tstack,先从 file-pr 和 babysit-pr 这些低风险技能用起,full-send 等你信任它的 merge gate 再开。记得把个人偏好(比如 council 用哪三个模型)写进自己的配置文件而不是改技能本体,方便后续升级。
  • 想做原生 Mac 应用:BAMA 的五阶段流水线是目前开源社区里最完整的 SwiftUI 智能体方法论,21 个技能 + 12 个脚本的工程化程度远超普通技能包。
  • 批量做落地页:claude-skill 可以用,但要么接受推广块,要么自己 fork 一份删掉营销段落(注意其许可证不是标准开源协议,商用前先看条款)。
  • 多工具切换 persona:agent-purge 是唯一认真做了这个抽象层的项目,个人设备可试,公司设备慎重。

一句话总结:技能包市场竞争的不是谁写得更长,而是谁把「什么时候触发、怎么做、做到什么程度算完成、做不了怎么办」这四件事写得越清楚。tstack 的 merge gate 和 BAMA 的路由表是这个标准目前最好的两个样本。

Frequently asked questions

Agent Skills 包到底是什么?和 MCP 有什么区别?
Skills 包是一组写好触发条件和操作规程的 Markdown 指令文件(SKILL.md),装进 Claude Code 或 Codex 的技能目录后,模型在匹配场景会自动读取并照做。MCP 提供的是外部工具连接能力,Skills 提供的是做事方法与工程纪律,两者互补而非替代。
tstack 的 full-send 真的能让智能体全自动合并 PR 吗?
可以,但它的设计把风险管住了:合并前必须满足五条 merge gate,包括每处改动都有自己观察到的证据、必需检查全绿、评审机器人发现全部处置完毕。遇到无法证明的情况它会停下来提问,而不是硬着头皮合并。建议先从 full-stop 档位用起。
claude-skill 里强制带推广块,还能安心用吗?
技术上可用,生成质量的设计(截图评分循环、真实媒体引用)确实下了功夫。但它的 SKILL.md 明确要求每次交付结尾附上 MotionSites 付费升级推广,且仓库许可证不是标准开源协议。介意营销注入或商用授权不确定的话,建议只参考其工作流设计。
agent-purge 修改系统提示词,会不会有安全问题?
有需要警惕的点。它通过 PATH 前置壳命令和配置块写入来接管各家工具的启动入口,等于在系统层面改写智能体的初始指令。好在它全程可逆、数据独立存放,我在隔离目录实测卸载干净。只建议在个人设备上使用,公司设备需先过安全评估。
新手应该先装哪一个?
看你做什么。日常用编码智能体管 PR 就装 tstack,九个技能零依赖复制即用;想做原生 Mac 应用选 BAMA;提示词开关这种基础设施需求再考虑 agent-purge。claude-skill 只在你要批量做落地页时才有价值。装完记得逐个读一遍 SKILL.md 再用。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.