continuity-ledger by parcadei/continuous-claude-v3
npx skills add https://github.com/parcadei/continuous-claude-v3 --skill continuity-ledger注意: 此技能现为
/create_handoff的别名。两者输出相同的 YAML 格式。
创建一个 YAML 交接文档,用于在 /clear 操作后保持状态。这与 /create_handoff 功能相同。
首先,从现有交接文档中确定会话名称:
ls -td thoughts/shared/handoffs/*/ 2>/dev/null | head -1 | xargs basename
此命令返回最近修改的交接文件夹名称(例如 open-source-release)。将其用作交接文件夹名称。
如果不存在任何交接文档,则使用 general 作为文件夹名称。
在以下路径创建文件: thoughts/shared/handoffs/{会话名称}/YYYY-MM-DD_HH-MM_描述.yaml,其中:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
{会话名称} 来自现有交接文档(例如 open-source-release),若不存在则使用 generalYYYY-MM-DD 是今天的日期HH-MM 是当前时间的 24 小时制格式(无需秒)描述 是一个简短的短横线分隔描述示例:
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关键:严格使用此 YAML 格式。请勿偏离或使用替代字段名称。
goal: 和 now: 字段会显示在状态栏中——它们的名称必须与此完全一致。
---
session: {来自记录的会话名称}
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:
- {决策名称}: {理由}
findings:
- {关键发现}: {详情}
worked: [{有效的方法}]
failed: [{失败的方法及原因}]
next:
- {第一个后续步骤}
- {第二个后续步骤}
files:
created: [{新创建的文件}]
modified: [{修改过的文件}]
字段指南:
goal: + now: - 必需,显示在状态栏done_this_session: - 已完成的工作及文件引用decisions: - 重要决策及其理由findings: - 关键学习成果worked: / failed: - 应重复使用的方法与应避免的方法next: - 下次会话的行动项请勿使用替代字段名称,如 session_goal、objective、focus、current 等。 状态栏解析器只查找 goal: 和 now: ——其他名称无效。
重要: 在回复用户之前,你必须询问会话结果。
使用 AskUserQuestion 工具并包含以下确切选项:
Question: "本次会话进展如何?"
Options:
- 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 <用户选择>
标记结果后,回复用户:
交接文档已创建!结果标记为 [结果]。
在新会话中恢复:
/resume_handoff 路径/到/交接文档.yaml
/clear 之前每次压缩都是有损压缩——经过多次压缩后,你将在降级的上下文中工作。清除并加载交接文档能为你提供带有完整信号的新鲜上下文。
每周安装量
204
代码仓库
GitHub 星标
3.6K
首次出现
2026 年 1 月 23 日
安全审计
安装于
opencode198
codex196
gemini-cli195
github-copilot192
cursor191
amp188
Note: This skill is now an alias for
/create_handoff. Both output the same YAML format.
Create a YAML handoff document for state preservation across /clear. This is the same as /create_handoff.
First, determine the session name from existing handoffs:
ls -td thoughts/shared/handoffs/*/ 2>/dev/null | head -1 | xargs basename
This returns the most recently modified handoff folder name (e.g., open-source-release). Use this as the handoff folder name.
If no handoffs exist, use general as the folder name.
Create your file under: thoughts/shared/handoffs/{session-name}/YYYY-MM-DD_HH-MM_description.yaml, where:
{session-name} is from existing handoffs (e.g., open-source-release) or general if none existYYYY-MM-DD is today's dateHH-MM is the current time in 24-hour format (no seconds needed)description is a brief kebab-case descriptionExamples:
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.yamlCRITICAL: Use EXACTLY this YAML format. Do NOT deviate or use alternative field names.
The goal: and now: fields are shown in the statusline - they MUST be named exactly this.
---
session: {session-name from ledger}
date: YYYY-MM-DD
status: complete|partial|blocked
outcome: SUCCEEDED|PARTIAL_PLUS|PARTIAL_MINUS|FAILED
---
goal: {What this session accomplished - shown in statusline}
now: {What next session should do first - shown in statusline}
test: {Command to verify this work, e.g., pytest tests/test_foo.py}
done_this_session:
- task: {First completed task}
files: [{file1.py}, {file2.py}]
- task: {Second completed task}
files: [{file3.py}]
blockers: [{any blocking issues}]
questions: [{unresolved questions for next session}]
decisions:
- {decision_name}: {rationale}
findings:
- {key_finding}: {details}
worked: [{approaches that worked}]
failed: [{approaches that failed and why}]
next:
- {First next step}
- {Second next step}
files:
created: [{new files}]
modified: [{changed files}]
Field guide:
goal: + now: - REQUIRED, shown in statuslinedone_this_session: - What was accomplished with file referencesdecisions: - Important choices and rationalefindings: - Key learningsworked: / failed: - What to repeat vs avoidnext: - Action items for next sessionDO NOT use alternative field names likesession_goal, objective, focus, current, etc. The statusline parser looks for EXACTLYgoal: and now: - nothing else works.
IMPORTANT: Before responding to the user, you MUST ask about the session outcome.
Use the AskUserQuestion tool with these exact options:
Question: "How did this session go?"
Options:
- SUCCEEDED: Task completed successfully
- PARTIAL_PLUS: Mostly done, minor issues remain
- PARTIAL_MINUS: Some progress, major issues remain
- FAILED: Task abandoned or blocked
After the user responds, mark the outcome:
# Mark the most recent handoff (works with PostgreSQL or 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 <USER_CHOICE>
After marking the outcome, respond to the user:
Handoff created! Outcome marked as [OUTCOME].
Resume in a new session with:
/resume_handoff path/to/handoff.yaml
/clearEach compaction is lossy compression—after several compactions, you're working with degraded context. Clearing + loading the handoff gives you fresh context with full signal.
Weekly Installs
204
Repository
GitHub Stars
3.6K
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode198
codex196
gemini-cli195
github-copilot192
cursor191
amp188
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
150,000 周安装