Skill.md
Harness Step 3 — 建立跨 Session 状态管理
Claude Code 的会话是无状态的——每次对话结束,agent 对"上次做了什么"一无所知。传统解决方案是每次新对话手动解释背景,这既费时又不可靠。这个 skill 从根本上解决这个问题:状态写进文件,不放在 agent 的记忆里。
创建的三个文件
init.sh — 环境健康检查
每次 session 开始时运行。验证依赖已安装、配置文件存在、核心模块可导入。30 秒内发现环境问题,不让坏环境浪费整个 session。
tasks.json — 结构化任务队列
每个任务包含:id、title、description、status、priority、verify(可执行的完成验证步骤)、requires_eval(是否需要独立评审)。Agent 不猜下一步做什么,直接读任务队列。
progress.md — 追加式会话日志
每次 session 完成任务后在顶部追加一条记录。下次 session 读前 20 行,立即知道上次停在哪里。不删除历史,形成可追溯的工作流水账。
Session 启动流程(写入 AGENTS.md)
1. bash init.sh → 验证环境
2. git log --oneline -10 → 了解最近历史
3. head -20 progress.md → 看上次做到哪里
4. 读 tasks.json → 选 priority=high 且 status=pending 的任务
verify 字段的设计原则
verify 必须是可执行的步骤,不能是模糊描述。检验标准:另一个完全不了解背景的人,能否按 verify 独立判断任务是否完成? 如果不能,继续拆分。
适用场景
- Harness Step 1 + 2 完成后,建立完整的 agent 工作体系
- 长期项目,多人/多 session 协作
- 任何"agent 老是忘记上次做了什么"的场景
局限说明
tasks.json 不会自动执行任务,需要人工或 agent 手动触发。被搁置的任务应在 blocked_by 字段说明原因,让下一个 session 能直接跳到可执行的任务。