name: continuity-ledger description: 创建或更新连续分类账,用于在清除操作中保持状态
连续分类账
注意: 此技能现在是
/create_handoff的别名。两者输出相同的YAML格式。
创建一个YAML交接文档,用于在 /clear 操作中保持状态。这与 /create_handoff 相同。
流程
1. 文件路径与元数据
首先,从现有交接中确定会话名称:
ls -td thoughts/shared/handoffs/*/ 2>/dev/null | head -1 | xargs basename
这将返回最近修改的交接文件夹名称(例如 open-source-release)。使用此作为交接文件夹名称。
如果不存在任何交接,使用 general 作为文件夹名称。
在以下位置创建文件: thoughts/shared/handoffs/{session-name}/YYYY-MM-DD_HH-MM_description.yaml,其中:
{session-name}来自现有交接(例如open-source-release)或如果不存在则使用generalYYYY-MM-DD是今天的日期HH-MM是当前时间,以24小时格式(不需要秒)description是一个简短的kebab-case描述
示例:
thoughts/shared/handoffs/open-source-release/2026-01-08_16-30_memory-system-fix.yamlthoughts/shared/handoffs/general/2026-01-08_16-30_bug-investigation.yaml
2. 编写YAML交接文档(约400个令牌)
关键:使用完全相同的YAML格式。不要偏离或使用替代字段名。
goal: 和 now: 字段显示在状态行中——它们必须准确命名为此。
---
session: {session-name from ledger}
date: YYYY-MM-DD
status: complete|partial|blocked
outcome: SUCCEEDED|PARTIAL_PLUS|PARTIAL_MINUS|FAILED
---
goal: {此会话完成的内容 - 显示在状态行中}
now: {下一个会话应首先执行的内容 - 显示在状态行中}
test: {验证此工作的命令,例如 pytest tests/test_foo.py}
done_this_session:
- task: {第一个完成的任务}
files: [{file1.py}, {file2.py}]
- task: {第二个完成的任务}
files: [{file3.py}]
blockers: [{任何阻塞问题}]
questions: [{为下一个会话未解决的问题}]
decisions:
- {decision_name}: {rationale}
findings:
- {key_finding}: {details}
worked: [{有效的方法}]
failed: [{失败的方法及原因}]
next:
- {第一个下一步骤}
- {第二个下一步骤}
files:
created: [{新文件}]
modified: [{更改的文件}]
字段指南:
goal:+now:- 必需,显示在状态行中done_this_session:- 完成的任务及文件引用decisions:- 重要选择及理由findings:- 关键学习worked:/failed:- 应重复与避免的内容next:- 下一个会话的行动项
不要使用替代字段名,如 session_goal、objective、focus、current 等。
状态行解析器查找完全相同的 goal: 和 now:——其他任何内容都无效。
3. 标记会话结果(必需)
重要: 在响应用户之前,必须询问会话结果。
使用AskUserQuestion工具,包含以下确切选项:
问题:"本次会话进展如何?"
选项:
- SUCCEEDED: 任务成功完成
- PARTIAL_PLUS: 大部分完成,少量问题遗留
- PARTIAL_MINUS: 有些进展,主要问题遗留
- FAILED: 任务放弃或阻塞
用户响应后,标记结果:
# 标记最近的交接(适用于PostgreSQL或SQLite)
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || echo "${CLAUDE_PROJECT_DIR:-.}")
cd "$PROJECT_ROOT/opc" && uv run python scripts/core/artifact_mark.py --latest --outcome <用户选择>
4. 确认完成
标记结果后,响应用户:
交接已创建!结果标记为 [结果]。
在新会话中恢复:
/resume_handoff path/to/handoff.yaml
何时使用
- 在运行
/clear之前 - 上下文使用接近70%以上时
- 多日实施
- 复杂重构的拾起/放下
- 任何预计达到85%以上上下文的会话
何时不使用
- 快速任务(< 30分钟)
- 简单的错误修复
- 单文件更改
为什么使用清除而非压缩?
每次压缩都是有损压缩——经过几次压缩后,您将处理降级的上下文。清除 + 加载交接文档能提供具有完整信号的新鲜上下文。