会话交接Skill session-handoff

这个技能用于在AI助手会话中断或结束时,创建交接文档以捕获当前状态、进展和下一步骤,确保对话的无缝继续。关键词:会话交接、上下文管理、文档生成、AI助手、任务延续、交接文档、会话管理。

AI智能体 0 次安装 0 次浏览 更新于 3/10/2026

名称: 会话交接 描述: 在会话丢失或结束时为新对话准备上下文。创建交接文档,捕获当前状态、进展和下一步骤,以实现无缝继续。 版本: 1.0.0 模型: sonnet 触发方式: 两者 用户可调用: true 工具: [读取, 写入, 全局搜索, 文本查找] 最佳实践:

  • 在长会话结束前创建交接
  • 包括具体的下一步骤,而非模糊描述
  • 引用特定文件和行号
  • 捕获所作决策及其理由
  • 将交接存储在持久性内存位置 错误处理: 优雅 流式支持: 支持 已验证: false 最后验证时间: 2026-02-19T05:29:09.098Z

<身份> 会话交接专家 - 创建全面的上下文文档以实现无缝对话继续。 </身份>

<能力>

  • 捕获当前会话状态和进展
  • 文档化所作决策及其理由
  • 创建可操作的下一步骤
  • 为未来会话保留上下文
  • 生成可恢复的任务描述 </能力>

<指令>

何时使用

调用此技能:

  • 在结束长工作会话之前
  • 当用户明确要求准备继续时
  • 当上下文窗口即将填满时
  • 在切换到不同任务之前
  • 当工作受阻并将稍后恢复时

交接文档工作流

步骤 1: 评估当前状态

收集关于当前会话的信息:

  1. 原始目标是什么?
  2. 已完成什么?
  3. 正在进行什么?
  4. 受阻或待处理什么?

步骤 2: 文档化进展

创建进展摘要:

## 会话进展

### 原始目标

[请求内容]

### 已完成

- [x] 任务 1 - 描述
- [x] 任务 2 - 描述

### 进行中

- [ ] 任务 3 - 描述 (当前状态: ...)

### 未开始

- [ ] 任务 4 - 描述
- [ ] 任务 5 - 描述

步骤 3: 捕获上下文

文档化会丢失的重要上下文:

## 重要上下文

### 所作决策

| 决策           | 理由          | 考虑的替代方案                  |
| -------------- | ------------- | ------------------------------- |
| 使用方法 A     | 因为 X, Y, Z  | 方法 B (因...被拒绝)            |

### 关键文件

| 文件                | 相关性    | 状态                      |
| ------------------- | --------- | ------------------------- |
| `src/auth.ts`       | 主要焦点  | 已修改,需要测试          |
| `src/auth.test.ts`  | 测试      | 部分更新                  |

### 发现

- 发现 X 依赖于 Y
- `.env` 中的配置需要 Z
- 函数 W 中存在性能瓶颈

### 阻碍

- 等待: [API 凭证 / 用户决定 / 审查]
- 问题: [阻碍问题的描述]

步骤 4: 创建下一步骤

编写具体、可操作的下一步骤:

## 下一步骤 (按顺序)

### 立即 (必须首先执行)

1. **完成身份验证重构**
   - 文件: `src/auth.ts`
   - 剩余: 实现令牌刷新逻辑 (行 145-160)
   - 参考: 见上述关于 JWT 过期的决策

2. **添加测试**
   - 文件: `src/auth.test.ts`
   - 添加测试: `refreshToken()`, `validateSession()`

### 之后

3. **更新依赖组件**
   - 文件: `src/middleware/auth.ts`, `src/api/login.ts`
   - 内容: 更新以使用新身份验证接口

### 可选

4. **文档化**
   - 更新 README 以包含新身份验证流程

步骤 5: 生成继续提示

创建可用于继续工作的提示:

## 继续提示

复制此内容以开始下一个会话:

---

**继续先前工作于: [任务名称]**

**上下文**: 我正在处理 [简短描述]。

**当前进展**:

- 已完成: [列表]
- 进行中: [当前状态]

**交接文档**: `.claude/context/memory/handoff-[日期].md`

**立即下一步骤**: [需执行的具体操作]

请阅读交接文档并从我们停止处继续。

---

步骤 6: 保存到持久性位置

保存交接文档:

位置: .claude/context/memory/handoff-YYYY-MM-DD-[任务].md

交接文档模板

# 会话交接: [任务名称]

**日期**: YYYY-MM-DD HH:MM
**会话时长**: ~X 小时

## 摘要

[一段描述此会话内容的文字]

## 原始目标

[请求内容]

## 进展

### 已完成

- [x] [任务详情]

### 进行中

- [ ] [任务] - 当前状态: [描述]

### 未开始

- [ ] [任务]

## 重要上下文

### 所作决策

1. **[决策]**: [理由]

### 已修改关键文件

- `路径/到/文件.ts` - [更改内容]

### 发现与笔记

- [重要发现]

### 阻碍

- [如有]

## 下一步骤

### 立即

1. [带文件/行号引用的具体操作]

### 之后

2. [下一操作]

## 继续指令

要继续此工作:

1. 阅读此交接文档
2. 检查上述提及文件的状态
3. 开始: [第一个具体操作]

## 优先阅读文件

- `.claude/context/memory/learnings.md` - 项目知识
- `[关键文件]` - 当前实现

</指令>

<示例> <使用示例> 用户: “我今天需要停止,准备一个交接”

助手响应:

# 会话交接: 身份验证系统重构

**日期**: 2024-01-15 17:30
**会话时长**: ~3 小时

## 摘要

将身份验证从自定义实现重构为 NextAuth.js。
在核心身份验证模块上进展良好,但测试未完成。

## 原始目标

用 NextAuth.js 替换自定义 JWT 身份验证,以提高安全性和可维护性。

## 进展

### 已完成

- [x] 安装 NextAuth.js 及依赖项
- [x] 创建基础配置 (`src/auth.config.ts`)
- [x] 迁移登录端点到 NextAuth
- [x] 更新会话类型定义

### 进行中

- [ ] 迁移受保护路由 - 60% 完成
  - 已完成: `/dashboard`, `/profile`
  - 剩余: `/settings`, `/admin/*`

### 未开始

- [ ] 迁移退出流程
- [ ] 添加 OAuth 提供者 (Google, GitHub)
- [ ] 更新测试

## 重要上下文

### 所作决策

1. **保留自定义用户表**: 未使用 NextAuth 的内置用户模型,因为现有用户数据包含自定义字段。

2. **JWT 策略优于数据库会话**: 更适用于无状态 API 架构。

### 已修改关键文件

- `src/auth.config.ts` - 新文件,NextAuth 配置
- `src/middleware.ts` - 更新为使用 NextAuth
- `src/app/api/auth/[...nextauth]/route.ts` - NextAuth API 路由

### 发现

- 旧的 `validateToken()` 函数仍被 3 个需要更新的 API 路由调用
- 在 `.env.local` 中发现硬编码密钥 - 需轮换

### 阻碍

- 需要 Google/GitHub 的 OAuth 凭证 (用户提供)

## 下一步骤

### 立即

1. **完成受保护路由迁移**
   - 文件: `src/middleware.ts` 行 45-60
   - 添加 `/settings` 和 `/admin/*` 到受保护模式

2. **更新使用旧身份验证的剩余 API 路由**
   - `src/app/api/user/route.ts` 行 12
   - `src/app/api/orders/route.ts` 行 8
   - `src/app/api/admin/route.ts` 行 15

### 之后

3. **为新身份验证编写测试**
   - 创建 `src/__tests__/auth.test.ts`
   - 测试用例: 登录、退出、会话刷新、受保护路由

4. **添加 OAuth 提供者** (一旦凭证提供)

## 继续指令

要继续此工作:

1. 阅读此交接文档
2. 运行 `npm run dev` 以验证当前状态正常
3. 开始: 更新 middleware.ts 以保护 `/settings` 路由

## 优先阅读文件

- `src/auth.config.ts` - 当前 NextAuth 设置
- `src/middleware.ts` - 路由保护逻辑

保存到: .claude/context/memory/handoff-2024-01-15-auth-refactor.md

当您继续时,使用此提示:

“继续身份验证重构。阅读 .claude/context/memory/handoff-2024-01-15-auth-refactor.md 并从下一步骤的步骤 1 继续。”

</使用示例> </示例>

<集成> 相关技能:

  • project-onboarding - 当开始不熟悉的代码时使用
  • thinking-tools - 在交接前思考是否完成
  • summarize-changes - 在交接文档中包含摘要 </集成>

内存协议 (强制)

开始前: 阅读 .claude/context/memory/learnings.md

完成后:

  • 发现新模式 -> .claude/context/memory/learnings.md
  • 遇到问题 -> .claude/context/memory/issues.md
  • 作出决策 -> .claude/context/memory/decisions.md

假设中断: 如果不在内存中,则未发生。