with one click
tasknotes
// 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.
// 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.
Import NotebookLM notebooks into your Obsidian vault as linked knowledge graphs. Sources become wikilink-able files, Q&A answers get citations resolved to [[wikilinks]] with passage-level deep links. Use when user says "notebooklm import", "import notebook", "notebooklm sources", or wants to import NotebookLM data into vault files.
Turn expert podcasts into personalized protocols with cited experiments. Load 300 episodes from terminal, run an expert-informed interview, build experiments in your Obsidian morning routine. Use when user says "notebooklm", "load channel", "expert interview", "notebooklm ask", "health protocol", or wants to turn expert content into actionable experiments.
Sync Claude Code sessions to Obsidian markdown. Export, resume, add notes, close sessions. USE WHEN user says "sync sessions", "export sessions", "resume session", "add session note", "close session", "log session".
Load context from vault memory. Temporal queries (yesterday, last week, session history) use native JSONL timeline. Topic queries use QMD BM25 search. "recall graph" generates interactive temporal graph of sessions and files. Every recall ends with "One Thing" - the single highest-leverage next action synthesized from results. Use when user says "recall", "what did we work on", "load context about", "remember when we", "prime context", "yesterday", "what was I doing", "last week", "session history", "recall graph", "session graph".
Analyze Wispr Flow voice dictation data. Stats, search, export, visualizations. Use when user says "dictation history", "word counts", "voice analytics", "how much did I dictate", "search my dictation".
| 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. |
Manage Obsidian tasks via the TaskNotes plugin HTTP API.
.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.# 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
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 tagsdetails - Task description (writes to markdown body, not frontmatter)Base URL: http://localhost:8080/api
| Method | Endpoint | Description |
|---|---|---|
| GET | /tasks | List tasks (supports filters) |
| POST | /tasks | Create task |
| GET | /tasks/{id} | Get single task |
| PUT | /tasks/{id} | Update task |
| DELETE | /tasks/{id} | Delete task |
| GET | /filter-options | Available statuses, priorities, projects |
status - Filter by statusproject - Filter by project namepriority - Filter by prioritytag - Filter by tagoverdue - true/falsesort - Sort fieldlimit - Max resultsoffset - Pagination offset# 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