Back to Skills

tasknotes

verified

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.

View on GitHub

Marketplace

personal-os-skills

ArtemXTech/personal-os-skills

Plugin

tasknotes-skill

Repository

ArtemXTech/personal-os-skills
40stars

skills/tasknotes/SKILL.md

Last Verified

January 23, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/ArtemXTech/personal-os-skills/blob/main/skills/tasknotes/SKILL.md -a claude-code --skill tasknotes

Installation paths:

Claude
.claude/skills/tasknotes/
Powered by add-skill CLI

Instructions

# 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

```bash
# 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:
```bash
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
-

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
3321 chars