Skill: imchongliu/cross-session-tasks (version 1.0.0)

--- name: cross-session-tasks description: > 解决 AI Agent 跨会话失忆问题的任务管理系统。3 个文件 + 3 条规则， 让 Agent 在 session 结束后仍能延续任务，跨 channel/thread 断点续传。 触发词：任务管理、跨会话、task continuity、session memory、断点续传 --- # Cross-Session Task Management 🧠 **让 Agent 记住「上次做到哪了」的 3 个文件 + 3 条规则。** ## 核心问题 每次 session 结束，Agent 失忆。上下文窗口限制导致任务无法跨 session 延续。 ## 设计原则 **任务状态住在文件里，不住在 thread 里。** 不管你用哪个 channel、哪个 thread、哪天开的对话，只要读到同一个文件，就能恢复上下文。 ## 快速开始 ### 第 1 步：创建 3 个文件 ```bash # 1. 复制模板到你的 workspace cp templates/ACTIVE-TASKS.md ~/. openclaw/workspace/ cp templates/CLOSED-TASKS.md ~/.openclaw/workspace/ mkdir -p ~/.openclaw/workspace/projects/ # 2. 在 AGENTS.md 中添加规则（见下方） ``` ### 第 2 步：在 AGENTS.md 中添加 3 条规则 在 `## Every Session` 部分添加： ```markdown 4. Read `ACTIVE-TASKS.md` — 有活跃任务就恢复上下文 ``` 在文件末尾添加： ```markdown ### 📋 Session 结束时更新任务状态 每次对话结束前（或主要任务完成后），检查是否有活跃任务需要更新： 1. **读 ACTIVE-TASKS.md** — 确认当前有哪些任务 2. **判断本次对话是否涉及某个任务** — 如果是： - 更新 `projects/任务名/progress.md` 的进度检查清单 - 更新「下次开始时需要知道的」部分 - 更新 ACTIVE-TASKS.md 的「上次更新」和「下一步」列 3. **发现新任务** — 如果本次对话开启了一个新项目： - 创建 `projects/任务名/progress.md` - 在 ACTIVE-TASKS.md 中添加一行 - 归档：将 `projects/任务名/` 移至 `projects/_archive/`，从 ACTIVE-TASKS.md 删除，添加到 `CLOSED-TASKS.md` 4. **不需要更新的情况** — 纯闲聊、信息查询、无涉及活跃任务时，跳过此步骤 ### 🔍 处理项目任务时：先检查是否有同名任务 当用户提到一个项目/任务名称时，**先在 ACTIVE-TASKS.md 中搜索同名任务**： - 如果找到 → 读对应 `progress.md`，从断点继续 - 如果没找到 → 视为新任务，创建 `projects/任务名/progress.md` 并更新 ACTIVE-TASKS.md - 如果不确定是否是旧任务，**先问用户确认** ### 📝 progress.md 必须包含以下 5 个部分 1. **基本信息** — 项目名、编号、截止日期、相关文件路径 2. **进度检查清单** — 用 checkbox 列出所有步骤，标明当前在哪步 3. **关键决策与规则** — 已做出的决定、必须遵守的规则 4. **文件位置** — 相关文件的路径 5. **下次开始时需要知道的** — 用人类语言写给未来自己的备忘录（3-5 条） ``` ### 第 3 步：配置心跳兜底（可选） 在 `HEARTBEAT.md` 中添加： ```markdown ### 任务健康检查（每 2-3 次心跳触发一次） - 读取 ACTIVE-TASKS.md，检查所有活跃任务 - 对超过 7 天未更新的任务 → 提醒 - 检查是否有任务的截止日期在 3 天内 → 紧急提醒 ``` ## 文件结构 ``` ~/.openclaw/workspace/ ├── ACTIVE-TASKS.md # 任务索引（所有活跃任务） ├── CLOSED-TASKS.md # 已归档任务 ├── AGENTS.md # 包含任务管理规则 ├── HEARTBEAT.md # 心跳检查规则 └── projects/ └── 任务名/ └── progress.md # 单个任务的进度文件 ``` ## 实际效果 - **第 1 天**：在 thread A 讨论某个项目，做到一半 - **第 10 天**：在 thread B 说「继续做那个项目」 - **Agent**：读 ACTIVE-TASKS.md → 找到任务 → 读 progress.md → 知道截止日期、已完成步骤、下一步 → 继续 ## 评分 改进前：7/10 → 改进后：8.5/10 ## 许可证 MIT-0（自由使用、修改、分发）

path: examples/example-progress.md
content: # 示例项目 - 进度

## 基本信息
- **项目**：某产品市场调研报告
- **编号**：PROJ-2026-001
- **截止日期**：2026-04-15
- **Discord频道**：#市场调研

## 进度检查清单
- [x] 收集竞品数据（3月28日完成）
- [x] 用户访谈（5人，3月29日完成）
- [ ] 撰写报告初稿 ← **当前步骤**
- [ ] 内部评审
- [ ] 提交终稿

## 关键决策与规则
- **报告格式**：PDF，不超过20页
- **数据来源**：仅使用公开数据和访谈记录
- **评审流程**：先内部评审，再提交

## 文件位置
- 竞品数据：`data/competitors.xlsx`
- 访谈记录：`data/interviews/`
- 报告模板：`templates/report-template.docx`

## 下次开始时需要知道的
1. 竞品数据已收集完毕，5家主要竞品的优劣势已整理
2. 用户访谈完成5人，核心痛点是「价格不透明」和「响应速度慢」
3. 下一步是撰写报告初稿，重点写竞品对比和用户需求分析
4. 报告截止4月15日，还有17天

---
Created: 2026-03-29
Last updated: 2026-03-29


path: templates/ACTIVE-TASKS.md
content: # ACTIVE-TASKS.md - 活跃任务索引

> 本文件是所有进行中任务的总索引。每个会话开始时，先读此文件了解当前有哪些任务在进行中。

| 任务名 | 别名/关键词 | 项目目录 | 状态 | 上次更新 | 下一步 |
|--------|------------|---------|------|---------|--------|
| （示例）项目名称 | 关键词1, 关键词2 | `projects/项目名/` | 进行中 | 2026-01-01 | 具体下一步动作 |

---

## 任务状态定义

- **进行中** — 正在执行，有明确的下一步
- **暂停** — 等待外部输入
- **待验证** — 完成但需确认效果
- **已完成** — 结束，归档到 CLOSED-TASKS.md

## 归档规则

- 超过 **30 天**未更新的任务 → 每日复盘自动提醒确认归档
- 主动要求关闭的任务 → 立即归档（`projects/任务名/` → `projects/_archive/任务名/`，从本表删除，添加到 CLOSED-TASKS.md）

## 使用说明

- **新任务**：创建 `projects/任务名/` 目录 + `progress.md`
- **继续任务**：读取对应 `progress.md`，从断点恢复
- **任务完成**：将 `progress.md` 内容整理到 `memory/YYYY-MM-DD.md`，更新索引

---
Created: YYYY-MM-DD


path: templates/CLOSED-TASKS.md
content: # CLOSED-TASKS.md - 已归档任务

> 本文件记录所有已完成或已关闭的任务。

| 任务名 | 完成日期 | 归档原因 | 备注 |
|--------|---------|---------|------|
| （示例）项目名称 | 2026-01-01 | 已完成 | 相关内容已整理到 memory/ |

---

## 归档原因分类

- **已完成** — 任务目标达成
- **用户关闭** — 主动要求关闭
- **超期归档** — 30 天未更新，经确认后归档
- **合并** — 并入其他任务

---
Created: YYYY-MM-DD


path: templates/progress.md
content: # {项目名称} - 进度

## 基本信息
- **项目**：
- **编号**：
- **截止日期**：
- **相关文件路径**：

## 进度检查清单
- [ ] 步骤 1
- [ ] 步骤 2 ← **当前步骤**
- [ ] 步骤 3

## 关键决策与规则
- 

## 文件位置
- 文件 1：`path/to/file`

## 下次开始时需要知道的
1. 
2. 
3. 

---
Created: YYYY-MM-DD
Last updated: YYYY-MM-DD


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)