Codex principles and daily practice

AI CODING AGENT / ENGINEERING WORKFLOW / LESSON 04

Skills, MCP, hooks, and automation

Choose the right Codex extension surface across AGENTS.md, Skills, MCP, Hooks, plugins, and scheduled tasks.

Reading
18 min
Track
Codex principles and daily practice
Source
Chinese reviewed guide

The reviewed guide body for this track is currently maintained in Chinese.

预计阅读时间: 18 分钟

当你开始频繁使用 Codex,会遇到一个新问题:很多提示、检查和外部上下文会反复出现。此时不要把所有内容塞进一次提示里,而要选择合适的持久化承载面。

Codex 的可复用能力主要有六类:AGENTS.md、Skills、MCP、Hooks、Plugins 和 Scheduled Tasks。它们不是互相替代,而是负责不同层级。

先看一张选择表

需求更适合放在哪里原因
仓库每次都要遵守的规则AGENTS.md自动加载,适合稳定约束
一套可重复执行的方法Skill有触发条件、步骤、参考文件和脚本
需要访问外部系统MCP把工具和上下文接进 Codex
每次工具调用前后要执行检查Hook嵌入 agentic loop 的生命周期
要分发一组 skills/tools/assetsPlugin可安装、可版本化、可共享
稳定周期性任务Scheduled Task把成熟流程按时间运行

如果不确定,先从提示开始。重复两三次后,再沉淀到更稳定的层。

AGENTS.md:项目规则

AGENTS.md 适合放“每次在这个仓库都应该知道”的内容:

## Commands

- Run `npm run lint` before committing TypeScript changes.
- Run `npm run build` before deploying the static site.

## Product constraints

- Keep the ICP footer on all public pages.
- Sync product decisions into OpenSpec or docs.

它不适合写非常长的教程。如果规则太多,把细节拆到 docs/,再在 AGENTS.md 里引用。

Skill:可复用工作流

Skill 适合把“方法”固化下来。例如一个发布检查 Skill 可以写:

---
name: static-site-release
description: Build, verify, deploy, and live-check the AIGC Bot static site.
---

1. Check `git status --short --branch`.
2. Run `npm run lint`.
3. Run `npm run build`.
4. Verify sitemap and ICP footer in `out/`.
5. Deploy through the release directory workflow.
6. Run live checks against `https://aigc-bot.com/`.

Skill 的优势是触发明确、内容完整,可以附带脚本、参考资料和资产。它比“复制一大段提示”更稳定。

MCP:连接外部上下文和动作

MCP 适合解决“上下文不在仓库里”的问题。例如:

  • GitHub PR 评论和 issue。
  • Notion 规格文档。
  • Figma 设计稿。
  • OpenAI 官方文档。
  • 内部日志系统。

MCP 工具要注意三件事:

  • 区分只读和会产生副作用的工具。
  • 不把 secret 和敏感输出直接暴露给模型。
  • 把工具描述写成用户意图,而不是内部 API 名称。

对于团队来说,MCP 的价值是减少复制粘贴和上下文漂移。

Hook:生命周期检查

Hooks 可以在会话或工具调用的生命周期中运行脚本。常见用途包括:

  • 提交用户提示前扫描是否包含密钥。
  • 运行命令前检查危险模式。
  • 一轮结束后写摘要。
  • 任务停止时提醒是否同步文档。
  • 对特定目录追加上下文。

Hook 强大,但也更靠近安全边界。建议只把机械、稳定、可解释的检查做成 Hook,不要把复杂产品判断塞进去。

一个合理的 Hook 应该满足:

输入明确、输出短、失败方式清楚、不会偷偷改变业务状态。

Plugin:可分发能力包

当 Skill、MCP、Hooks、资产和配置需要一起分发时,可以考虑 Plugin。Plugin 更适合团队或市场化分发,不适合单个仓库里还在试验的流程。

先做 Skill,再做 Plugin,是更稳的路线。

Scheduled Task:成熟流程自动跑

计划任务适合已经手工跑过多次、结果稳定的流程,例如:

  • 每周生成趋势周报草稿。
  • 每天检查死链。
  • 每周总结最近部署。
  • 定期审查 AGENTS.md 是否需要更新。
  • 扫描 CI 失败并做初步归因。

不要把还需要大量人类判断的流程直接计划化。先把方法做成 Skill,再让计划任务调用。

一个落地顺序

第 1 层:提示模板
第 2 层:AGENTS.md 记录稳定规则
第 3 层:Skill 固化重复方法
第 4 层:MCP 接入外部系统
第 5 层:Hook 做机械防线
第 6 层:Scheduled Task 周期化成熟流程
第 7 层:Plugin 分发整套能力

这样演进的好处是:每一步都来自真实使用,而不是一开始就过度工程化。

AIGC Bot 可以怎么用

对本站这类项目,可以沉淀这些能力:

  • content-release Skill:同步学习文章、生成图、构建、检查 sitemap。
  • seo-review Skill:检查 canonical、hreflang、JSON-LD、robots、sitemap。
  • deploy-static-site Skill:构建、上传 release、切 symlink、live check。
  • weekly-digest Scheduled Task:每周日生成上周 AI/大数据/可观测周报草稿。
  • docs-sync Hook 或 Skill:重大产品变更后提醒更新 OpenSpec/Superpowers 文档。

这些能力都应该先在真实任务里跑通,再固化。

参考资料