← Back to Skills Marketplace
martin004

Joplin Notes

by Martin004 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
115
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install joplin-notes
Description
Interface for managing Joplin notes via WebDAV. Allows listing notebooks and notes, reading content (first line = title), and creating or updating notes and...
README (SKILL.md)

Joplin Notes Skill

This skill provides programmatic access to a Joplin database synchronized via WebDAV.

How it Works

Joplin stores notes and notebooks as .md files in a flat directory. They are linked via metadata at the end of the file (id, parent_id, type_).

  • Title: The first line of the file is the title of the note or notebook.
  • Notebook: A special file type (type_: 2) that serves as a container for notes.
  • Note: A standard file (type_: 1) assigned to a notebook via parent_id.

Available Scripts

The scripts are located in scripts/ and require the following environment variables:

  • JOPLIN_PASSWORD: The password for WebDAV access.
  • JOPLIN_ACCOUNT: The username for Joplin (e.g., openclaw).
  • JOPLIN_WEBDAV_PATH: The full path to the Joplin directory on the WebDAV server.

1. List Notes (list_notes.py)

Outputs the entire structure of notebooks and their contained notes.

  • Usage: python3 scripts/list_notes.py

2. Get Note Content (get_note.py)

Reads the content of a specific note by its ID.

  • Usage: python3 scripts/get_note.py \x3Cnote_id>

3. Upsert Note/Notebook (upsert_note.py)

Updates an existing note or creates a new one. Supports notebooks via the type parameter.

  • Usage: python3 scripts/upsert_note.py \x3Cnote_id|new> \x3Cparent_id> \x3Ccontent_file> [type (1=note, 2=notebook)]

4. Create Notebook (create_notebook.py)

Creates a new notebook.

  • Usage: python3 scripts/create_notebook.py \x3Ctitle> [parent_notebook_id]

Workflow Examples

Query Structure

  1. exec("python3 /home/openclaw/.openclaw/workspace/skills/joplin-notes/scripts/list_notes.py")
  2. Analyze the output to find the desired note_id or notebook_id.

Read Note Content

  1. exec("python3 /home/openclaw/.openclaw/workspace/skills/joplin-notes/scripts/get_note.py \x3Cnote_id>")

Edit or Create Note

  1. Download the current content with get_note.py (if editing).
  2. Create a temporary file with the new content (include the title in the first line).
  3. Call upsert_note.py.
Usage Guidance
This skill appears to do what it claims (manage Joplin .md files over WebDAV), but the package metadata fails to declare the sensitive environment variables the scripts actually require (JOPLIN_WEBDAV_PATH, JOPLIN_ACCOUNT, JOPLIN_PASSWORD). Before installing: (1) only provide WebDAV credentials if you trust the skill source and host the WebDAV server you intend to use; (2) review the included scripts yourself (they are bundled) to confirm there are no hidden endpoints or behaviors; (3) update or ask the publisher to correct the registry metadata so required env vars are visible to users; (4) consider running the skill in an isolated environment or container, and avoid giving it credentials with broader reuse than necessary; (5) note the SKILL.md uses a hardcoded workspace path in its exec examples—ensure the runtime path matches your agent's installation or adjust the commands accordingly.
Capability Analysis
Type: OpenClaw Skill Name: joplin-notes Version: 1.0.0 The joplin-notes skill provides a functional interface for managing Joplin notes via WebDAV. The included Python scripts (list_notes.py, get_note.py, upsert_note.py, create_notebook.py) use curl to interact with a user-specified WebDAV server, following the standard Joplin metadata format. The code uses safe subprocess execution patterns to prevent shell injection and correctly handles credentials through environment variables without any evidence of exfiltration or unauthorized access.
Capability Assessment
Purpose & Capability
Name, description, and the included scripts (list/get/upsert/create) are coherent with a Joplin-over-WebDAV integration. However, the registry metadata claims no required environment variables while the scripts and SKILL.md clearly require JOPLIN_WEBDAV_PATH, JOPLIN_ACCOUNT, and JOPLIN_PASSWORD — this mismatch is surprising and should be fixed.
Instruction Scope
SKILL.md and the scripts instruct the agent to run the included Python scripts (via exec examples) and to create temporary files for uploads; all runtime actions are limited to contacting the configured WebDAV endpoint and reading/writing .md files. The SKILL.md hardcodes an absolute path to the skill workspace in its exec examples, which is brittle but not directly malicious. The scripts do not read unrelated system files or other secrets.
Install Mechanism
There is no external installer or download; all code is bundled with the skill. That avoids third‑party fetches, which is good. The scripts use subprocess to call curl and other local Python scripts (no shell construction vulnerabilities in current usage).
Credentials
The scripts require three sensitive environment variables (JOPLIN_PASSWORD, JOPLIN_ACCOUNT, JOPLIN_WEBDAV_PATH) to function. Those are appropriate for a WebDAV-backed Joplin skill, but the registry metadata incorrectly lists no required env vars and no primary credential — this omission prevents users/administrators from understanding the credential needs up front and increases risk of accidental exposure. Requesting a WebDAV password is expected for the feature, but it should be declared transparently.
Persistence & Privilege
The skill is not always-enabled, does not request elevated system privileges, and does not alter other skills' configs. It writes temporary files under /tmp and performs uploads only to the configured WebDAV URL.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install joplin-notes
  3. After installation, invoke the skill by name or use /joplin-notes
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
- Initial release of the Joplin Notes skill. - Provides programmatic access to Joplin notes and notebooks via WebDAV. - Supports listing notebooks and notes, reading note content, and creating or updating notes and notebooks. - Includes Python scripts for each operation, designed to be used with environment variables for secure WebDAV access.
Metadata
Slug joplin-notes
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Joplin Notes?

Interface for managing Joplin notes via WebDAV. Allows listing notebooks and notes, reading content (first line = title), and creating or updating notes and... It is an AI Agent Skill for Claude Code / OpenClaw, with 115 downloads so far.

How do I install Joplin Notes?

Run "/install joplin-notes" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Joplin Notes free?

Yes, Joplin Notes is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Joplin Notes support?

Joplin Notes is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Joplin Notes?

It is built and maintained by Martin004 (@martin004); the current version is v1.0.0.

💬 Comments