Clarify minio-upload skill as Obsidian vault upload tool
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>
This commit is contained in:
@@ -1,50 +1,57 @@
|
||||
---
|
||||
name: minio-upload
|
||||
description: Upload files to MinIO obsidian bucket with configurable path support. Use when the user asks to upload files to MinIO, transfer to obsidian bucket specifically, upload markdown or other files to cloud storage, or specify custom subpaths within obsidian bucket
|
||||
description: 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 the MinIO obsidian bucket with flexible path configuration.
|
||||
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` path:
|
||||
Upload a file to the default `main` vault:
|
||||
```bash
|
||||
.claude/skills/minio-upload/scripts/upload_to_obsidian.sh path/to/file.md
|
||||
```
|
||||
|
||||
Upload to a custom subpath:
|
||||
Upload to a specific vault:
|
||||
```bash
|
||||
.claude/skills/minio-upload/scripts/upload_to_obsidian.sh path/to/file.md "notes/2024"
|
||||
.claude/skills/minio-upload/scripts/upload_to_obsidian.sh path/to/file.md "journal"
|
||||
```
|
||||
|
||||
## Path Configuration
|
||||
## Vault Configuration
|
||||
|
||||
**CRITICAL RULE**: When no path is explicitly specified by the user, files MUST be uploaded to the `main` path only. Do NOT assume or invent custom subpaths.
|
||||
**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.
|
||||
|
||||
### Path Behavior
|
||||
### Understanding Vault Structure
|
||||
|
||||
- **No path specified**: Upload to `minio/obsidian/main/` (DEFAULT - use this unless user explicitly requests otherwise)
|
||||
- **Custom path specified**: Use the exact path provided by the user (e.g., `notes/2024`, `archive/old projects`)
|
||||
- **Nested paths**: Multi-level paths are supported when explicitly requested (e.g., `notes/personal/journal`)
|
||||
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 `main` vault (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/journal` becomes `notes/journal/`)
|
||||
|
||||
### Important Constraints
|
||||
|
||||
1. **Never assume paths**: If the user doesn't specify a path, always use `main`
|
||||
2. **User intent only**: Only use custom subpaths when the user explicitly provides them
|
||||
3. **Path validation**: The script automatically normalizes paths and appends the filename
|
||||
1. **Never assume vaults**: If the user doesn't specify a vault, always use `main`
|
||||
2. **User intent only**: Only use non-default vaults when the user explicitly names them
|
||||
3. **Vault validation**: The script automatically normalizes paths and appends the filename
|
||||
|
||||
### Examples
|
||||
|
||||
- User says "upload file.md" → Upload to `main/`
|
||||
- User says "upload to notes" → Upload to `notes/`
|
||||
- User says "upload to archive/old projects" → Upload to `archive/old projects/`
|
||||
- User says "upload file.md" → Upload to `main` vault
|
||||
- User says "upload to my journal vault" → Upload to `journal` vault
|
||||
- User says "upload to work-notes" → Upload to `work-notes` vault
|
||||
|
||||
## Workflow
|
||||
|
||||
1. **Verify file exists** - Check that the source file is accessible
|
||||
2. **Determine target path** - Use specified subpath or default to `main`
|
||||
2. **Determine target vault** - Use specified vault name or default to `main`
|
||||
3. **Upload with mc** - Execute `mc cp` command to transfer file
|
||||
4. **Confirm success** - Verify upload completed and report target location
|
||||
|
||||
@@ -59,10 +66,10 @@ The script will:
|
||||
|
||||
### scripts/upload_to_obsidian.sh
|
||||
|
||||
Bash script that handles the upload process. Validates inputs, constructs the target path, and executes the mc copy command.
|
||||
Bash script that handles the upload process. Validates inputs, constructs the target vault path, and executes the mc copy command.
|
||||
|
||||
**Key features:**
|
||||
- Default to `main` path when no subpath specified
|
||||
- Support nested subpaths with proper path normalization
|
||||
- Default to `main` vault 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
|
||||
|
||||
Reference in New Issue
Block a user