用途:配置一个通用的 SessionStart 钩子,在 /clear 或 /compact 之后重新注入上下文。任何在项目根目录写入 .agent-restore-context-<name> 文件的技能,其内容都会被自动注入到新会话中。
主要能力:技能写入 .agent-restore-context-<skill-name> 恢复提示文件;带 matcher clear|compact 的 SessionStart 钩子运行 agent-restore-context.sh;脚本匹配 .agent-restore-context-* 并输出其内容;模型接收输出并遵循恢复指令;技能自行管理文件生命周期(写入/删除)。
使用方式:先检测项目布局(存在 .agents/ 用 agents 布局,仅 .claude/ 用 claude 布局,设置文件始终位于 .claude/ 下);检查 .claude/settings.json 与 .claude/settings.local.json 是否已含 restore-context;在 .claude/skills/ 或 .agents/skills/ 下定位脚本并确保可执行(必要时 chmod +x);询问用户将钩子注册到共享的 settings.json 还是本地的 settings.local.json,再合并 SessionStart 配置,命令为 bash <resolved-script-path>;在 .gitignore 添加 .agent-restore-context-*;最后确认注册位置与脚本路径。
适用场景:新项目初始化,或克隆使用该模式的仓库后。
限制与安全:.agent-restore-context-* 文件内容会在每次 /clear 或 /compact 后的会话启动时原样注入模型上下文,应视同可执行配置同等信任,仅项目内运行的技能应写入它们,因此 .gitignore 条目很重要。不要创建 .agents/ 或 .agents/skills/ 目录,仅在已存在时使用。该技能幂等,可安全多次运行。