Joplin CLI Skill
name: joplin
by davek-dev · published 2026-03-22
$ claw add gh:davek-dev/davek-dev-joplin---
name: joplin
description: Interact with Joplin notes via CLI. Use for reading, creating, editing notes and managing todos. Supports WebDAV sync and kanban-formatted notes.
---
# Joplin CLI Skill
Use `joplin` CLI to interact with Joplin notes.
⚠️ Important: Use CLI, Not SQL
**Always use the `joplin` CLI for editing notes.** Do not modify the SQLite database directly unless absolutely necessary. Direct database edits can cause sync conflicts and data loss.
Setup
If Joplin is not configured with WebDAV, configure it:
joplin config sync.target 6
joplin config sync.6.path "https://your-webdav-server/path"
joplin config sync.6.username "your-username"
joplin config sync.6.password "your-password"
joplin syncCommon Commands
List Notebooks and Notes
joplin ls # List notebooks
joplin ls "Notebook Name" # List notes in a notebook
joplin status # Show sync status and note counts
joplin ls -l # List with IDsRead Note
joplin cat <note-id> # Display note content
joplin cat "Note Title" # Also works with title
joplin note <note-id> # Open note in editorCreate Note
joplin mknote "Note Title" # Create note in default notebook
joplin mknote "Note Title" --notebook "Notebook Name"
joplin mkbook "New Notebook" # Create new notebook**Tip:** Always ask the user which notebook to use. Use:
Edit Note
joplin edit --note <note-id> # Edit note in editor
joplin set <note-id> title "New title" # Change note titleDelete Note
joplin rmnote <note-id> # Delete note
joplin rmbook "Notebook Name" # Delete notebookMove Notes Between Notebooks
joplin mv "Note Title" "Target Notebook"Todos
joplin todos # List all todos
joplin todo <note-id> # Toggle todo status
joplin done <note-id> # Mark as done
joplin undone <note-id> # Mark as not doneSync
joplin sync # Sync with WebDAV serverExport
joplin export <note-id> --format md
joplin export <note-id> --format html
joplin export <note-id> --format pdfImport
joplin import /path/to/note.md --notebook "Notebook Name"Search
Note: `joplin search` is only available in GUI mode. Use `joplin ls` and pipe to grep instead.
All Joplin Commands
attach, batch, cat, config, cp, done, e2ee, edit, export, geoloc, help,
import, ls, mkbook, mknote, mktodo, mv, ren, restore, rmbook, rmnote,
server, set, share, status, sync, tag, todo, undone, use, versionReferencing Notes and Notebooks
A note or notebook can be referred to by:
- `$n` — Currently selected note
- `$b` — Currently selected notebook
- `$c` — Currently selected item
Interactive Shell Mode
Joplin can run interactively (like a shell). Start with just `joplin`:
joplin # Start interactive modeShell Commands (prefix with `:`)
| Command | Description |
|---------|-------------|
| `:sync` | Sync with WebDAV server |
| `:quit` or `:q` | Exit Joplin |
| `:help` | Show help |
| `:open <note-id>` | Open a note |
Shell Mode Shortcuts
Example Workflow
# Create a notebook
joplin mkbook "My notebook"
# Switch to it
joplin use "My notebook"
# Create a note
joplin mknote "My note"
# View notes with IDs
joplin ls -l
# Edit a note's title
joplin set <note-id> title "New title"Kanban Notes (YesYouKan Plugin)
Some notebooks use the YesYouKan kanban plugin for visual kanban boards. These notes have a specific format that **must be preserved** when editing:
Kanban Format
# Notebook Name
# Backlog
## Task 1
Description here
## Task 2
# In progress
## Another Task
Details
# Done
## Completed Task
Result
# Do not remove this block
⚠️ Kanban Formatting Rules
1. **Always include the kanban-settings block** at the end of the note with the exact format:
```
```kanban-settings
# Do not remove this block
```
```
2. **Use `##` for task headings** (not `#`)
3. **Keep column headings** as `# Backlog`, `# In progress`, `# Done`
4. **Preserve blank lines** between tasks — these are visible in the kanban view
5. **After editing a kanban note, always run `joplin sync`** to upload changes
6. **Verify changes with `joplin cat <note-id>`** to ensure formatting is correct
Moving Tasks Between Columns
When moving a task, simply move the `##` task section from one column to another.
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...