From tasknote
Quick task creation and updates using mdbase-tasknotes (mtn) CLI. Use for simple task operations: creating tasks, marking done, listing tasks, checking status. Triggers on 'create a task', 'add a task', 'mark done', 'what's on my plate', 'what's overdue', 'todo', 'remind me to'. For full lifecycle management with experiment logs, data logs, and meeting notes, use the tasknote skill instead.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tasknote:tasknote-quickThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Lightweight task operations using `mtnj` CLI (a fork of `mtn` with improved project name handling and `--folder` support). Install: `npm install -g jr-xing/mdbase-tasknotes`. For full lifecycle (experiment logs, data logs, meeting notes, multi-session tracking), use the `tasknote` skill instead.
Lightweight task operations using mtnj CLI (a fork of mtn with improved project name handling and --folder support). Install: npm install -g jr-xing/mdbase-tasknotes. For full lifecycle (experiment logs, data logs, meeting notes, multi-session tracking), use the tasknote skill instead.
CRITICAL: mtnj must know which Obsidian vault to use. Before running any mtnj command:
CLAUDE.md (in the current project root or working directory) and look for a collection path (e.g., MDBASE_TASKNOTES_PATH, collectionPath, or a vault path).mtnj command with -p <path>:
mtnj list -p /path/to/vault
mtnj create "..." -p /path/to/vault
CLAUDE.md does not specify a collection path, ask the user — do NOT let mtnj fall back to its default config (which may point to a temp folder and waste time searching).Never guess wikilink paths. Before creating a task that references a project, verify it exists:
mtnj search "<keyword>" -p <collection>
mtnj list --json -p <collection>
IMPORTANT: mtnj search returns the note title, NOT the filename. Titles can differ from filenames (e.g., title AHA Scientific Session — Abstract Submission vs filename 2026-03-05-PROJECT AHA Scientific Session Abstract Submission.md). Obsidian wikilinks resolve by filename, not title. To get the actual filename:
# Use mtnj show to get the Path:
mtnj show "<title from search>" -p <collection>
# Look for the "Path:" line → extract filename without folder prefix and .md
Use the filename (without .md) in wikilinks: [[2026-03-05-PROJECT AHA Scientific Session Abstract Submission]].
If the user says "for project BII" or "subtask of preprocessing", fuzzy-match against search results. If no match, show candidates and ask. Never invent a [[path]].
# 1. Create via mtnj NLP — use +[[Note Name]] for project/parent linking
# Use --folder to control output directory (e.g. tasks, projects)
mtnj create "<text> @context +[[Note Name With Spaces]] due <date> <priority> priority #tag" --folder tasks -p <collection>
# Output: → tasks/<Title>.md
# 2. Rename to convention — use the EXACT output path from step 1
DATE=$(date +%Y-%m-%d)
mv "tasks/<Title>.md" "tasks/${DATE}-TASK <Title>.md"
NLP patterns: #tag, @context (data/experiment/code/writing/admin), +[[Note Name]] (project/parent link), date phrases, priority words, ~30m estimate.
mtnj correctly handles project names with spaces and produces clean wikilinks in frontmatter (e.g. [[projects/My Project]]). No post-processing needed.
Legacy note: The original
mtnCLI double-wraps wikilinks ([[projects/[[...]]]]) and doesn't support--folder. If usingmtninstead ofmtnj, you need a sed fix after creation:sed -i "s|\[\[projects/\[\[\(.*\)\]\]\]\]|[[\1]]|g" "<file>"
After creation, edit the body to add a brief Log entry:
## Log
### YYYY-MM-DD — Created
[What needs to be done and any context]
Motivation and Goals sections are OPT-IN only. Only add these if the user explicitly provides the content:
## Motivation only if the user says something like "motivation:...", "motiv:...", "because...", or clearly states why the task matters## Goals only if the user explicitly lists goals (e.g., "goal:...", "goals are...", "deliverables:...")mtnj update "<task>" --status in-progress
mtnj update "<task>" --priority high --due 2026-04-01
mtnj update "<task>" --scheduled 2026-03-10 # calendar visibility
When adding progress, append a date-stamped Log entry to the body (don't overwrite existing entries).
mtnj complete "<task>"
Optionally add a brief Summary section between Goals and Log before completing.
mtnj list # Active tasks
mtnj list --overdue # Overdue
mtnj tree # Hierarchical project → task → subtask view
mtnj tree --tag source/yale # Tree with filters (--status, --priority, --tag, --overdue, --all)
mtnj search "<query>" # Full-text search
mtnj timer log --period week # Time this week
mtnj organize # Preview file reorganization into project folders (dry-run)
mtnj organize --apply # Execute the reorganization
mtnj timer start "<task>" -d "focus description"
mtnj timer stop
All files: YYYY-MM-DD-TYPE Title.md. Types: PROJECT, TASK, CARD, REF, DATA-LOG, EXP-LOG, MEETING.
mtnj create then mv to YYYY-MM-DD-TASK <title>.mdnpx claudepluginhub jr-xing/tasknote-skill --plugin tasknoteManages Obsidian tasks via official CLI: lists open tasks across vault, creates tasks in notes, marks tasks complete by ID. Useful for todo and checklist operations.
Organizes markdown task files into folders like tasks/, ideas/, templates/, bugs/ with YAML frontmatter defining types (task, idea, bug), due dates, tags, status. Use when creating or modifying task files.
Creates sequential tasks with priority, status, due dates in secondbrain's .claude/data/tasks YAML shards. Activates on 'create task', 'add todo', or similar requests.