跳过正文
  1. Posts/

把 Codex 工作流养成活系统:从会话扫描到 Skills

·4 分钟· · · #Idea #AI
目录
AI Coding - 这篇文章属于一个选集。
§ : 本文

前几天干了一件很土的事:把本机 ~/.codex 里的会话记录扫了一遍。

不是怀旧,也不是做数据面板。就想看看自己到底在哪些地方反复浪费时间。

猜也猜得到。真正耗人的不是某次代码改得难,是一堆小动作每天都得来一遍:

  • git statusgit diffglab apiglab mr
  • 查 CI 第一个挂掉的 job
  • 远端主机查 SSH、PATH、Tailscale、权限
  • 判断这次改动该跑哪组测试
  • release / deploy 前确认 SHA、workflow、artifact
  • 中途续会话重新捋 issue、branch、MR

这些事都太小了,小到你懒得专门去管。但就是因为小,才一直被放过。结果就是每天泡在这些手工胶水里。

别急着写工具
#

我以前也这样——看见重复就觉得该写脚本。后来发现这一步常常太早。

很多重复不是命令本身重复,是判断过程重复。比如 CI 挂了,真正该固化的不是某条 gh run view,而是:

  1. 先确认 run 和 head SHA
  2. 找第一个挂掉的 job
  3. 把有效错误截出来
  4. 再判断是 workflow 的问题、依赖的问题、测试还是代码

一上来就写个大工具,容易把错误假设焊进去。轻一点的做法是先写成 skill:什么时候用、最小几步、别干什么、输出什么。

skill 不是百科全书,就是张便签——让 agent 少走一条死路。

flowchart LR
  A[Session history] --> B[Repeated friction]
  B --> C[Small skill]
  C --> D[Run on real tasks]
  D --> E[Script only when repeated]
  E --> C

最后只留了这几个:

  • agent-preflight:开工前读真实 repo 状态,不靠印象
  • gitlab-mr-context:用 glab api 拉 issue / MR / pipeline / notes,稳得多
  • ci-first-failure:先找第一个真实失败点,再动代码
  • path-verify:按改动的文件选最小验证命令
  • release-deploy-preflight:部署前确认 full SHA、workflow、artifact、健康检查
  • remote-health:远端主机先查 SSH、PATH、服务、锁和 Tailscale

名字都不酷,好处是不用想就知道该什么时候用。

skill 先行,脚本后补
#

还有一个教训:别一上来就给每个 skill 配脚本目录。

很多流程写个 SKILL.md 就够用了。path-verify 不是替你跑测试,是提醒你按变更路径选最小检查。让它先跟 agent 在真实任务里跑几轮,自动化等确认了再说。

脚本只干一类事:已经确定重复、确定机械、确定低风险的。

这轮我只加了一个——把 repo 里的 skills 链接到用户目录:

scripts/link-user-skills.sh

Windows 补了个 PowerShell 版:

.\scripts\link-user-skills.ps1

中间踩了个坑:软链接方向。

正确方向是 repo 放真实文件,用户目录放链接:

~/.agents/skills/glab -> /path/to/repo/skills/glab

这样 repo 能提交真实内容,本机 Codex 也能直接用。搞反了就糟了——repo 里只剩一个指向 ~/.agents 的链接,推上去别人拿不到内容,Git 还以为原文件被删了。

让它跨机器能跑
#

我常年在 macOS、Windows、远端之间切。skill 要是只在一台机器上能用,价值直接打折。

所以本机搞完之后,把 repo 同步到 my-win,Windows 上也跑同一套维护。PowerShell 版用的是 directory junction 而不是 symlink——Windows 上建 symlink 经常跟权限干架,junction 对目录链接已经够用了。

挺琐碎的一步。但不做的话,工作流沉淀很快退化成一台机器的偏方。

我现在这样想
#

做了这轮以后,几个想法慢慢变硬了。

先从会话里找重复,别从想象里设计系统。如果 git statusglab apisshpnpm test 真的是高频,就从它们开刀。别为了"流程治理"编一套没人用的东西出来。

skill 要短。一个只堵一个口子。它唯一的作用是让 agent 少问一次、少查一次、少猜一次。别往里面塞百科全书。

脚本只做机械活——链接 skills、采 CI 日志、远端健康检查。产品判断、风险边界、要不要部署,该留人的确认就留,至少留个显式 preflight。

错误得回炉。软链接方向我一上来就搞反了。修完以后经验不能只停在对话窗口里,得落到脚本和 README 里,不然下次还犯。

最后留下的
#

不多:

  • 几个短 skill
  • 一个 Bash 链接脚本
  • 一个 PowerShell 链接脚本
  • 一次 Windows 同步确认
  • 一条规则:repo 放真实 skill,用户目录放链接

够了。

越来越觉得,AI coding 的工作流不是造一个大平台。是把最烦人的五分钟,一遍一遍地拿掉。每次少一点,系统就轻一点。这些小规则攒够了,agent 才像是在一个配好的工程环境里干活,而不是每次从野地里重新开路。

AI Coding - 这篇文章属于一个选集。
§ : 本文

相关文章