Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add cafe3310/public-agent-skills --skill obsidian-knowledge-filtergit clone --depth 1 https://github.com/cafe3310/public-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/cafe3310/public-agent-skills/obsidian-knowledge-filter)<a href="https://agentmods.dev/skills/cafe3310/public-agent-skills/obsidian-knowledge-filter"><img src="https://agentmods.dev/badge/skills/cafe3310/public-agent-skills/obsidian-knowledge-filter/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cafe3310/public-agent-skills/obsidian-knowledge-filter"><img src="https://agentmods.dev/badge/skills/cafe3310/public-agent-skills/obsidian-knowledge-filter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00024 | $0.01470 |
| Opus 5 | $0.00012 | $0.00735 |
| Sonnet 5 | $0.00005 | $0.00294 |
| Haiku 4.5 | $0.00002 | $0.00147 |
Grade A, and why
obsidian-knowledge-filter scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
技能: 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_path 和 line_ranges 提取相应的内容。
-
内容清理: 在提取内容后,脚本会执行以下三项自动清理:
- 合并换行: 将连续的多个换行符合并为一个。
- 移除加粗: 删除所有的 Markdown 加粗标记 (
**)。 - 移除图片: 删除所有的 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 采用分块「读取-分析-写出」循环模式:
- 分块读取: Agent 以 1000 行为单位,逐块读取
002_content.yaml文件;例如,第一次会读取 1-1000 行。 - 综合分析: 针对刚才读取的 整个内容块(其中可能包含多个文件片段),Agent 在内部进行一次性综合分析,提炼出所有与用户任务相关的洞察、观点和联系。
- 单次写入: Agent 将 2 产生的分析洞察,一次性地追加写入到
003_content_analysis.md文件中,清晰地标注每个洞察来源于哪个文件。 - 循环执行: 跳到 1 继续下一块,直到处理完所有内容块。
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 114 lines · 24 tokens per session scan A f0bc109142e8
obsidian-knowledge-filter is a skill published in the GitHub repository cafe3310/public-agent-skills (253 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 24 tokens to every session and 1,470 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
memory-init
Scaffold a project-local memory directory and AGENTS.md guidance for reusable agent knowledge. Use when a user wants to initialize .agents/memories/ or another project memory path so future agents can read and maintain durable project context.
paleo-auto
Use when you want automatic token-saving without manual skill selection. Auto-detects long sessions (>15 turns), high token usage, or bulky context — then auto-enables paleo + paleo-trim-context + paleo-converse + paleo-budget at safe defaults. User does not need to think about which skill is active. Off: "disable…
paleo-trim-context
Use when context window is large / token cost high / long session. Proactively trim, summarize, or drop stale content to save context tokens without losing the task state.
paleo-converse
Use when user says "compress conversation", "condense chat", "summarize history", "too long context", or a session has many old turns. Condense prior conversation turns into a tight summary, merge near-duplicate messages, keep the last N turns verbatim. Saves context tokens without losing task state. Off: "stop…
firstsun-harness
Build, audit, and improve harnesses that make AI coding agents reliable: AGENTS.md/CLAUDE.md instruction files, feature/state tracking, verification gates, scope boundaries, session lifecycle, memory persistence, context budgets, tool-permission safety, and multi-agent coordination. Use this whenever a coding agent is…
rem-sleep
Memory consolidation and defragmentation for long-term memory maintenance. Use when asked to consolidate memories, defrag memory, run REM sleep, clean up memory files, or process session logs into durable memory. Also use periodically during heartbeats for memory maintenance.