把常用命令固化成 Skill,开机即用的小助手
我遇到的具体问题
周二早上照例要跑两件事:把上周的工作日志汇总成周报,再顺手检查一下腾讯云那台服务器的 nginx 是不是还活着。这俩事我手动搞了快两个月,每次都得开终端、ssh 上去、敲 curl 看返回。上个月有回半夜发版,太困忘了跑健康检查,第二天同事说网站打不开,我才发现 443 端口挂了——光排查就耗了半个多小时。说白了就是懒,老觉得「就两行命令,顺手的事」。
为什么这事值得自动化
我算过一笔账:检查一次服务器状态大概 4 分钟(开终端、连 ssh、敲命令、看输出),写周报前先翻日志再攒成文字大概 12 分钟。一周两次就是 32 分钟,一个月差不多两个半小时。而且这种「顺手的事」最容易忘,一忘就出事故。把它固化成一个开机就能喊的 Skill,等于雇了个不会忘的实习生。
我是怎么用 WorkBuddy 做的
我直接让 WorkBuddy 帮我把这套动作生成一个 Skill。先打开 Skill 生成器,把需求用大白话写进去:「检查 58.87.68.151 的 nginx 状态,若 443 不通就报出来;再把本周工作日志汇总成一份周报提纲」。它吐出一份 SKILL.md 的草稿,我改了改步骤,重点是把健康检查那一步明确写成「通过 ssh 在服务器本地执行 curl,不要依赖本机网络」。
周报那部分我用了一句「读取本周工作日志,按四象限归类」。生成完存成文件,下次我只要说「跑一下每日检查」就能触发。
中间卡在哪 & 怎么绕过去
第一个坑来得很快。我第一次直接在本机沙箱里跑健康检查,命令是 curl -s https://www.mokakit.com,结果啥也没返回。我看了一眼退出码是 0,还以为正常,直到把输出写进文件才发现是空的。
排查过程:先 curl -v 看握手,报的是 Connection reset by peer;换成 curl http://127.0.0.1 本地地址能通,说明不是 curl 的问题,是本机到外网那条链路被环境拦了。这跟我们项目里「沙箱出站 HTTPS 被拦」的老毛病一模一样。解决办法不是去修网络,而是改思路——让 Skill 通过 ssh root@58.87.68.151 'curl -s --resolve mokakit.com:443:127.0.0.1 https://mokakit.com/' 在服务器本机验证,绕开本机出网限制。改完之后再没误报过。
第二个坑是定时。我想让这活每周二、五自动跑,随手写了个 cron 表达式 0 9 * * 2,5,自己拿不准对不对。丢进 Cron 表达式解析器 一验,它把接下来五次执行时间都列出来了,确认是「周二和周五早 9 点」,我才敢放心接上定时任务。
顺带的几个发现
固化成 Skill 之后,意外省掉的不只是时间。一是我那些散在备忘录里的「常用命令大全」终于不用维护了,全进了 Skill,喊一嗓子就有。二是因为步骤写进了 SKILL.md,新人(或者另一个 AI 会话)照着也能复现我的检查流程,不再是我脑子里的黑盒。三是周报提纲这一项,顺手也接了 文本去重 先把重复日志合并,出来的提纲清爽不少。
你也可以这样用
给你一个能直接抄的变体:如果你每天下班前要备份某个目录到网盘,就把「压缩 → 校验 md5 → 上传」写成一个 Skill,命名为 backup-before-leave。下次只说一句话就能触发,比翻历史命令方便太多。核心是别追求一次写完美,先让它能跑,再慢慢往里加步骤。
常见问题
Skill 里的命令在本机跑报错,但在服务器上是对的,怎么回事? 多半是环境差异,比如 node/npm 路径、出网策略。把依赖外部网络的那步改成 ssh 到目标机执行就行。
生成的 SKILL.md 太长看不懂,要不要全信? 不用。生成器给的是草稿,你只保留用得上的步骤,删掉看不懂的,反而更稳。
能不能让 Skill 每天自动跑? 能,配个定时任务就行,但表达式先拿 Cron 表达式解析器 验一下,别凭感觉写。
多个 Skill 会互相打架吗? 不会,触发靠你下的指令或定时规则,各跑各的。