obsidian-file-manager
Obsidian File Manager
Vault file management via the official Obsidian CLI with direct-file fallback.
Vault
Path: /Users/arlenagreer/Library/Mobile Documents/iCloud~md~obsidian/Documents/Obsidian Vault
Name: Obsidian Vault
Quick Reference: CLI Commands
For vault operations, prefer the obsidian CLI directly when no script workflow is needed:
# Search
obsidian search query="my topic"
obsidian search query="my topic" format=json
# Read/write
obsidian read path="folder/note.md"
obsidian create path="folder/note.md" content="# Title"
obsidian append path="folder/note.md" content="New content"
obsidian prepend path="folder/note.md" content="Top content"
# Move (link-safe — preserves all internal links)
obsidian move path="old/note.md" to="new/folder"
# Properties
obsidian property:set name="lifecycle" value="processed" path="folder/note.md"
obsidian property:read name="lifecycle" path="folder/note.md"
# Tags and structure
obsidian tags counts
obsidian files folder="sessions" ext=md
obsidian backlinks file="My Note"
obsidian orphans
# Daily notes
obsidian daily:read
obsidian daily:append content="- Meeting notes here"
Script Operations
Use scripts for workflows requiring naming conventions, frontmatter generation, and lifecycle management.
create — Create new document with proper naming and tags
ruby ${CLAUDE_SKILL_DIR}/scripts/create_in_vault.rb \
--type session --project myproject \
--subject "feature work" \
--content "# Session Notes\n\n..."
move — Move external file into vault (link-safe via CLI)
ruby ${CLAUDE_SKILL_DIR}/scripts/move_to_vault.rb \
--source /path/to/doc.md --type plan --project myproject
update-lifecycle — Transition document lifecycle state
ruby ${CLAUDE_SKILL_DIR}/scripts/update_lifecycle.rb \
--path sessions/myproject/session_myproject_20260310.md \
--lifecycle processed
search — Search vault with structured filters
ruby ${CLAUDE_SKILL_DIR}/scripts/search_vault.rb \
--query "project:myproject lifecycle:active type:session"
archive — Auto-archive old documents by retention policy
ruby ${CLAUDE_SKILL_DIR}/scripts/auto_archive.rb --dry-run
File Organization
Files follow {type}/{project}/filename.md partitioning:
| Type | Directory | Purpose |
|---|---|---|
| session | sessions/{project}/ | Development session artifacts |
| plan | planning/{project}/ | Implementation plans |
| prd | projects/{project}/ | Product requirements |
| adr, decision | decisions/{project}/ | Architecture decisions |
| investigation | investigations/{project}/ | Research and analysis |
| resource | resources/{project}/ | Reference materials |
Filenames use snake_case: {type}_{subject}_{project}[_{date}][_{counter}].md
Lifecycle States
| State | Auto-Archive | Description |
|---|---|---|
| master | Never | Reference docs |
| active | Never | Currently in use |
| processed | After 30 days | Work complete |
| trash | After 7 days | Abandoned |
| archived | N/A | Long-term storage |
Fallback Behavior
All scripts try the CLI first. When Obsidian is not running, they fall back to direct file operations against the vault path. The CLI is preferred because obsidian move preserves internal links, and obsidian search uses the full index.
Additional References
- For full parameter docs for each script, see references/operations.md
- For vault config and tag system details, see references/configuration.md
- For workflow integration patterns, see references/integration.md
More from arlenagreer/claude_configuration_docs
playwright-cli
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, extract information from web pages, debug web apps, record browser sessions as video, mock or intercept API requests, manage browser cookies/localStorage, generate Playwright test code, capture execution traces, or run multiple browser sessions concurrently.
10omnifocus
Manage OmniFocus projects and tasks programmatically. This skill should be used when creating, reading, updating, or listing OmniFocus tasks and projects. Supports all OmniFocus versions through intelligent automation method detection (Omni Automation → AppleScript → SQLite read-only fallback). Use for task management workflows, project queries, task completion tracking, and OmniFocus data operations.
10contacts
Manage Google Contacts with full CRUD operations via Ruby scripts. This skill should be used when searching, viewing, creating, updating, or deleting contacts in Google Contacts. Supports contact lookup, batch operations, and comprehensive contact field management including names, emails, phones, addresses, birthdays, organizations, and notes.
9text-message
Send text messages via Apple Messages app with automatic contact lookup and attachment support. This skill should be used when sending SMS/iMessage to contacts. Supports name-based recipient lookup via Google Contacts integration, image/file attachments, and handles missing recipient/message prompts. CRITICAL - Messages are ALWAYS sent individually to each recipient, NEVER as group messages. REQUIRES E.164 phone format (+1XXXXXXXXXX) for reliable delivery. Integrates Arlen's writing style guide for authentic messaging.
9worklog
Track billable hours for clients. This skill should be used when the user requests to log work hours, record time spent on client projects, view worklog entries, calculate total billable hours, or summarize recent work. Automatically prompts for missing information (client, hours, description) and validates client names against the invoice skill's client database.
8email
Send and draft professional emails with seasonal HTML formatting, authentic writing style, contact lookup via Google Contacts, security-first approach, and Google Gmail API via Ruby CLI. This skill should be used for ALL email operations (mandatory per RULES.md).
8