大家好,我是云途。
这是 Codex 系统教学的第 17 节。我们会把前面学过的目标、范围、规则、计划、检查和交付步骤,保存成一个可以重复使用的 Skill。
第一个 Skill 先选择一个简单任务:生成项目接力说明。它不会修改生产环境,结果也容易检查,很适合作为第一次练习。
完成这节课以后,你会得到一个能实际运行的 Skill,并且知道怎样检查它是否在正确的任务中启动。
这节课的最终交付
- 创建
project-handoffSkill 目录; - 写出准确名称、描述、触发和流程;
- 加入接力说明模板;
- 设置只读优先与敏感信息边界;
- 用三类任务验证触发和产出;
- 根据测试结果修订一次。
先说清楚这个 Skill 做什么、不做什么
读取当前任务与项目状态,生成一份可供下一次继续的 Markdown 接力说明。
不修改源码、不提交 Git、不发送消息、不归档任务、不猜测未验证完成项。
目标、项目路径、已完成证据、当前状态、未完成和风险。
默认在用户指定位置写入 handoff.md;未授权写入时先在对话预览。
必需章节齐全,路径真实,完成状态有证据,敏感信息未回显。
创建最小目录
project-handoff/
├── SKILL.md
└── templates/
└── handoff.md第一次不要急着加入 scripts、assets 和大量 references。只有主流程需要确定性工具或长资料时再增加。目录越小,越容易发现哪条说明真正起作用。
名称和描述决定何时触发
---
name: project-handoff
description: Use when the user asks to summarize, hand off, pause, resume, or continue a long-running project task with verified status, risks, and a concrete next step.
---
# Project handoff
Create a factual, evidence-backed handoff for the current project.
Never mark planned or unverified work as complete.描述要同时写任务意图和关键特征。太宽的“用于项目管理”容易误触发;太窄的固定句式又会漏掉“接着上次”“保存进度”等自然表达。
把工作流写成必须遵守的顺序
## Workflow
1. Read the active goal, current plan, applicable AGENTS.md, and project status file.
2. Inspect changed files and the latest verification evidence.
3. Separate verified complete, in progress, pending, blocked, and unverified.
4. Remove secrets, tokens, private user data, and unsupported claims.
5. Fill `templates/handoff.md`.
6. Show a preview unless the user already authorized the target file.
7. Re-read the final handoff and verify every path and command.
## Stop conditions
- The project or target path is ambiguous.
- Evidence conflicts with the claimed status.
- Writing would overwrite an existing handoff without authorization.模板固定交付,不固定判断
# 项目接力说明
## 目标
## 操作范围与真源
## 已确认决定
## 已完成与证据
## 当前进行中
## 未完成
## 风险、禁止项与未覆盖
## 下一步入口
## 最近验证
模板保证接力不漏关键栏目;是否完成、证据是否足够、哪些内容敏感,仍由 SKILL.md 的流程判断。
测试一:正向触发与完整产出
请为当前官网 v4 Codex 课程任务生成接力说明。读取工作区状态、课程计划、当前修改文件和测试结果;区分已完成、进行中、未完成和未验证;给出下一步要先读的绝对路径与项目内命令。先在对话中预览,不写文件。
- 是否自动采用接力流程;
- 是否读取适用规则与状态;
- 是否把计划和证据分开;
- 是否包含真实绝对路径;
- 是否没有把待办写成完成。
测试二:无关任务不应触发
请求:解释 CSS 的 position: sticky。
期望:直接解释概念,不生成接力说明。
请求:把这段中文翻译成英文。
期望:完成翻译,不读取项目状态。
请求:帮我继续昨天的官网任务。
期望:触发接力流程,先读取状态与证据。如果无关请求也触发,收窄 description;如果“继续上次任务”没有触发,补充真实用户会使用的意图词,而不是堆具体固定句子。
测试三:缺失信息和冲突证据
- 没有明确项目路径时,是否先查当前工作区而不是凭空猜;
- 计划写完成但测试失败时,是否标为未验证;
- 出现 API Key 或用户数据时,是否脱敏;
- 目标文件已存在时,是否避免直接覆盖;
- 用户只要预览时,是否不写入文件;
- 无法继续时,是否说明准确阻塞条件。
根据测试只修真正的问题
v0.1 问题:描述过宽,普通项目总结也触发。
调整:限定为“pause / resume / hand off long-running project task”。
v0.2 问题:把计划中的构建写成已完成。
调整:Workflow 第 3 步要求状态必须绑定证据。
v0.3 结果:正向、负向、冲突证据测试通过。不要在每次测试后重写整个 Skill。保留版本记录,针对触发、流程、模板或验证中的真实缺陷修改最小位置。
放到正确位置并保留真源
Skill 可以放在用户级 Skill 目录供多个项目使用,也可以随项目保存在明确位置。无论安装到哪里,都要保留可维护真源,记录版本与素材来源。
- 确认目录名与 frontmatter name 一致;
- 不要依赖本机临时绝对路径作为公共能力;
- 脚本依赖放在 Skill 或项目自己的目录;
- 安装后重新运行触发测试;
- 修改后同步真源与已安装版本;
- 涉及公司品牌的 Skill 要引用正式资产,不复制不受控图片。
从第一个 Skill 回看整套课程
选择正确入口与工作区
↓
从安全小任务理解权限
↓
先读现状,写任务书与验收
↓
每改一步就检查一步
↓
审查差异、检查结果与恢复方法
↓
用 AGENTS.md 保存项目规则
↓
用计划和接力维持长任务
↓
把稳定重复流程做成 Skill学完这套课程以后,你仍然需要根据具体任务作判断。现在你已经知道:什么适合交给 Codex、怎样限制范围、怎样检查结果,以及什么时候可以把一套成熟做法保存成 Skill。
视频录制与复习提纲
- 固定 project-handoff Skill 合同;
- 创建最小目录与 frontmatter;
- 写主流程和停止条件;
- 加入模板;
- 运行正向、负向和冲突测试;
- 根据失败最小修订;
- 回顾 17 节完整协作链。
第一个 Skill 要能触发、能交付,也能在该停时停下
- Skill 名称与描述准确;
- 主流程按证据判断状态;
- 模板覆盖目标、进度、风险和下一步;
- 正向任务正确触发;
- 无关任务不会误触发;
- 缺失输入与冲突证据会安全停下;
- 最终产出已经重读并核对路径、命令和敏感信息。