obsidian-auto-classifier
Skill19 starsChanged 5 months agoMITView on GitHub
Intelligently organize and categorize Markdown notes within an Obsidian vault. This skill leverages Obsidian MCP tools to analyze the vault's current folder structure and note content, ensuring new or misplaced notes are moved to their most contextually appropriate locations (e.g., PARA, Zettelkasten, or custom taxonomies).
In this repository14 other files it gives its agents.
- good-questionSkill
- knowledge-distillation-from-discussionSkill
- mao-semantic-searchSkill
- markdown-to-htmlSkill
- markitdown-convertSkill
- notion-to-markdownSkill
- obsidian-batch-yamlSkill
- obsidian-semantic-searchSkill
- paper-code-auditSkill
- paper-deep-readerSkill
- paper-finderSkill
- paper-quick-readSkill
- tech-doc-writingSkill
- weekly-report-generatorSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. About 0 are common, 5 are distinctive, and 10 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Action: Call list_directory starting from the root (/) to identify top-level folders (e.g., 00 Inbox, 20 Areas, 30 Zettelkasten).
- Distinctive: line 19
Before moving a note, the agent must understand its "intent" and "content".
- Very specific: line 20
Action: Call read_note for the target file in the inbox or source folder.
- Very specific: line 22
Frontmatter: Look for tags, category, project, or alias.
- Distinctive: line 23
Content Analysis: Check for keywords, wiki-links to existing projects, or specific templates (e.g., Meeting Notes vs.
- Very specific: line 24
Contextual Search: Use search_notes with the note's primary topic to see where similar notes are currently stored.
- Very specific: line 34
After moving a note, the agent MUST update the relevant Map of Content (MOC) in 30 Zettelkasten/33 Maps of Content/.
- Very specific: line 35
Action: Read the MOC file that corresponds to the note's domain (e.g., MOC-Reinforcement Learning.md for RL papers, MOC-Robotics and …
- Distinctive: line 38
New Section: If no existing section fits, create a new one following the MOC's heading convention.
- Distinctive: line 39
Cross-MOC: If the note spans multiple domains, add it to all relevant MOCs.
- Very specific: line 42
Move: Use move_note (via MCP) or Move-Item (via Shell) to relocate the note.
- Very specific: line 43
Cleanup: If the note was moved from a temporary folder (like 00 Inbox), confirm the source is clean.
- Distinctive: line 44
MOC Update: Ensure the corresponding Map of Content has been updated (see Section 4).
- Very specific: line 55
MCP Priority: Always use list_directory and read_note via the Obsidian MCP first to ensure you are working with the real-time state of the …
- Very specific: line 56
No Hallucination: Do not assume folder names (e.g., Archives vs 50 Archive).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Obsidian Auto Classifier (MCP-Powered)
This skill provides an intelligent workflow for maintaining a clean and organized Obsidian vault by leveraging Model Context Protocol (MCP) tools for real-time vault analysis.
Categorization Workflow
1. Structure Discovery (via Obsidian MCP)
The agent must use MCP tools to map the vault's existing organizational logic.
- Action: Call
list_directorystarting from the root (/) to identify top-level folders (e.g.,00 Inbox,20 Areas,30 Zettelkasten). - Deep Scan: For folders like
30 Zettelkastenor40 Resources, calllist_directoryon subfolders to understand the nested hierarchy. - Logic: Identify if the vault follows PARA, Zettelkasten, Johnny.Decimal, or a custom system.
2. Note Analysis
Before moving a note, the agent must understand its "intent" and "content".
- Action: Call
read_notefor the target file in the inbox or source folder. - Key Indicators:
- Frontmatter: Look for
tags,category,project, oralias. - Content Analysis: Check for keywords, wiki-links to existing projects, or specific templates (e.g., Meeting Notes vs. Paper Summaries).
- Contextual Search: Use
search_noteswith the note's primary topic to see where similar notes are currently stored.
- Frontmatter: Look for
3. Smart Classification Decisions
Compare the note's profile against the discovered taxonomy:
- Daily/Periodic: Move to
00 Daily NotesorLog(often sorted by year/month). - Slipbox/Zettel: Move to
31 Literatureor32 Permanentbased on depth and source citations. - Projects/Areas: Move based on active project names found in the text.
- Archive: Move finalized research, completed project logs, or legacy notes to
50 Archive.
4. MOC Synchronization
After moving a note, the agent MUST update the relevant Map of Content (MOC) in 30 Zettelkasten/33 Maps of Content/.
- Action: Read the MOC file that corresponds to the note's domain (e.g.,
MOC-Reinforcement Learning.mdfor RL papers,MOC-Robotics and Embodied AI.mdfor robotics). - Add Entry: Insert the note as a wikilink with a brief one-line description under the appropriate section heading.
- Format:
- [[Note Filename|Short Alias]]: One-sentence description of the note's contribution. - New Section: If no existing section fits, create a new one following the MOC's heading convention.
- Cross-MOC: If the note spans multiple domains, add it to all relevant MOCs.
5. Verified Execution
- Move: Use
move_note(via MCP) orMove-Item(via Shell) to relocate the note. - Cleanup: If the note was moved from a temporary folder (like
00 Inbox), confirm the source is clean. - MOC Update: Ensure the corresponding Map of Content has been updated (see Section 4).
- Metadata Update: (Optional) Call
update_frontmatterto reflect the new category or update themodifiedtimestamp.
Example Obsidian Triggers
- "整理一下我的
00 Inbox,把笔记归位。" (Organize my inbox and put notes back in their place.) - "把这个 Zettel 笔记放到我的 Slipbox/Literature 里。" (Move this Zettel note into my Slipbox/Literature.)
- "识别这个笔记的内容,看看它属于哪个项目文件夹。" (Identify the content of this note and see which project folder it belongs to.)
- "我刚写了一篇论文综述,把它存到合适的文献库位置。" (I just wrote a paper review, save it to the appropriate literature library location.)
- "扫描我的 Daily Notes,把其中关于 'Robotics' 的内容提取或移动到资源库。" (Scan my Daily Notes and extract or move content about 'Robotics' to the Resources library.)
Note for Agents
- MCP Priority: Always use
list_directoryandread_notevia the Obsidian MCP first to ensure you are working with the real-time state of the vault. - No Hallucination: Do not assume folder names (e.g.,
Archivesvs50 Archive). Always verify path existence before moving. - Link Integrity: Be aware that moving notes might affect internal links. Obsidian usually handles this, but verify if the user's settings require manual link updates.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

