Update documentation to reflect that the obsidian bucket serves as sync directory for Obsidian note-taking app. Replace generic "path" terminology with "vault" concept, explaining that each top-level directory is a separate Obsidian vault. Add vault structure explanation and update examples to show vault-specific uploads. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3.0 KiB
3.0 KiB
name, description
| name | description |
|---|---|
| minio-upload | Upload files to Obsidian vaults via MinIO obsidian bucket. Use when user asks to upload files to Obsidian, transfer notes to vaults, sync markdown files to Obsidian, or specify a particular vault destination. The obsidian bucket serves as the sync directory for Obsidian note-taking app. |
MinIO Upload
Upload files to Obsidian vaults through the MinIO obsidian bucket. This bucket serves as the synchronization directory for the Obsidian note-taking application, where each top-level directory represents a separate vault.
Quick Start
Upload a file to the default main vault:
.claude/skills/minio-upload/scripts/upload_to_obsidian.sh path/to/file.md
Upload to a specific vault:
.claude/skills/minio-upload/scripts/upload_to_obsidian.sh path/to/file.md "journal"
Vault Configuration
CRITICAL RULE: When no vault is explicitly specified by the user, files MUST be uploaded to the main vault only. Do NOT assume or invent other vault names.
Understanding Vault Structure
The MinIO obsidian bucket contains Obsidian vaults as top-level directories:
- Bucket root:
minio/obsidian/ - Vaults: Each top-level directory is a separate Obsidian vault (e.g.,
main/,journal/,work/) - Files uploaded to:
minio/obsidian/{vault-name}/{filename}
Vault Selection Behavior
- No vault specified: Upload to
mainvault (DEFAULT - use this unless user explicitly requests otherwise) - Specific vault specified: Use the exact vault name provided by the user (e.g.,
journal,work-notes,personal) - Nested directories: If a vault name contains slashes, it will be normalized (e.g.,
notes/journalbecomesnotes/journal/)
Important Constraints
- Never assume vaults: If the user doesn't specify a vault, always use
main - User intent only: Only use non-default vaults when the user explicitly names them
- Vault validation: The script automatically normalizes paths and appends the filename
Examples
- User says "upload file.md" → Upload to
mainvault - User says "upload to my journal vault" → Upload to
journalvault - User says "upload to work-notes" → Upload to
work-notesvault
Workflow
- Verify file exists - Check that the source file is accessible
- Determine target vault - Use specified vault name or default to
main - Upload with mc - Execute
mc cpcommand to transfer file - Confirm success - Verify upload completed and report target location
Error Handling
The script will:
- Exit with error if file doesn't exist
- Exit with error if no file argument provided
- Propagate any mc command failures
Resources
scripts/upload_to_obsidian.sh
Bash script that handles the upload process. Validates inputs, constructs the target vault path, and executes the mc copy command.
Key features:
- Default to
mainvault when no vault name specified - Support vault names with proper path normalization
- Clear error messages for invalid inputs
- Success confirmation with source and target paths