Agent skill
obsidian-file-manager
Manage documentation files in an Obsidian vault via the official Obsidian CLI (v1.12.4+) or direct file access. Use when creating session artifacts, moving planning documents to the vault, updating document lifecycle states (active/processed/archived), searching vault by tags or content, automating archival of old documents, reading/appending to daily notes, managing properties and tags, or integrating with task-startup/task-wrapup workflows.
Install this agent skill to your Project
npx add-skill https://github.com/arlenagreer/claude_configuration_docs/tree/main/skills/obsidian-file-manager
SKILL.md
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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
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).
commit
Create detailed Git commits and push to GitHub. Use when the user wants to commit changes, save work to Git, or push updates to the repository. Trigger words include "commit", "save changes", "push to git", "update repository". (project, gitignored)
worklog
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.
calendar
Manage Google Calendar with full event operations including viewing schedule, creating/editing/deleting events, finding free time, managing attendees via Google Contacts, adding Google Meet links, and timezone handling. This skill should be used for ALL calendar-related requests.
google-sheets
Manage Google Sheets with comprehensive spreadsheet operations including reading/writing cell values, formulas, formatting, sheet management, and batch operations. Use for spreadsheet data operations, cell ranges, formulas, formatting, batch updates, and data analysis workflows. Shares OAuth token with email, calendar, contacts, drive, and docs skills.
google-drive
Manage Google Drive files and folders with full CRUD operations via Ruby scripts. Use for file storage operations, folder organization, sharing permissions, searching across Drive, and uploading/downloading files of any type. Works seamlessly with google-sheets and google-docs skills for complete Google Workspace integration.
Didn't find tool you were looking for?