关于 continue-claude-work
continue-claude-work 是用于从先前 Claude Code 会话恢复待办上下文并在当前对话继续工作的 Skill。它通过脚本提取摘要、未完成事项、错误和工作区状态,而不是重放完整会话记录。
主要功能
- 01提取会话摘要与最近请求
- 02识别中断调用和未完成任务
- 03汇总文件变更及 Git 状态
- 04按会话结束原因选择续做策略
- 05继续修改并运行确定性检查
适用场景
- 01接续被中断的 Claude Code 工作
- 02从旧会话中查找特定主题的任务
- 03恢复多 Agent 工作流的进度
- 04核实先前修改后继续开发
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ daymade/ claude-code-skills --skill continue-claude-work安装后在 Claude Code 中输入/continue-claude-work确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.security-scan-passedreferences/file_structure.mdscripts/extract_resume_context.pyscripts/_core/__init__.pyclaude.pycodex.pyhomes.pykimi.pymodel.pyparse.pysources.pytext.py详细介绍
继续 Claude Work
概述
从之前的 Claude Code 会话中恢复可执行的上下文,并在当前对话中继续执行。以本地会话文件为准,然后继续进行具体修改和检查,而不只是总结。
为何使用此方式,而不是 claude --resume:claude --resume 会将完整的会话记录重新载入上下文窗口。对于较长的会话,这会浪费令牌来处理已解决的问题和过时状态。此技能会选择性地重建可执行的上下文——最新的精简摘要、待办工作、已知错误和当前工作区状态——让你在保留先前知识的基础上重新开始。
文件结构参考
有关目录布局、JSONL 架构和压缩块格式,请参阅 references/file_structure.md。
工作流
第 1 步:提取上下文(单次脚本调用)
运行随附的提取脚本。它会在一次调用中处理会话发现、压缩边界解析、噪声过滤和工作区状态:
# Latest session for current project
python3 scripts/extract_resume_context.py
# Specific session by ID
python3 scripts/extract_resume_context.py --session <SESSION_ID>
# Search by topic
python3 scripts/extract_resume_context.py --query "auth feature"
# List recent sessions
python3 scripts/extract_resume_context.py --list
脚本会输出结构化的 Markdown 简报,其中包含:
- 来自
sessions-index.json的会话元数据 - 精简摘要——Claude 在最近压缩边界生成的摘要(信号最强的上下文)
- 用户最近的请求——最近明确提出的要求
- 助手最近的回复——已声称完成的事项
- 遇到的错误——工具故障和错误输出
- 未解决的工具调用——表明会话曾中断
- 子 Agent 工作流状态——哪些子 Agent 已完成、哪些被中断,以及它们最后的输出
- 会话结束原因——正常退出、中断(ctrl-c)、错误连锁或放弃
- 涉及的文件——会话期间创建、编辑或读取的文件
- MEMORY.md——跨会话的持久笔记
- Git 状态——当前状态、分支和最近的日志
脚本会自动跳过当前活动的会话(最近 60 秒内修改),以避免提取自身会话。
第 2 步:根据会话结束原因选择策略
简报包含会话结束原因。根据它选择合适的后续策略:
| 结束原因 | 策略 |
|---|---|
| 正常退出 | 会话正常完成。查看已处理的最后一条用户请求。如有待办工作,从中继续。 |
| 中断 | 工具调用已发出,但未收到结果(可能因 ctrl-c 或超时)。重试被中断的工具调用,或评估其是否仍有必要。 |
| 错误连锁 | 多个 API 错误导致会话失败。不要盲目重试——先诊断根本原因。 |
| 放弃 | 用户发送了消息,但未收到回复。将用户的最后一条消息视为当前请求。 |
如果简报包含带有中断子 Agent 的子 Agent 工作流部分,请检查每个子 Agent 正在执行的任务,并决定是重试还是跳过。
第 3 步:核对并继续
进行修改之前:
- 确认当前目录与会话所在的项目一致。
- 如果 Git 分支与会话中的分支不同,请记录这一点并决定是否切换。
- 检查与待办工作相关的文件,验证之前的说法仍然成立。
- 未经检查,不要假定之前的说法仍然有效。
然后:
- 根据用户的最新请求,实施下一项具体工作。
- 运行确定性验证(测试、类型检查、构建)。
- 如果受阻,请说明确切的阻碍,并提出下一步行动。
第 4 步:报告
简洁回复:
- 已恢复的上下文:会话信息和简报中的关键发现
- 已执行的工作:修改的文件、运行的命令和测试结果
- 剩余事项:如有待办任务,请列出
脚本工作原理
感知压缩边界的提取
脚本会在会话 JSONL 中查找最后一个压缩边界,并提取其摘要。这是任何长会话中信号最强的单条上下文——Claude 对截至该时点整个对话的提炼理解。有关压缩格式和 JSONL 架构的详细信息,请参阅 references/file_structure.md。
自适应大小策略
| 会话大小 | 策略 |
|---|---|
| 有压缩记录 | 阅读最近的压缩摘要和所有压缩后的消息 |
| < 500 KB,无压缩记录 | 阅读最近 60% 的消息 |
| 500 KB - 5 MB | 阅读最近 30% 的消息 |
| > 5 MB | 阅读最近 15% 的消息 |
子 Agent 上下文提取
当会话包含子 Agent 目录(<session-id>/subagents/)时,脚本会解析每个子 Agent 的 JSONL 文件,提取 Agent 类型、完成状态和最后一条文本输出。这有助于恢复多 Agent 工作流——例如,如果一个包含 32 个子 Agent 的评估流水线中断,简报会显示哪些 Agent 已完成,以及哪些需要重试。
会话结束原因检测
脚本会对会话的结束方式进行分类:
- completed —— 助手最后发言(正常退出)
- interrupted —— 存在未解决的工具调用(按下 ctrl-c 或超时)
- error_cascade —— 发生 3 次或以上 API 错误
- abandoned —— 用户发送消息后未收到回复
噪声过滤
以下消息类型会被跳过(在实际会话中占 37-53%):
progress、queue-operation、file-history-snapshot—— 操作噪声api_error、turn_duration、stop_hook_summary—— 系统子类型<task-notification>、<system-reminder>—— 从用户文本提取中滤除
防护措施
- 不要运行
claude --resume或claude --continue——此技能可在当前会话中恢复上下文。 - 不要将压缩摘要视为完整事实——摘要可能有信息损失。务必根据当前工作区核实其中的说法。
- 不要覆盖无关的工作树更改。
- 不要将完整的会话文件加载到上下文中——务必使用脚本。
限制
- 无法恢复
.jsonl文件已从~/.claude/projects/中删除的会话。 - 无法访问其他机器上的会话(文件仅存储在本地)。
- 编辑工具操作只显示差异,不显示完整文件内容——如需完整恢复文件,请使用
claude-code-history-files-finder。 - 压缩摘要可能有信息损失——早期对话的细节可能缺失。
sessions-index.json可能已过时(条目指向已删除的文件)。脚本会回退到基于文件系统的发现方式。
示例触发语句
- “继续处理会话
abc123-...中的工作” - “不要恢复会话,只读取 .claude 文件并继续”
- “查看我上个会话在处理什么,然后继续”
- “在我的会话中搜索 PR 审查相关工作”