Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add Andrejones92/canifi-life-os --skill "obsidian-publish"
Install specific skill from multi-skill repository
# Description
Enables Claude to publish and manage content on Obsidian Publish sites via Playwright MCP
# SKILL.md
name: obsidian-publish
description: Enables Claude to publish and manage content on Obsidian Publish sites via Playwright MCP
category: productivity
Obsidian Publish Skill
Overview
Claude can manage your Obsidian Publish site to publish notes, manage site settings, and create a public knowledge base. Publish transforms your markdown notes into a beautiful website.
Quick Install
curl -sSL https://canifi.com/skills/obsidian-publish/install.sh | bash
Or manually:
cp -r skills/obsidian-publish ~/.canifi/skills/
Setup
Configure via canifi-env:
# First, ensure canifi-env is installed:
# curl -sSL https://canifi.com/install.sh | bash
canifi-env set OBSIDIAN_PUBLISH_EMAIL "[email protected]"
Privacy & Authentication
Your credentials, your choice. Canifi LifeOS respects your privacy.
Option 1: Manual Browser Login (Recommended)
If you prefer not to share credentials with Claude Code:
1. Complete the Browser Automation Setup using CDP mode
2. Login to the service manually in the Playwright-controlled Chrome window
3. Claude will use your authenticated session without ever seeing your password
Option 2: Environment Variables
If you're comfortable sharing credentials, you can store them locally:
canifi-env set SERVICE_EMAIL "your-email"
canifi-env set SERVICE_PASSWORD "your-password"
Note: Credentials stored in canifi-env are only accessible locally on your machine and are never transmitted.
Capabilities
- Publish notes to the web
- Unpublish content
- Manage site settings
- Update site navigation
- Configure custom domains
- Set up site appearance
- Manage page links
- Update published content
- View site analytics
- Configure search
- Set page aliases
- Manage access control
Usage Examples
Example 1: Publish Note
User: "Publish my 'Getting Started' note to Obsidian Publish"
Claude: Navigates to publish settings, selects note, publishes.
Confirms: "Published: yoursite.publish.obsidian.md/getting-started"
Example 2: Update Site
User: "Sync all changed notes to my publish site"
Claude: Checks for changes, publishes updated notes.
Reports: "Published 5 updated notes, 2 new notes"
Example 3: Manage Navigation
User: "Add 'Resources' to the site navigation"
Claude: Opens site settings, adds Resources to nav.
Confirms: "Added Resources to site navigation"
Example 4: Unpublish Content
User: "Remove the draft article from the published site"
Claude: Finds note, unpublishes it.
Confirms: "Unpublished 'Draft Article'"
Authentication Flow
- Claude navigates to publish.obsidian.md via Playwright MCP
- Enters OBSIDIAN_PUBLISH_EMAIL for authentication
- Handles 2FA if required (notifies user via iMessage)
- Maintains session for publish operations
Selectors Reference
// Site selector
'.site-selector'
// File tree
'.file-tree'
// Publish button
'.publish-button'
// Unpublish button
'.unpublish-button'
// Settings
'.site-settings'
// Navigation editor
'.nav-editor'
// Appearance settings
'.appearance-settings'
// Search config
'.search-settings'
// Custom domain
'.domain-settings'
// File checkbox
'.file-checkbox'
Error Handling
- Login Failed: Retry 3 times, notify user via iMessage
- Session Expired: Re-authenticate automatically
- Publish Failed: Check file validity, retry
- Site Not Found: List available sites, ask user
- Sync Failed: Check for conflicts, retry
- Domain Error: Verify DNS settings
Self-Improvement Instructions
When you learn a better way to accomplish a task with Obsidian Publish:
1. Document the improvement in your response
2. Suggest updating this skill file with the new approach
3. Include specific publishing workflows
4. Note site configuration best practices
Notes
- Publish subscription required
- Selective publishing of notes
- Links between published notes work
- Custom CSS supported
- Password protection available
- Custom domain support
- Search functionality built-in
- Mobile-responsive design
- Google indexing supported
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.