skills$openclaw/tasknotes
benoitjadinon5.4k

by benoitjadinon

tasknotes – OpenClaw Skill

tasknotes is an OpenClaw Skills integration for planning workflows. Manage tasks in Obsidian via TaskNotes plugin API. Use when user wants to create tasks, list tasks, query by status or project, update task status, delete tasks, or check what they need to do.

5.4k stars3.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026planning

Skill Snapshot

nametasknotes
descriptionManage tasks in Obsidian via TaskNotes plugin API. Use when user wants to create tasks, list tasks, query by status or project, update task status, delete tasks, or check what they need to do. OpenClaw Skills integration.
ownerbenoitjadinon
repositorybenoitjadinon/obsidian-plugin-tasknotes
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @benoitjadinon/obsidian-plugin-tasknotes
last updatedFeb 7, 2026

Maintainer

benoitjadinon

benoitjadinon

Maintains tasknotes in the OpenClaw Skills directory.

View GitHub profile
File Explorer
4 files
.
scripts
tasks.py
11.2 KB
_meta.json
302 B
SKILL.md
3.5 KB
SKILL.md

name: tasknotes description: Manage tasks in Obsidian via TaskNotes plugin API. Use when user wants to create tasks, list tasks, query by status or project, update task status, delete tasks, or check what they need to do.

TaskNotes Skill

Manage Obsidian tasks via the TaskNotes plugin HTTP API.

Requirements

  1. TaskNotes plugin installed in Obsidian
  2. Enable HTTP API in TaskNotes settings:
    • Open Obsidian Settings → TaskNotes
    • Enable "HTTP API" toggle
    • Set API port (default: 8080)
    • API token: leave empty for no auth, or set a token for security
  3. Environment variables in .env file at vault root (if using auth):
    TASKNOTES_API_PORT=8080
    TASKNOTES_API_KEY=your_token_here
    
    If TaskNotes has no auth token set, you don't need a .env file.

CLI Commands

# List all tasks
uv run scripts/tasks.py list

# List by status (use your configured status values)
uv run scripts/tasks.py list --status "in-progress"

# List by project
uv run scripts/tasks.py list --project "My Project"

# Create task
uv run scripts/tasks.py create "Task title" --project "My Project" --priority high

# Create task with scheduled time
uv run scripts/tasks.py create "Meeting prep" --scheduled "2025-01-15T14:00:00"

# Update task status
uv run scripts/tasks.py update "Tasks/task-file.md" --status done

# Add/update task description
uv run scripts/tasks.py update "Tasks/task-file.md" --details "Additional context here."

# Delete task
uv run scripts/tasks.py delete "Tasks/task-file.md"

# Get available options (statuses, priorities, projects)
uv run scripts/tasks.py options --table

# Human-readable output (add --table)
uv run scripts/tasks.py list --table

Task Properties

Status and Priority values: Configured in your TaskNotes plugin settings. Run options command to see available values:

uv run scripts/tasks.py options --table

Other fields:

  • projects - Array of project links, e.g. ["[[Project Name]]"]
  • contexts - Array like ["office", "energy-high"]
  • due - Due date (YYYY-MM-DD)
  • scheduled - Scheduled date/time (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS)
  • timeEstimate - Minutes (number)
  • tags - Array of tags
  • details - Task description (writes to markdown body, not frontmatter)

API Reference

Base URL: http://localhost:8080/api

MethodEndpointDescription
GET/tasksList tasks (supports filters)
POST/tasksCreate task
GET/tasks/{id}Get single task
PUT/tasks/{id}Update task
DELETE/tasks/{id}Delete task
GET/filter-optionsAvailable statuses, priorities, projects

Query Parameters for GET /tasks

  • status - Filter by status
  • project - Filter by project name
  • priority - Filter by priority
  • tag - Filter by tag
  • overdue - true/false
  • sort - Sort field
  • limit - Max results
  • offset - Pagination offset

When to Use

  • "create a task for X" → create task
  • "show my tasks" → list all tasks
  • "show in-progress tasks" → list --status in-progress
  • "mark X as done" → update task status to done
  • "what should I work on" → list tasks by status

Example Workflow

# Morning: Check what to work on
uv run scripts/tasks.py list --status in-progress --table
uv run scripts/tasks.py list --limit 5 --table

# Create task linked to project
uv run scripts/tasks.py create "Finish landing page" \
  --project "Website Redesign" \
  --priority high

# Complete a task
uv run scripts/tasks.py update "Tasks/finish-landing-page.md" --status done
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

1. **TaskNotes plugin** installed in Obsidian 2. **Enable HTTP API** in TaskNotes settings: - Open Obsidian Settings → TaskNotes - Enable "HTTP API" toggle - Set API port (default: 8080) - API token: leave empty for no auth, or set a token for security 3. **Environment variables** in `.env` file at vault root (if using auth): ``` TASKNOTES_API_PORT=8080 TASKNOTES_API_KEY=your_token_here ``` If TaskNotes has no auth token set, you don't need a `.env` file.

FAQ

How do I install tasknotes?

Run openclaw add @benoitjadinon/obsidian-plugin-tasknotes in your terminal. This installs tasknotes into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/benoitjadinon/obsidian-plugin-tasknotes. Review commits and README documentation before installing.