MCPInstall

obsidian-organizer

File notes into the right folder in the user's Obsidian vault and audit/reorganize its structure, via the obsidian CLI and the 00Index/FolderMap.md map note. Use when a note needs filing, when the user asks where a note belongs, or wants to tidy, deduplicate, audit, or restructure folders. Requires the Obsidian app to be running.

Installs
1.8K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/agents365-ai/365-skills --skill obsidian-organizer
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads obsidian-organizer automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Obsidian Organizer

Keep a large Obsidian vault tidy over time by (1) filing new notes into the best-fit folder and (2) auditing/reorganizing existing structure. Both modes lean on one shared idea: a plain-markdown map of "what goes where" that lives inside the vault so it never drifts out of sync with reality.

This skill drives the obsidian CLI (from the separate obsidian-cli skill), which talks to the live, running Obsidian desktop app. The app must be open. If a command fails with a connection/vault error, tell the user to open Obsidian rather than guessing.

Why the map lives in the vault (read this first)

Deciding a folder for every new note by re-listing ~650 folders is expensive and guesses drift. Copying the folder taxonomy into Claude's private memory creates a worse problem: a stale copy that silently disagrees with the real vault.

The fix is one file, 00_Index/Folder_Map.md, checked into the vault itself. It is the single source of truth for filing decisions. Read it with one cheap call before you file or reorganize — do not re-run a full obsidian folders traversal unless the map is missing or the user asks you to rebuild it.

obsidian read path="00_Index/Folder_Map.md"

It is deliberately plain markdown (headers + bullets, no required frontmatter) so both you and the human can append to it by hand as new categories emerge. When you create a new folder/category, add a line to this file so the next filing decision remembers it.

If the map does not exist (deleted, or a fresh vault), rebuild it from the live vault, not from a copy stashed in this skill — a bundled copy would drift from reality, which is the whole failure this file exists to prevent. List the real structure with obsidian vault="MyVault" folders (and folders folder=... for depth), draft a plain-markdown map grouped by top-level PARA folder with a short "what goes here" note per folder plus a filing rule-of-thumb, confirm the groupings with the user, then create it: obsidian vault="MyVault" create path="00_Index/Folder_Map.md" content="...".

Vault targeting

MyVault above is a placeholder — substitute the user's actual vault name everywhere. If the user has more than one vault, target the intended one explicitly on every command so a stray "most recently focused vault" default cannot misfile a note:

obsidian vault="MyVault" read path="00_Index/Folder_Map.md"

vault= must be the first parameter. This is the only vault-specific value in the skill — everything else comes from the vault's own Folder_Map.md.

The one hard safety rule: never touch vault files with raw shell

When you relocate or rename a file, always use the CLI's own move / rename commands. These go through Obsidian's API, so Obsidian's built-in "automatically update internal links" behavior rewrites every wikilink and backlink across the vault to follow the moved file. A raw mv, rm, rmdir, or find -delete on a path inside the vault skips that repair and silently leaves broken links pointing at the old location.

So, for anything under the vault directory:

  • Move/rename → obsidian move ... or obsidian rename ...
  • Delete → obsidian delete ... (sends to trash unless permanent)
  • Never use Bash mv / rm / rmdir / find -delete on vault-internal paths.

Reading a file's bytes with a non-mutating tool is fine; mutating vault files is CLI-only.


Mode 1 — File a note

Goal: given a note (an existing path, or a title + content you're about to write), put it in the single best-fit folder.

  1. Read the map once: obsidian vault="MyVault" read path="00_Index/Folder_Map.md".
  2. Match the note's topic to a destination using the map's filing rules. Favor an existing specific subfolder over a general one (e.g. a Seurat how-to goes to 03_Research_Knowledge/Bioinformatics/seurat/, not a generic bucket).
  3. Act on the best fit:
    • A clearly matching folder exists → file it there.
      • New note: obsidian vault="MyVault" create path="03_Research_Knowledge/Bioinformatics/seurat/My Note.md" content="..." silent
      • Existing note to relocate: obsidian vault="MyVault" move path="00_Inbox/My Note.md" to="03_Research_Knowledge/Bioinformatics/seurat" (to may be a folder or a full path).
    • A rough-but-imperfect fit exists (e.g. a tool with no dedicated subfolder) → use the map's catch-all convention (e.g. Bioinformatics/misc/) and tell the user where it went.
    • No category fits well → stop and ask the user before inventing a folder. Propose a name and location; don't silently create new taxonomy.
  4. Remember new categories. When the user approves a new folder, append a line describing it under the right section of 00_Index/Folder_Map.md (obsidian append path="00_Index/Folder_Map.md" content="...") so future filing decisions know about it.
  5. Briefly report the final path.

Notes on the CLI: create makes intermediate folders as needed; add silent so it doesn't steal focus by opening the note. move's to accepts a destination folder or a full path; use rename name="New Title" to change a title in place.


Mode 2 — Audit / reorganize

Goal: given a scope (a folder path, "recent inbox notes", or an explicit request like "clean up the cellchat notes"), find problems, propose a plan, get explicit confirmation, then execute. Never move, merge, or delete in bulk silently.

Step 1 — Gather signals for the scope

Read the map first for context, then use the structural commands. Scope every list to the folder in question where the command supports it.

  • obsidian vault="MyVault" files folder="<scope>" — inventory + spot near-duplicate titles (e.g. "CellChat analysis" vs "CellChat Analysis v2").
  • obsidian vault="MyVault" orphans — notes with no incoming links (nothing links to them; candidates for filing/merging/archiving).
  • obsidian vault="MyVault" deadends — notes with no outgoing links (often stubs or captures that were never developed).
  • obsidian vault="MyVault" search:context query="<topic>" path="<scope>" — compare content of suspected near-duplicates before proposing a merge.
  • obsidian vault="MyVault" backlinks path="<file>" — before merging or deleting a note, see what links to it so you don't strand references.

There is no dedicated "duplicates" command; detect duplicates by comparing the titles from files and confirming with search:context / read.

Step 2 — Propose a plan (and wait)

Present a concrete, itemized plan and stop for confirmation. Group by action:

Proposed reorganization for Bioinformatics/cellchat/ (7 notes):

MERGE
- "CellChat analysis.md" + "CellChat analysis (1).md" → keep "CellChat analysis.md",
  fold unique content from the duplicate in, then delete the duplicate.

MOVE
- "Spatial CellChat.md" → Single_Cell/Spatial_Omics/ (topic is spatial, not the tool)

RENAME
- "untitled cellchat.md" → "CellChat LR database notes.md"

No change: 3 notes look fine.

Proceed? I won't move/merge/delete anything until you confirm.

Keep the plan honest about uncertainty — flag guesses so the user can veto them.

Step 3 — Execute only after "yes"

On confirmation, run the moves/renames/deletes through the CLI in the order that keeps links intact (usually: merge content first, then delete the emptied duplicate; move before rename if both apply). Use move, rename, delete, append/read for merges — never raw shell. Report what changed, and append any new folders/categories you created to 00_Index/Folder_Map.md.

Known standing reorg candidates

If the vault's Folder_Map.md calls out known problem areas (legacy folders that overlap a newer one, a subfolder with accumulated near-duplicate titles, etc.), surface them when they're in scope — but still propose-and-confirm before touching anything.


Command quick reference

NeedCommand
Read the mapobsidian vault="MyVault" read path="00_Index/Folder_Map.md"
Create/file a new noteobsidian vault="MyVault" create path="Folder/Note.md" content="..." silent
Move/relocate a noteobsidian vault="MyVault" move path="Old/Note.md" to="New/Folder"
Rename in placeobsidian vault="MyVault" rename path="Folder/Note.md" name="New Title"
Delete (to trash)obsidian vault="MyVault" delete path="Folder/Note.md"
List files in a folderobsidian vault="MyVault" files folder="<scope>"
Orphans / dead-endsobsidian vault="MyVault" orphans · ... deadends
Search with contextobsidian vault="MyVault" search:context query="..." path="<scope>"
Backlinks to a noteobsidian vault="MyVault" backlinks path="Folder/Note.md"
Append to the mapobsidian vault="MyVault" append path="00_Index/Folder_Map.md" content="- ..."

Run obsidian help <command> to confirm exact params — the CLI is the ground truth.

FAQ

What does the obsidian-organizer skill do?

File notes into the right folder in the user's Obsidian vault and audit/reorganize its structure, via the obsidian CLI and the 00Index/FolderMap.md map note. Use when a note needs filing, when the user asks where a note belongs, or wants to tidy, deduplicate, audit, or restructure folders. Requires the Obsidian app to be running.

How do I install obsidian-organizer?

Run npx skills add https://github.com/agents365-ai/365-skills --skill obsidian-organizer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/obsidian-organizer/ (personal) or .claude/skills/obsidian-organizer/ (project).

Which AI agents can use obsidian-organizer?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is obsidian-organizer safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains obsidian-organizer?

It is published by agents365-ai in agents365-ai/365-skills. It has 1,789 recorded installs.

More from agents365-ai/365-skills

View all →

drawio-skill

agents365-ai/365-skills

Create, edit, synchronize, inspect, test, and publish editable draw.io diagrams. Use when the user explicitly requests draw.io/diagrams.net, needs a polished architecture, ERD, UML, sequence, C4, SysML, BPMN, network, swimlane, ML, or infrastructure diagram, wants code/IaC/SQL/OpenAPI/AsyncAPI/Protobuf converted into a diagram, or wants an existing diagram queried, reviewed, diffed, restyled, kept in sync, or made interactive. Prefer Mermaid/PlantUML elsewhere when the requested artifact is diagrams-as-code rather than an editable draw.io file.

Docs & Writing9K installs

excalidraw

agents365-ai/365-skills

Use when user requests diagrams, flowcharts, architecture charts, or visualizations. Also use proactively when explaining systems with 3+ components, complex data flows, or relationships that benefit from visual representation. Generates .excalidraw files and exports to PNG/SVG via Kroki API or locally using excalidraw-brute-export-cli.

Backend & APIs4.6K installs

creating-mermaid-diagrams

agents365-ai/365-skills

Generate Mermaid diagrams (.mmd) and export to PNG/SVG/PDF using mmdc CLI or Kroki API. USE THIS SKILL when user mentions diagram, flowchart, sequence diagram, class diagram, ER diagram, state machine, architecture, visualize, git graph, 画图, 架构图, 流程图, 时序图. PROACTIVELY USE when explaining ANY system with 3+ components, API flows, authentication sequences, class hierarchies, database schemas, or state machines. Supports 11+ diagram types with fully automatic layout.

Docs & Writing4.2K installs

plantuml-skill

agents365-ai/365-skills

Use when user requests diagrams, flowcharts, sequence diagrams, class diagrams, component diagrams, ER diagrams, architecture charts, or visualizations — including generating a diagram from existing source code, or rendering/extracting PlantUML embedded in a Markdown file to images (e.g. preparing docs for Confluence/Notion). Also use proactively when explaining systems with 3+ components, APIs, data flows, or class hierarchies. Generates .puml files and exports to PNG/SVG via Kroki API (no local install required).

Docs & Writing4.1K installs

tldraw-skill

agents365-ai/365-skills

Use when user requests diagrams, flowcharts, architecture charts, or visualizations. Also use proactively when explaining systems with 3+ components, complex data flows, or relationships that benefit from visual representation. Generates .tldr JSON files and exports to PNG/SVG locally using @kitschpatrol/tldraw-cli.

paper-fetch

agents365-ai/365-skills

Use whenever the user wants to obtain, download, or fetch a paper's PDF — given a DOI, an arXiv id, a paper title, a citation, or a list of DOIs. Trigger on phrases like "download this paper", "find the PDF for [DOI]", "grab me the [Nature/bioRxiv/arXiv] paper on X", "get the open-access version", "I need this article", or any bulk/batch paper download request, even when the user doesn't explicitly say "PDF" or "DOI". Resolves via Unpaywall → Semantic Scholar → arXiv → PubMed Central → bioRxiv/medRxiv → publisher direct (institutional opt-in) → Sci-Hub mirrors as last-resort fallback.

Education & Science3.4K installs

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。