✓ Verified 💻 Development ✓ Enhanced Data

Save To Obsidian

Saves markdown content to remote Obsidian vault via SSH.

Rating
4.7 (133 reviews)
Downloads
9,411 downloads
Version
1.0.0

Overview

Saves markdown content to remote Obsidian vault via SSH.

Complete Documentation

View Source →

Save to Obsidian

Saves markdown content to remote Obsidian vault via SSH.

Prerequisite

This skill is for machines WITHOUT iCloud sync (e.g., Linux/Ubuntu servers). If your machine already has iCloud Desktop sync enabled and direct access to the Obsidian vault, you don't need this skill — just copy files directly to the vault path.

When to Use

User says: "save to obsidian", "send to obsidian", "copy to obsidian"

Process

  • Write content to a temp .md file (enforce formatting rules below)
  • Copy to remote vault: scp user@remote-host:/path/to/obsidian/vault/
  • Confirm success to user
Example:
bash
# Write content to temp file
cat > /tmp/my-note.md << 'EOF'
# My Note
Content here
EOF

# Copy to remote Obsidian vault
scp /tmp/my-note.md [email protected]:~/Obsidian/MyVault/

# Clean up
rm /tmp/my-note.md

Configuration: The agent should use the SSH host and vault path configured in workspace TOOLS.md

Formatting Rules

All content saved to Obsidian MUST follow these rules:

Diagrams: Use Mermaid (mandatory)

  • Never use ASCII box diagrams, ASCII art, or plaintext diagrams
  • Always use Mermaid fenced code blocks ( `mermaid )
  • Obsidian renders Mermaid natively — ASCII diagrams look broken
  • Supported types: flowchart, sequence, state, class, ER, gantt, pie, mindmap, timeline, quadrant, graph

Tables: Use Markdown tables

  • Obsidian renders markdown tables natively
  • For complex data, prefer tables over bullet lists

Links: Use wiki-links or relative links

  • Link between Obsidian notes: [[note-name]]
  • External links: standard markdown text

General

  • Use headers (##) for structure — Obsidian outline panel relies on them
  • Use YAML frontmatter if metadata is needed
  • Keep filenames kebab-case (no spaces) for cross-platform compatibility

Agent Owner

This skill is executed by the main OpenClaw agent session. The save-to-obsidian.sh script runs as a shell command via the exec tool. No sub-agents are spawned. iCloud sync is handled automatically after file transfer — no agent action needed.

Success Criteria

Save succeeds when:
  • scp exits with code 0
  • File appears in vault directory with correct filename
  • iCloud sync propagates the file (typically 1-2 minutes; not verified by skill)
Failure conditions: SSH unreachable, vault path does not exist, disk full, filename contains characters invalid for iCloud sync (handled by sanitization in script).

Edge Cases

  • SSH failure: script exits with error message and non-zero code; agent should report and stop
  • Duplicate filename: overwrites silently — scp does not warn; user must check if overwrite is desired
  • Special characters in filename: sanitized by script (spaces → hyphens, invalid chars stripped)
  • Empty content: scp will transfer a 0-byte file; not an error but should be flagged
  • No clear title: if content has no H1 header, agent should prompt user for filename before saving
  • iCloud sync delay: file appears in vault within 1-2 min; if not visible after 5 min, check iCloud status

Notes

  • Uses existing SSH key auth (no password)
  • Target: remote-host → Obsidian vault location
  • Files sync via iCloud automatically (if vault is in iCloud folder)

Configuration

This skill reads SSH and vault configuration from your workspace TOOLS.md:

VariableDescriptionWhere to set
SSH hostHostname/IP of the remote machine hosting the Obsidian vaultTOOLS.md (e.g., myserver.local)
SSH userUsername on the remote machineTOOLS.md (e.g., your-username)
SSH key pathPath to SSH private key (default: ~/.ssh/id_rsa)TOOLS.md
Vault pathAbsolute path to Obsidian vault on remote machineTOOLS.md (e.g., ~/Obsidian/MyVault/)
Example TOOLS.md entry:
text
## Obsidian Remote Vault
- SSH host: myserver.local
- SSH user: your-username
- Vault path: ~/Obsidian/MyVault/

No API keys or tokens required — uses SSH key authentication only.

Installation

Terminal bash

openclaw install save-to-obsidian
    
Copied!

💻Code Examples

**Example:**

example.sh
# Write content to temp file
cat > /tmp/my-note.md << 'EOF'
# My Note
Content here
EOF

# Copy to remote Obsidian vault
scp /tmp/my-note.md [email protected]:~/Obsidian/MyVault/

# Clean up
rm /tmp/my-note.md

**Example TOOLS.md entry:**

example-toolsmd-entry.txt
## Obsidian Remote Vault
- SSH host: myserver.local
- SSH user: your-username
- Vault path: ~/Obsidian/MyVault/

⚙️Configuration Options

Option Type Default Description
SSH hoststringHostname/IP of the remote machine hosting the Obsidian vaultTOOLS.md (e.g., `myserver.local`)
SSH userstringUsername on the remote machineTOOLS.md (e.g., `your-username`)
SSH key pathstringPath to SSH private key (default: ~/.ssh/id_rsa)TOOLS.md
Vault pathstringAbsolute path to Obsidian vault on remote machineTOOLS.md (e.g., `~/Obsidian/MyVault/`)

Tags

#devops_and-cloud

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author chunhualiao
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install save-to-obsidian