obsidian-knowledge-filter

此技能通过一个分阶段的工作流,从知识库目录中检索、筛选和提取相关知识。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "obsidian-knowledge-filter" with this command: npx skills add cafe3310/public-agent-skills/cafe3310-public-agent-skills-obsidian-knowledge-filter

技能: Obsidian 知识筛选器 (Obsidian Knowledge Filter)

描述

此技能旨在从由大量 Markdown 文件组成的知识库(例如 Obsidian Vault)中,通过一个精确且分阶段的工作流,进行知识的检索、筛选和提取。它采用带编号前缀的 YAML 和 Markdown 文件来管理每一步的中间数据,并在每个关键步骤暂停以供用户审阅,确保最终产出的内容高度相关且无重复。

核心理念: 此技能的目标是在用户的指导下,通过一系列独立的脚本和分析步骤,精确地从知识库中提炼与特定主题相关的信息,并通过结构化的方式呈现,最终形成综合分析报告。

何时使用

当用户请求您通过查找、关联和综合分散在个人知识库中的信息来解决复杂问题时,请使用此技能。此工作流特别适用于需要高精度、希望减少冗余信息并全程参与筛选过程的场景。

工作流程

该过程分为四个主要阶段,每个阶段都以用户审阅为节点。

阶段 1: 关键词搜索与分析

步骤 1.1: 运行分析脚本 001_analyze_files.py

此脚本递归地在指定目录中搜索所有 .md 文件,并执行以下操作:

  • 文件排除: 自动跳过任何路径中包含 tmp-, _attachments, 或 .trash 的文件/目录。

  • 关键词分析: 查找包含指定关键词的文件,记录每个关键词的出现频率。

  • 上下文合并: 将包含关键词的行的上下文(默认为前后 10 行)合并成连续的行号区间。

  • 输出: 在一个新建的 tmp-YYYY-MM-DD-HH-MM-SS-analysis/ 临时目录中,生成 001_analysis.yaml


001_analysis.yaml 格式详解: 这是一个 YAML 文件,包含一个文件信息对象的列表。每个对象都具有以下结构:

- file_path: '文件夹/2025-12-29-示例文件.md'  # 相对于当前工作目录的路径
  keyword_counts:
    - word: '关键词1'
      count: 5
    - word: '关键词2'
      count: 2
  line_ranges:
    - [10, 30]   # 第一个内容提取区间
    - [45, 65]   # 第二个内容提取区间

步骤 1.2: 用户审阅分析文件

Agent 暂停并请求用户审阅 001_analysis.yaml,用户可手动编辑此文件以增删文件或修改行号区间。

阶段 2: 内容提取与清理

步骤 2.1: 运行提取脚本 002_extract_content.py

用户确认后,此脚本会读取 001_analysis.yaml,并根据其中的 file_pathline_ranges 提取相应的内容。

  • 内容清理: 在提取内容后,脚本会执行以下三项自动清理:

    1. 合并换行: 将连续的多个换行符合并为一个。
    2. 移除加粗: 删除所有的 Markdown 加粗标记 (**)。
    3. 移除图片: 删除所有的 Markdown 图片链接 (![[...]])。
  • 输出: 在同一个临时目录中,生成 002_content.yaml,其结构与 001_analysis.yaml 类似,但每个对象都增加了一个 content 字段。


002_content.yaml 格式详解:

- file_path: '文件夹/2025-12-29-示例文件.md'
  keyword_counts:
    # ... (同上)
  line_ranges:
    # ... (同上)
  content: "这是从文件中提取并清理后的文本内容...\n..."

步骤 2.2: 用户审阅内容文件

Agent 再次暂停,请求用户审阅 002_content.yaml,确保提取和清理后的内容符合预期。

阶段 3: 内容洞察综合

步骤 3.1: Agent 进行分块综合分析

用户确认后,Agent 开始对 002_content.yaml 进行智能分析。为提升效率并保证分析的连贯性,Agent 采用分块「读取-分析-写出」循环模式:

  1. 分块读取: Agent 以 1000 行为单位,逐块读取 002_content.yaml 文件;例如,第一次会读取 1-1000 行。
  2. 综合分析: 针对刚才读取的 整个内容块(其中可能包含多个文件片段),Agent 在内部进行一次性综合分析,提炼出所有与用户任务相关的洞察、观点和联系。
  3. 单次写入: Agent 将 2 产生的分析洞察,一次性地追加写入到 003_content_analysis.md 文件中,清晰地标注每个洞察来源于哪个文件。
  4. 循环执行: 跳到 1 继续下一块,直到处理完所有内容块。

这种方法避免了逐条分析的低效与碎片化,确保了分析过程的流畅性和上下文关联性。

  • 输出: 003_content_analysis.md,其中包含了对所有文件片段的综合洞察。

步骤 3.2: 用户审阅洞察文件

Agent 完成所有内容块的分析后,暂停并请求用户审阅最终生成的 003_content_analysis.md,确认洞察的准确性和深度。

阶段 4: 最终报告合成

步骤 4.1: Agent 生成最终报告

在用户完成最终审阅后,Agent 将以 003_content_analysis.md 为素材,撰写一份逻辑连贯、结构清晰的最终报告。

  • 输出: 004_report.md

步骤 4.2: 提交结果

Agent 向用户提交最终的 04_report.md 报告。

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

content-research-writer

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

weekly-report-writer

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

project-learner

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

im-local-kb

No summary provided by upstream source.

Repository SourceNeeds Review