Agent SkillsHKUDS/CLI-Anything › cli-anything-joplin

cli-anything-joplin

GitHub

提供Joplin笔记应用的CLI自动化能力,支持笔记本、笔记、待办、标签及同步等全工作流操作。通过JSON输出和状态管理,实现与真实Joplin终端后端的交互,适用于笔记内容的创建、检索、导入导出及多步骤工作流的编排。

joplin/agent-harness/cli_anything/joplin/skills/SKILL.md HKUDS/CLI-Anything

Trigger Scenarios

需要批量处理或自动化操作Joplin笔记内容 需要通过命令行脚本集成Joplin笔记数据 执行Joplin的同步、导入导出或搜索任务

Install

npx skills add HKUDS/CLI-Anything --skill cli-anything-joplin -g -y
More Options

Non-standard path

npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/joplin/agent-harness/cli_anything/joplin/skills -g -y

Use without installing

npx skills use HKUDS/CLI-Anything@cli-anything-joplin

指定 Agent (Claude Code)

npx skills add HKUDS/CLI-Anything --skill cli-anything-joplin -a claude-code -g -y

安装 repo 全部 skill

npx skills add HKUDS/CLI-Anything --all -g -y

预览 repo 内 skill

npx skills add HKUDS/CLI-Anything --list

SKILL.md

Frontmatter
{
    "name": "cli-anything-joplin",
    "description": "Command-line interface for Joplin workflows using the real joplin terminal backend"
}

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

Version History

  • 6f372d3 Current 2026-08-20 06:41

Same Skill Collection

3MF/agent-harness/cli_anything/threemf/skills/SKILL.md
adguardhome/agent-harness/cli_anything/adguardhome/skills/SKILL.md
anygen/agent-harness/cli_anything/anygen/skills/SKILL.md
audacity/agent-harness/cli_anything/audacity/skills/SKILL.md
blender/agent-harness/cli_anything/blender/skills/SKILL.md
browser/agent-harness/cli_anything/browser/skills/SKILL.md
calibre/agent-harness/cli_anything/calibre/skills/SKILL.md
cc-switch/agent-harness/cli_anything/ccswitch/skills/SKILL.md
chromadb/agent-harness/cli_anything/chromadb/skills/SKILL.md
cli-hub-matrix/3d-cad/SKILL.md
cli-hub-matrix/game-development/SKILL.md
cli-hub-matrix/image-design/SKILL.md
cli-hub-matrix/knowledge-research/SKILL.md
cli-hub-meta-skill/SKILL.md
cloudanalyzer/agent-harness/cli_anything/cloudanalyzer/skills/SKILL.md
cloudcompare/agent-harness/cli_anything/cloudcompare/skills/SKILL.md
codex-skill/SKILL.md
comfyui/agent-harness/cli_anything/comfyui/skills/SKILL.md
dify-workflow/agent-harness/cli_anything/dify_workflow/skills/SKILL.md
drawio/agent-harness/cli_anything/drawio/skills/SKILL.md
eez-studio/agent-harness/cli_anything/eez_studio/skills/SKILL.md
eth2-quickstart/agent-harness/cli_anything/eth2_quickstart/skills/SKILL.md
exa/agent-harness/cli_anything/exa/skills/SKILL.md
firefly-iii/agent-harness/cli_anything/firefly_iii/skills/SKILL.md
firefly-iii/agent-harness/skills/cli-anything-firefly-iii/SKILL.md
gimp/agent-harness/cli_anything/gimp/skills/SKILL.md
godot/agent-harness/cli_anything/godot/skills/SKILL.md
hermes-skill/SKILL.md
inkscape/agent-harness/cli_anything/inkscape/skills/SKILL.md
intelwatch/agent-harness/cli_anything/intelwatch/skills/SKILL.md
jumpserver/agent-harness/cli_anything/jumpserver/skills/SKILL.md
kdenlive/agent-harness/cli_anything/kdenlive/skills/SKILL.md
krita/agent-harness/cli_anything/krita/skills/SKILL.md
libreoffice/agent-harness/cli_anything/libreoffice/skills/SKILL.md
live2d/agent-harness/cli_anything/live2d/skills/SKILL.md
macrocli/agent-harness/cli_anything/macrocli/skills/SKILL.md
macrocli/SKILL.md
mailchimp/agent-harness/cli_anything/mailchimp/skills/SKILL.md
mermaid/agent-harness/cli_anything/mermaid/skills/SKILL.md
minimax/agent-harness/cli_anything/minimax/skills/SKILL.md
mubu/agent-harness/cli_anything/mubu/skills/SKILL.md
musescore/agent-harness/cli_anything/musescore/skills/SKILL.md
n8n/agent-harness/cli_anything/n8n/skills/SKILL.md
notebooklm/agent-harness/cli_anything/notebooklm/skills/SKILL.md
novita/agent-harness/cli_anything/novita/skills/SKILL.md
nsight-graphics/agent-harness/cli_anything/nsight_graphics/skills/SKILL.md
nslogger/agent-harness/cli_anything/nslogger/skills/SKILL.md
obs-studio/agent-harness/cli_anything/obs_studio/skills/SKILL.md
obsidian/agent-harness/cli_anything/obsidian/skills/SKILL.md

Metadata

Files
0
Version
6f372d3
Hash
bff62b35
Indexed
2026-08-20 06:41

Home - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-22 13:01
浙ICP备14020137号-1 $Map of visitor$