Skills 市场上千件货,绝大多数在教 Claude「多会一门手艺」:写 PPT、修表格、审代码、爬网页。本期反着来,横评三件不教手艺、只调琴师的内置件——/loop、update-config、keybindings-help。它们不碰你的业务代码,专门改造 Claude Code 这个「壳」本身:一件管时间,一件管规则,一件管键盘。三件的官方描述加起来不到两百个英文词,却把「Agent 可配置产品化」这条线写透了。本文沿用本栏目固定权重(功能完整度 25%、设计质量 25%、实战效果 20%、上手难度 15%、社区活跃度 15%),逐句拆完三段原文,给出对比表、分工图和组合用法。
据 skillsmp.com 的目录统计,市场上架的 Skills 已超过 2300 件,anthropics/skills 官方仓库与各大聚合站每周都在上新。但货架越铺越长,一个反直觉的事实浮出来:真正决定 Claude Code 好不好用的,往往不是新装的第 50 件技能,而是三件出厂自带的「扳手」。
它们的共同特征有三条。第一,内置分发:不占货架位、不需要安装,随主程序更新,本机环境可直接唤起验证。第二,零业务语义:描述里没有一个字提到前端、数据、文档——它们管的是 Claude Code 运行时本身的时间调度、权限规则与按键映射。第三,说明书写给自己看:三段描述的第一读者不是人类用户,而是模型自己——每一句都在教模型「什么话该路由到我这里」。
这正是本期横评的看点:当市面上都在卷「技能能干什么」时,官方用三件小件回答了「Agent 该怎么被调教」。
拆内置件有一条铁律:描述即合同。以下三段原文一字未改,长度本身就是第一个发现——管得越宽的件,说明书越长。
第一件,时间岗 /loop,37 个词:
Run a prompt or slash command on a recurring interval ("every 5m", "/foo", "every 10m", "0 * * * *"), defaults to 10m, so you can keep something running in the background.
一句话干了五件事:定义职责(周期性重跑一个提示词或斜杠命令)、给出两种间隔写法(自然语言 every 5m 与标准 cron 五字段 0 * * * *)、亮出默认值(不指定就 10 分钟一次)、收尾用 keep something running in the background 点明产品定位——这是给 Agent 上的闹钟,不是一次性任务。
第二件,规则岗 update-config,约 120 个词,三件中最长:
Use this skill to configure the Claude Code harness via settings.json. Automated behaviors ("from now on when X", "each time X", "before/after X"), such as: hooks configured in settings.json - the harness executes these, not Claude, so memory/preferences cannot fulfill them. Also use for: permissions ("allow X", "add permission", "move permission to", "add a directory"), env vars ("set X=Y"), hook troubleshooting, or any changes to settings.json/settings.local.json.
第二句是全段的技术内核,也是最值钱的半句:"the harness executes these, not Claude, so memory/preferences cannot fulfill them." 用户说「以后每次都帮我跑测试」,如果 Claude 把这句话记进记忆,是没用的——因为执行那个动作的不是 Claude,是壳(harness)。想「从此以后自动怎样」,必须写成 settings.json 里的 hook,让壳在事件发生时接管。这一句直接划清了「记忆」与「配置」的边界,也是整份描述存在的理由:没有它,模型会把自动化请求误路由到记忆系统。
第三件,键盘岗 keybindings-help,约 35 个词:
Use when: customize keyboard shortcuts, remap a key, change key binding, keyboard shortcut not working, ~/.claude/keybindings.json. Examples: "make cmd+k do X", "remap escape", "change the submit key".
最朴素的一份。前半段是一串触发词清单:customize、remap、change、not working——最后那个「快捷键失灵」尤其写实,说明设计者预判了用户最常遇到的不是定制需求,而是故障排查。中段给出唯一落点文件 ~/.claude/keybindings.json,后段三个示例覆盖了改组合键、改退出键、改提交键三个高频动作。
| Skill | 功能完整度 | 设计质量 | 实战效果 | 上手友好 | 社区活跃 | 加权总分 |
|---|---|---|---|---|---|---|
| update-config | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★☆ | ★★★★☆ | 4.75 |
| /loop | ★★★★☆ | ★★★★☆ | ★★★★☆ | ★★★★★ | ★★★★☆ | 4.20 |
| keybindings-help | ★★★☆☆ | ★★★★☆ | ★★★☆☆ | ★★★★☆ | ★★★★☆ | 3.55 |
三件均为内置,随主程序分发,无独立仓库指标可考,社区活跃度按官方维护强度计入(与内置件的评分口径一致:它们没有 Issue 区,主程序更新即其更新)。实战效果一栏为本机实测口径:三件在当前会话环境中均可直接唤起,无需任何安装步骤。
它管的其实是三件常被混为一谈的事。第一是自动化:用户嘴里的「从今往后每次 X」「每隔 X 一次」「在 X 之前/之后」,全都要落成 settings.json 里的 hook。描述里特意举了 when claude stops 和 add a pre-commit hook 两个例子——前者是会话生命周期事件,后者是工程链路事件,暗示 hook 的挂载点远不止一处。第二是权限:allow、add、move、加目录,四个动词对应了权限系统的四种写操作。allow WebFetch for example.com 这个示例很能说明设计取向——权限粒度细到「允许某个工具访问某个域」,而不是一刀切的允许/拒绝。第三是环境变量:set DEBUG=true 一个例子带过。
最容易被忽略的是最后半句对文件边界的限定:settings.json 与 settings.local.json 两个文件。前者进版本库、团队共享,后者留在本机。一件 120 词的技能把「个人偏好」和「团队公约」的存放位置也交代了,这是它拿下设计质量满分的原因——没有一个词是废话,每个词都在收敛模型的行动空间。
短板也明确:它只管「改配置文件」这个动作本身,不替你判断该不该改。权限放多宽、hook 挂多密,决策仍在用户。
37 个词的描述意味着极简的产品哲学,但它打开的门是「持续性」——这是绝大多数 Skills 完全没有覆盖的维度。市场上千件技能几乎都在回答「做一件事」,/loop 回答的是「反复做一件事」:盯一次部署、每十分钟刷一轮测试、按 cron 表达式定点跑一遍日报。
两种间隔写法并存是个聪明的兼容设计:every 5m 面向对话中的自然表达,0 * * * * 面向会写 cron 的工程师,同一个入口吃下两类用户。默认 10 分钟则暴露了设计者对使用场景的判断——定时任务大多发生在「等一个外部状态变化」的场景(CI 跑完没、数据更新没),10 分钟是「不至于干等、也不至于错过」的平衡点。
它的天花板也在这里:循环体内能做什么,取决于被循环的那个提示词或命令本身。/loop 是节拍器,不是乐队。
三件里分数最低的一件,低在功能边界——按键映射终究只是交互层的锦上添花,改得再顺手也不改变 Agent 能力。但拆开看它的描述,完成度超出预期:触发词里埋了故障场景(keyboard shortcut not working),落点文件精确到家目录路径,三个示例覆盖定制、重映射、换提交键三个真实高频动作。
它真正的价值在于补全了「Claude Code 是个可配置产品」的最后一块拼图:时间可以调(loop)、规则可以调(update-config)、键盘也可以调(keybindings-help)。一件 35 词的小件,把产品可玩性的下限兜住了。
用一张图说清一句需求进来后该走哪条道:
flowchart TD
U["用户一句需求"] --> A["要周期执行吗"]
A -->|是| L["loop<br/>按间隔重跑"]
A -->|不是| B["要改默认行为吗"]
B -->|是| C["update-config<br/>改settings.json"]
B -->|不是| D["要改按键吗"]
D -->|是| K["keybindings-help<br/>改keybindings.json"]
D -->|不是| E["普通任务<br/>不走这三件"]
/loop 的循环机制单独看更直观——注册一次,壳按节拍反复唤醒:
sequenceDiagram
participant U as 用户
participant C as Claude
participant H as 壳
U->>C: 每5分钟查一次CI
C->>H: 注册循环任务
loop 每5分钟
H->>C: 注入提示词
C->>H: 执行并回报
end
注意时序图里的关键分工:真正守着时钟的是壳,不是模型。模型只在被唤醒的那一刻干活——这也解释了为什么 update-config 的描述要强调「the harness executes these, not Claude」:时间驱动与事件驱动的执行者都是壳,模型是壳按需唤起的工人。
三件的正确打开方式不是三选一,而是分层叠加:
/loop 30m 检查日志异常,会话级循环,关掉即止,适合临时盯梢。[!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 等场景全覆盖。
