Skip to content
cccskills
FreePublished on GitHub

cli-anything-joplin

Automate Joplin note management through its terminal application. Create and organize notes and notebooks, update to-dos, manage tags and attachments, and run synchronization or import and export workflows with structured results.

OriginalShow the original description

Command-line interface for Joplin workflows using the real joplin terminal backend

See how to install

Good for

  • Create notes and organize them into notebooks
  • Update to-do completion status
  • Organize notes with tags and attachments
  • Synchronize, import, and export Joplin data

Files included (1)

  • SKILL.md3.9 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

cli-anything-joplin

Use this skill to automate Joplin notebook, note, to-do, tag, attachment, search, sync, and import/export workflows through a stateful harness backed by the real joplin terminal binary.

Requirements

  • Python 3.10+
  • Joplin terminal binary available as joplin
  • Optional: pass --profile to target a specific Joplin profile

Install

cd joplin/agent-harness
pip install -e .

Usage

# REPL mode (default)
cli-anything-joplin

# Machine-readable one-shot command
cli-anything-joplin --json notebooks list

# Stateful project
cli-anything-joplin project new --name demo -o ./demo.joplin-harness.json
cli-anything-joplin --project ./demo.joplin-harness.json notes create "Meeting note"

# Dry-run (no auto-save)
cli-anything-joplin --json --dry-run --project ./demo.joplin-harness.json notes create temp

JSON output contract

When --json is enabled, commands return:

  • ok: boolean
  • command: stable command identifier such as notes.list, todos.toggle
  • data: command payload
  • error: null on success, or { type, message } on failure

Command groups

  • project: new, open, save, info, json, status
  • notebooks: list, create, use, remove
  • notes: list, create, set, get, remove, copy, move, rename
  • todos: list, create, toggle, clear, done, undone
  • tags: list, add, remove, notetags, tagnotes
  • search: run
  • sync: run (--target, --upgrade, --use-lock)
  • interop: import, export
  • config: get, set, list, export, import-file
  • attach: add
  • status: show, restore
  • backend: version, dump, keymap, geoloc, export-sync-status
  • server: status, start, stop
  • e2ee: status, target-status, decrypt, decrypt-file
  • session: status, undo, redo, history

Agent guidance

  • Prefer --json for parseable output.
  • Use --project when running multi-step workflows so history is persisted.
  • One-shot mutating commands auto-save the project unless --dry-run is set.
  • REPL mode does not auto-save; run project save explicitly.
  • Some Joplin CLI builds gate search behind GUI mode; if you see "only available in GUI mode", treat search as best-effort.
  • Joplin 3.6.x can have a broken version command in npm global layouts; the harness falls back to installed package metadata for backend version, probing the symlink-resolved binary directory, the Windows-style sibling node_modules/joplin, the Unix-style parent lib/node_modules/joplin, and finally npm root -g.
  • Backend stdout/stderr in command results are verbatim; do not assume warnings were stripped from note bodies or exports.
  • On failure, parse error using the same command field as success (config.import_file, e2ee.decrypt_file). Multi-word subcommands use a single dot between group and subcommand.

Test workflow

# Quick feedback loop
python -m pytest -q cli_anything/joplin/tests/test_core.py
python -m pytest -q cli_anything/joplin/tests/test_full_e2e.py::TestCLISubprocess

# Real backend (joplin must be in PATH)
python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendCommands
python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendWorkflows
python -m pytest -v cli_anything/joplin/tests/test_full_e2e.py::TestBackendIntegration

# Full suite
python -m pytest -v --tb=no cli_anything/joplin/tests

# Verify the installed console script entry point
CLI_ANYTHING_FORCE_INSTALLED=1 python -m pytest -v -s cli_anything/joplin/tests/test_full_e2e.py

Current validation baseline (Windows + Joplin CLI 3.6.2):

  • python -m pytest -q cli_anything/joplin/tests/test_core.py -> 107 passed
  • python -m pytest -q cli_anything/joplin/tests -> 134 passed, 1 skipped

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

cli-anything

FreeSummary

Use Reasonix to build or improve a Python command-line interface for existing software. The workflow covers source analysis, interactive commands, JSON output, tests, documentation, and installation checks using the software’s own backend where possible.

  • Build command-line access to a GUI application
  • Add missing features to an existing command-line interface
  • Test commands against the actual software backend
HKUDS/CLI-Anything55KUpdated Sep 22, 2026

cli-anything

FreeSummary

Use Codex to build Python command-line tools for applications with graphical interfaces. Analyze source code, add commands, test against the actual software, validate packaging and documentation, and discover tools already generated or installed.

  • Build a command-line tool from application source code
  • Extend an existing tool with more commands
  • Test behavior against the actual application
HKUDS/CLI-Anything55KUpdated Sep 22, 2026

cli-anything

FreeSummary

Build and improve Python command interfaces for GUI applications with OpenClaw. The skill guides source analysis, command design, testing, and packaging, including interactive sessions and structured JSON output for agents.

  • Build a command interface for a GUI application
  • Add missing commands to an existing interface
  • Test workflows against the actual application
HKUDS/CLI-Anything55KUpdated Sep 22, 2026

cli-anything-3mf

FreeSummary

Inspect and edit 3MF files for 3D printing. Detect cylindrical holes, change their diameters, repair mesh issues, and compare files while preserving BambuStudio and PrusaSlicer metadata when repacking the edited file.

  • Detect cylindrical holes and check their diameters
  • Resize selected holes to a target diameter
  • Repair degenerate faces and duplicate vertices
HKUDS/CLI-Anything55KUpdated Sep 22, 2026

Manage AdGuard Home network filtering from the command line. Update blocklists, register devices, configure DNS rules that map names to addresses, and inspect query logs and statistics through the AdGuard Home REST API.

  • Adding and refreshing ad-blocking filter lists
  • Mapping local domain names to IP addresses
  • Registering devices and managing fixed address assignments
HKUDS/CLI-Anything55KUpdated Sep 22, 2026

Generate slides, documents, websites, and diagrams from natural language prompts through AnyGen OpenAPI. Manage reference uploads, check generation progress, and download finished files using commands with structured output for AI agents.

  • Generate slides or documents from written instructions
  • Upload reference files for a generation task
  • Check generation progress and download finished files
HKUDS/CLI-Anything55KUpdated Sep 22, 2026

See all skills by HKUDS

Report a problem with this skill