# Smart Todo

> 智能代办管理 Skill。用于管理日常任务和代办事项，支持优先级标记(P0-P1)、 状态跟踪、智能重复检测、上下文保存、定时提醒等功能。 当用户需要添加、查看、更新代办，或检测到工作中断时自动使用。

- Skill: `lord1egypt/smart-todo` (Agent Skill)
- Install (CLI): `npx skillmds@latest add lord1egypt/smart-todo`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lord1egypt/smart-todo/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: Lord1Egypt (https://skillmd.com/u/lord1egypt)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/lord1egypt/smart-todo

---


# Smart Todo Manager

## 功能概述

智能代办管理系统，提供以下核心能力：

| 功能 | 说明 |
|------|------|
| **优先级管理** | P0(最高)、P1(普通) |
| **状态跟踪** | 未开始、进行中、已完成、暂停、终止 |
| **智能重复检测** | 名称+描述双维度，80%相似度阈值 |
| **上下文保存** | 自动捕获工作文件、对话历史、任务状态 |
| **定时提醒** | 20分钟间隔状态汇报，P0超时提醒 |
| **自动归档** | 已完成/终止代办自动转移到归档文件 |

## 触发条件

### 显式触发
用户明确表达添加代办意图：
- "加入代办：修复登录bug"
- "记一下，明天要开会"
- "添加到待办"
- "创建代办任务"

### 查询触发
用户询问代办状态：
- "查看我的代办"
- "待办列表"
- "有什么待办"
- "P0 代办有哪些"

### 工作中断触发
检测到用户切换任务意图：
- "先放下这个"
- "换个事"
- "等一下"
- "先做别的"
- "转移注意力"

**中断处理流程**：
1. 捕获当前任务上下文（打开文件、对话历史、任务状态）
2. 询问用户："检测到任务切换，是否为当前任务创建代办？"
3. 如确认，创建包含完整上下文的代办
4. 如拒绝，仍静默保存上下文供后续参考

## 工作流程

### 流程1：添加代办

```
1. 解析用户输入
   └─ 提取任务核心内容
   
2. 生成简略名称（≤10字）
   └─ 示例："修复登录API超时问题" → "修复登录超时"
   
3. 确认理解
   └─ 与用户对话确认任务理解正确
   └─ 记录确认后的理解内容
   
4. 捕获上下文
   └─ 当前打开的文件
   └─ 最近的文件修改
   └─ 对话历史（最近10条）
   └─ 当前任务目标
   
5. 重复检测
   └─ 名称相似度 >=70% 或 描述相似度 >=80%?
   └─ 任一满足 → 触发重复警告
   
6. 用户确认
   ├─ 无重复 → 直接创建
   └─ 有重复 → 询问：合并/新建/取消
   
7. 保存代办
   └─ 写入 active.md
   └─ 更新统计信息
```

### 流程2：重复检测

**检测逻辑**（OR 组合，任一维度触发即报警）：
```python
if similarity(name_new, name_existing) >= 0.7 or \
   similarity(desc_new, desc_existing) >= 0.8:
    trigger_duplicate_warning()
```

> 名称阈值 70%（中文相似词匹配较松）、描述阈值 80%
> 均可在 config.json 中调整

**用户提示**：
```
⚠️ 检测到相似代办:

现有代办 [T003] P0 修复登录超时
- 描述: 用户登录API返回超时，需优化数据库查询
- 相似度: 名称 85%, 描述 90%

你的新代办是否与此相同?
[是，合并] [否，新建] [查看详情] [取消]
```

### 流程3：状态更新

**状态流转图**：
```
未开始 ──→ 进行中 ──→ 已完成 ✓ (归档)
   ↑         ↓
   └──── 暂停 ─┘
              ↓
            终止 ✓ (归档)
```

**归档规则**：
- 状态变为"已完成" → 移动到 archive.md，记录完成时间
- 状态变为"终止" → 移动到 archive.md，记录终止原因

### 流程4：定时提醒

**触发时机**：每次会话开始时检查

**提醒内容**：
```
📋 代办状态更新 (距上次 25 分钟)

活动代办: 5 个
├─ P0: 2 个 (⚠️ 1个已超时)
└─ P1: 3 个

⚠️ P0 代办提醒:
[T001] 修复支付接口 - 进行中 (已 1.5 小时)
建议: 是否需要帮助或调整优先级?

快捷操作:
- "标记 T001 完成"
- "暂停 T001"
- "查看详情"
```

## 文件结构

```
D:\knowledge\代办\
├── active.md           # 活动代办
├── archive.md          # 归档代办
└── config.json         # 用户配置（可选覆盖）
```

### active.md 格式

```markdown
# 活动代办列表

## 统计
- 总计: 3
- P0: 1
- P1: 2
- 进行中: 1
- 未开始: 1
- 暂停: 1

## 代办列表

### [T001] P0 修复登录超时
**状态**: 进行中
**创建时间**: 2026-03-31 10:00:00
**更新时间**: 2026-03-31 14:30:00
**预估时间**: 60分钟

**原始描述**:
用户反馈登录经常超时，需要排查是数据库问题还是网络问题

**确认理解**:
优化登录接口性能，目标响应时间 < 500ms

**上下文**:
捕获时间: 2026-03-31 10:05:00

【当前目标】
优化登录接口性能

【打开的文件】
  - src/api/auth.py
  - src/db/connection.py

【最近文件】
  - config/database.yml
  - tests/test_auth.py

【对话摘要】
  > 用户: 登录超时问题需要处理
  > 助手: 已记录，建议先检查数据库连接池

【备注】
工作中断 | 原因: 需要紧急处理支付bug

**标签**: #bug #性能优化

---

### [T002] P1 编写API文档
...

---
最后更新: 2026-03-31 15:00:00
```

## 配置选项

`assets/config.json`：

```json
{
  "storage_path": "D:\\knowledge\\代办",
  "notification_interval_minutes": 20,
  "similarity_threshold": 0.8,
  "max_name_length": 10,
  "context_lines_from_history": 10,
  "p0_alert_threshold_hours": 1
}
```

| 配置项 | 说明 | 默认值 |
|--------|------|--------|
| storage_path | 代办文件存储路径 | D:\knowledge\代办 |
| notification_interval_minutes | 提醒间隔（分钟） | 20 |
| similarity_threshold | 重复检测阈值 | 0.8 |
| max_name_length | 简略名称最大长度 | 10 |
| context_lines_from_history | 保留对话历史条数 | 10 |
| p0_alert_threshold_hours | P0超时提醒阈值（小时） | 1 |

## 使用示例

### 添加代办

**用户**: "加入代办，修复登录超时问题，用户反馈登录经常卡住"

**助手**:
```
已理解，创建代办：

简略名称: 修复登录超时 (8字)
优先级: P1 (默认)
预估时间: 20分钟 (默认)

确认理解：
用户登录接口响应慢，需要排查性能问题并优化

是否正确？
[正确，保存] [修改名称] [修改优先级] [取消]
```

### 检测到重复

**用户**: "加入代办，修复登录问题"

**助手**:
```
⚠️ 检测到相似代办:

现有代办 [T001] P0 修复登录超时
- 描述: 用户反馈登录经常超时...
- 相似度: 名称 90%, 描述 85%

操作选项:
1. 合并 - 更新现有代办
2. 新建 - 这是不同的问题
3. 查看 - 显示现有代办详情
4. 取消
```

### 工作中断检测

**用户**: "先放下这个，我去处理支付bug"

**助手**:
```
检测到任务切换。

当前任务: 修复登录超时 (进行中)
已耗时: 30分钟
打开文件: src/api/auth.py, src/db/connection.py

是否为当前任务创建代办以保存进度？
[是，保存上下文] [否，继续] [稍后提醒]
```

### 查看代办

**用户**: "查看代办"

**助手**:
```
📋 代办列表 (3个活动)

P0 (1):
├─ [T001] 修复登录超时 - 进行中 (30分钟)

P1 (2):
├─ [T002] 编写API文档 - 未开始
└─ [T003] 更新依赖包 - 暂停

操作: "查看 T001" / "完成 T002" / "全部详情"
```

## 边界情况处理

| 场景 | 处理方式 |
|------|----------|
| 名称超过10字 | 自动截断并提示用户 |
| 重复检测冲突 | 显示相似代办，等待用户选择 |
| P0超时未更新 | 主动提醒，询问是否需要帮助 |
| 上下文捕获失败 | 记录失败原因，继续创建代办 |
| 存储路径不存在 | 自动创建目录 |
| 文件解析错误 | 备份原文件，重新初始化 |

## 实现依赖

- `scripts/todo_manager.py` - 核心CRUD和重复检测
- `scripts/context_capture.py` - 上下文捕获
- `assets/config.json` - 配置
- `references/todo_template.md` - 模板参考

## 版本

v1.0.0 - 初始版本
- 基础CRUD功能
- 重复检测
- 上下文捕获
- 自动归档

