SuperAPI AI Directory

obos

General & other

View repository

Updated 10-15 22:11

About this skill

Obsidian Best Practices (obos)

An opinionated Obsidian vault management system. Core loop: collect → organize → connect → review.

Commands

Command Description
/obos save ["内容"] Quickly collect ideas into Inbox (core command)
/obos tidy Organize notes into place (supports standard/strong modes)
/obos sync Update index + health report + link suggestions
/obos review Vault status review + next-step suggestions
/obos init Initialize vault structure
/obos vault Manage multiple vault registrations
/obos refine [note] Deeply process notes (advanced)
/obos ask "question" Query the knowledge base (advanced)
/obos draft "topic" Draft articles based on notes (advanced)

No argument → show grouped command list:

核心:save, tidy, sync, review
设置:init, vault
进阶:refine, ask, draft

Tidy default strategy

/obos tidy Runs by default in standard mode, with idempotent incremental organization enabled:

  • On repeated runs, files that have already been organized and not changed are skipped and not migrated again
  • Automatic renaming by default is performed only once; after a manual rename is detected it is automatically locked (name_locked: true)
  • Project directories by default project-policy=contain: the project structure is frozen, not broken up, and internal levels/file names are not changed
  • Stability is determined doubly via /.obos/tidy-state.json and frontmatter
  • The project directory allowlist can be extended via /.obos/tidy-config.json (projectRootsExtra)
  • strong mode first performs a directory necessity assessment (KEEP / REORGANIZE / ARCHIVE_DIR)
  • Directory assessment audit is output to /.obos/dir-audit.json
  • Markdown documents are not deleted by default (deleteMarkdown=false), only empty directories are cleaned up

Multi-Vault Configuration

Configuration file:~/.proma/agent-workspaces/obsidian/obos-config.json

{
  "vaults": {
    "personal": { "path": "D:/obsidian/personal", "default": true },
    "work": { "path": "C:/Users/.../work-vault" }
  },
  "lastUsedVault": "personal"
}

Vault Path Discovery

All commands share this logic (by priority):

  1. Command parameter --to <alias> -specified vault
  2. default vault in obos-config.json
  3. the current working directory (if it contains .obsidian/ or vault CLAUDE.md)
  4. If none of the above exist, use AskUserQuestion to guide the user to register a vault

Vault Structure

Vault/
├── CLAUDE.md          # AI context file
├── Index.md           # AI-readable index (auto-generated)
├── Inbox/             # 收集入口(save 写入此处)
├── Notes/             # Evergreen notes
├── Clippings/         # Web clippings
├── References/        # Source materials
├── Attachments/       # Images and files
├── Categories/        # MOC index pages
└── Templates/         # Note templates

Knowledge Maturity Model

Frontmatter status field:

  • inbox — just collected, not organized
  • draft — classified, not deeply processed
  • refined — processed via /obos refine in depth

Evergreen Note Template

---
status: {{inbox|draft|refined}}
source: {{attribution}}
created: {{YYYY-MM-DD}}
---
# {{title}}

## Core Idea
One sentence in your own words.

## My Understanding
Why it matters. What you agree/disagree with.

## Open Questions
What new questions does this raise?

## Related
- [[]]

Command Routing

Parse the first argument after /obos and load the matching commands/{command}.md file. If no argument, show the grouped command list above and ask what the user wants to do.