mcpField
C
continue-claude-work

continue-claude-work

github.com/daymadeAgent 工作流1.5k631 次安装今天更新
代码仓库

关于 continue-claude-work

continue-claude-work 是用于从先前 Claude Code 会话恢复待办上下文并在当前对话继续工作的 Skill。它通过脚本提取摘要、未完成事项、错误和工作区状态,而不是重放完整会话记录。

主要功能

  1. 01提取会话摘要与最近请求
  2. 02识别中断调用和未完成任务
  3. 03汇总文件变更及 Git 状态
  4. 04按会话结束原因选择续做策略
  5. 05继续修改并运行确定性检查

适用场景

  1. 01接续被中断的 Claude Code 工作
  2. 02从旧会话中查找特定主题的任务
  3. 03恢复多 Agent 工作流的进度
  4. 04核实先前修改后继续开发

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daymade/claude-code-skills --skill continue-claude-work

安装后在 Claude Code 中输入/continue-claude-work确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.security-scan-passed
references/
file_structure.md
scripts/
extract_resume_context.py
scripts/_core/
__init__.py
claude.py
codex.py
homes.py
kimi.py
model.py
parse.py
sources.py
text.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 步:核对并继续

进行修改之前:

  1. 确认当前目录与会话所在的项目一致。
  2. 如果 Git 分支与会话中的分支不同,请记录这一点并决定是否切换。
  3. 检查与待办工作相关的文件,验证之前的说法仍然成立。
  4. 未经检查,不要假定之前的说法仍然有效。

然后:

  • 根据用户的最新请求,实施下一项具体工作。
  • 运行确定性验证(测试、类型检查、构建)。
  • 如果受阻,请说明确切的阻碍,并提出下一步行动。
第 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 审查相关工作”

评论

支持 Markdown