SuperAPI AI Directory

obsidian-todo-collector

General & other

View repository

Updated 10-15 17:31

About this skill

Obsidian Unfinished Events Compilation

This skill is used to extract and summarize all unfinished events and planning items from Obsidian notes within a specified time range, and generate a unified "Unfinished Events Compilation" document for subsequent tracking and management.

Processing Flow

Execute according to the following steps:

Step 1 - Determine the scope and target

  • Input: The time range specified by the user. Vault document filenames are necessarily prefixed with YYYY-MM-DD(-hh), so documents within the specified time range can be filtered by filename.
  • Target document: Create a new document named YYYY-MM-DD-HH 📅 未完成事件整理.md . The document structure is
## 文档生成说明
- 生成原因:整理指定时间范围内的未完成事件,便于后续跟踪和管理。
- 时间范围:{{时间范围}}

Current Status

List of all pending documents:

  • {{List of pending documents, each using a [[filename]] link, updated to completed [x] status after processing}}

Unfinished Events List

{{Unfinished events list, each in the form ### 🟥 Name. If already completed, update to ### 🟩 Name}}

Unfinished Planning Items List

{{Unfinished planning items list, each in the form ### 🟥 Name; if already completed, update to ### 🟩 Name}}


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

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

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

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

### 步骤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。
- 如果断点续传,在读取「未完成事件整理」的全文之后,直接从「处理主循环」开始。
- 必须在每一批文件处理后,更新文档中的待办和规划待办。不要提前看下一批文件,即使内容相关。你必须按照批次处理,逐步更新文档。