# Obsidian Todo Collector

> 从 Obsidian 知识库中扫描指定时间范围内未完成事件，生成/更新未完成事件整理文档

- **Type:** Skill
- **Install:** `agentstack add skill-cafe3310-public-agent-skills-obsidian-todo-collector`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [cafe3310](https://agentstack.voostack.com/s/cafe3310)
- **Installs:** 0
- **Category:** [Productivity](https://agentstack.voostack.com/c/productivity)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [cafe3310](https://github.com/cafe3310)
- **Source:** https://github.com/cafe3310/public-agent-skills/tree/main/skills_parked/obsidian-todo-collector

## Install

```sh
agentstack add skill-cafe3310-public-agent-skills-obsidian-todo-collector
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Obsidian 未完成事件整理

此技能用于在指定时间范围内，从 Obsidian 笔记中提取并汇总所有未完成的事件和规划性事项，生成一个统一的「未完成事件整理」文档，便于后续跟踪和管理。

## 处理流程

按照以下步骤执行：

### 步骤1 - 确定范围与目标
- **输入**：用户指定的时间范围。仓库文档文件名前面必然是 YYYY-MM-DD(-hh)，可以以通过文件名来筛选出指定时间范围内的文档。
- **目标文档**：新建名为 `YYYY-MM-DD-HH 📅 未完成事件整理.md` 的文档。该文档的结构是

```md
## 文档生成说明
- 生成原因：整理指定时间范围内的未完成事件，便于后续跟踪和管理。
- 时间范围：{{时间范围}}

## 当前状态
所有待处理文档列表：
- [ ] {{待处理文档列表，每个文档使用 [[文件名]] 链接，处理完成后更新为已完成 [x] 状态}}

## 未完成事件列表
{{未完成事件列表，每个都是 ### 🟥 名称。若已经完成，则更新为 ### 🟩 名称}}

## 未完成规划性事项列表
{{未完成规划性事项列表，每个都是 ### 🟥 名称，若已经完成，则更新为 ### 🟩 名称}}
```

当前状态部分要在下面的循环中实时更新，显示已经处理到哪个日期的文档，以及剩余待处理的文档列表。

其中，「未完成事件」和「未完成规划性事项」的每一项都使用三级标题（###）进行标注，便于在文档中清晰展示。

「未完成事件」指的是具体工作，包括计划的、正在进行中的、未完成的任务。每个事件都应该包含以下信息：
- 名称
- 出现在哪些文档（可能是多份文档列表）
- 当前状态

「未完成规划性事项」指的是更加抽象的规划性事项，例如项目规划、战略规划等，虽然没有具体的截止日期，但仍然需要跟踪和管理。每个规划性事项也应该包含以下信息：
- 名称
- 出现在哪些文档（可能是多份文档列表）
- 当前状态

### 步骤2 - 处理主循环

执行下列循环，以依次处理「未完成事件整理」文档「当前状态」中的每个文档：

步骤2.1. 确定当前批次的「当前文档」：从未完成处理的文档中取出一批，每批最多 3 个文件。

步骤2.2. 预检该批文档：使用 Skill 提供的 Python 脚本进行预检，确保文档符合处理条件。
    ```bash
    python3 scripts/pre_check.py [file] ... --lines 15
    ```

步骤2.3. 通过上述命令的结果，判断
    - 文档是否属于「文档摘录」，「语音转写」这两种
    - 或文档是否太大（超过 64KB）或太长（超过 1000 行）
    如果是，使用 Ask User，询问用户是否跳过（默认选项是跳过）。
    如果用户选择跳过，进入下一个文档的处理。

步骤2.4. 阅读文档全文。关注以下内容：
    - 是否包含未完成事件或工作（尤其是以 🟥 标记的未完成事项）。
    - 是否包含未完成规划性事项（尤其是以 🟥 标记的未完成规划性事项）。
    - 如果包含，提取相关信息（事情描述；出现的文档；当前状态），并将其添加到「未完成事件整理」文档的相应部分。无须过度处理信息，保持原文的描述即可。
    - 如果文档中提及的事项显然已经完成（例如，以 🟩 标记），则更新「未完成事件整理」文档中该事项的状态为完成（🟩）。如果不确定是否完成，可以保留原状态（🟥），以便后续跟踪。

步骤2.5. 对「未完成事件整理」文档用多次批量编辑的方式，更新 未完成事件列表 和 未完成规划性事项列表，并编辑状态有更新的事项。**注意，必须要更新待办事项部分**。

步骤2.6. 在更新了待办事项之后，更新「未完成事件整理」文档的「当前状态」部分，给已经处理完成的文档打已完成 [x] 。这样可以清晰地知道已经处理了哪些文档，哪些文档还未处理。

步骤2.7. 跳回 步骤2.1（确定当前批次的「当前文档」），继续处理下一批文档，直到处理完指定时间范围内的所有文档。

## 编写要求

- 描述平实、清晰、直接。尽量摘录原始内容，保持原汁原味。
- 用链接 `[[target-doc]]` 引用来源，确保可追溯性。
- 编辑文件的时候，用多次批量 `replace` 工具进行增量更新，禁止使用 `write_file` 全量覆盖，以确保不会误删之前已经记录的内容。
- 编辑文件时，倾向于「追加更新」而不是修改已有内容。我会自己判断每个事项的最终状态。
- 对于「未完成事件整理」文档，在你不确定内容时，尽量先读再写。我会在合适时机 compress 或断点续传，你无须节省 token。
- 如果断点续传，在读取「未完成事件整理」的全文之后，直接从「处理主循环」开始。
- 必须在每一批文件处理后，更新文档中的待办和规划待办。不要提前看下一批文件，即使内容相关。你必须按照批次处理，逐步更新文档。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [cafe3310](https://github.com/cafe3310)
- **Source:** [cafe3310/public-agent-skills](https://github.com/cafe3310/public-agent-skills)
- **License:** Apache-2.0

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-cafe3310-public-agent-skills-obsidian-todo-collector
- Seller: https://agentstack.voostack.com/s/cafe3310
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
