连续性交接分类账技能Skill continuity-ledger

这个技能用于创建YAML格式的交接文档,以实现状态在清除操作中的保存,确保开发会话的连续性。适用于多日实施、复杂重构等场景,帮助管理开发流程和任务跟踪。关键词:连续性、状态保存、YAML文档、开发交接、会话管理、状态保持、工具集成。

DevOps 0 次安装 0 次浏览 更新于 3/14/2026

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)或如果不存在则使用 general
  • YYYY-MM-DD 是今天的日期
  • HH-MM 是当前时间,以24小时格式(不需要秒)
  • description 是一个简短的kebab-case描述

示例:

  • thoughts/shared/handoffs/open-source-release/2026-01-08_16-30_memory-system-fix.yaml
  • thoughts/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_goalobjectivefocuscurrent 等。 状态行解析器查找完全相同的 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分钟)
  • 简单的错误修复
  • 单文件更改

为什么使用清除而非压缩?

每次压缩都是有损压缩——经过几次压缩后,您将处理降级的上下文。清除 + 加载交接文档能提供具有完整信号的新鲜上下文。