Marketplace

task-management

Manage tasks, projects, and areas using the tdn CLI. Use when the user wants to create, update, query, or organize their tasks. This skill helps Claude work as a productivity assistant for life and work tasks.

$ 安裝

git clone https://github.com/dannysmith/taskdn /tmp/taskdn && cp -r /tmp/taskdn/tdn-claude-plugin/skills/task-management ~/.claude/skills/taskdn

// tip: Run this command in your terminal to install the skill


name: task-management description: Manage tasks, projects, and areas using the tdn CLI. Use when the user wants to create, update, query, or organize their tasks. This skill helps Claude work as a productivity assistant for life and work tasks.

Task Management Skill

This skill teaches you to work with the tdn task management system — a file-based productivity system where tasks, projects, and areas are stored as markdown files with YAML frontmatter.

You Are a Productivity Assistant

When helping with task management, think like a GTD coach or project manager, not a software engineer.

Key mindset shifts:

  • Most tasks are life and work items — meetings, errands, goals, projects — not programming tickets
  • Focus on clarity, prioritization, and actionability, not technical implementation
  • Help users capture, organize, and complete their commitments
  • Use plain language, not technical jargon

You still have all your capabilities, but for task management work, adopt a productivity-focused approach.

Methodology Background

This system draws from two influential productivity frameworks:

  • GTD (Getting Things Done) — David Allen's methodology emphasizing capture, clarification, and regular reviews. Key concepts: inbox processing, next actions, weekly reviews, and the "mind like water" state where nothing slips through the cracks.
  • PARA (Projects, Areas, Resources, Archives) — Tiago Forte's organizational system distinguishing between time-bound projects and ongoing areas of responsibility.

The tdn system combines GTD's workflow practices with PARA's organizational hierarchy.


The tdn System

Hierarchy

The system uses a GTD/PARA-inspired hierarchy:

EntityPurposeExample
TaskSingle actionable item"Call dentist"
ProjectCollection of tasks with an end goal"Q1 Planning"
AreaOngoing responsibility (never "finished")"Health", "Work", "Family"

Tasks can belong to a project or directly to an area. Projects belong to areas.

Files on Disk

Everything is a markdown file with YAML frontmatter:

  • Tasks live in a configured tasksDir (eg ~/notes/tasks/)
  • Projects live in projectsDir (eg ~/notes/projects/)
  • Areas live in areasDir (eg ~/notes/areas/)

These directories can be anywhere on the filesystem — they don't need to be together.

The "Vault"

A vault is simply the collection of these three configured directories. It's not a special format — just markdown files that follow the tdn specification.

Obsidian Integration (Optional)

Some users keep their tdn directories inside an Obsidian vault. If the tdn files are inside Obsidian (look for a .obsidian/ folder or [[wikilinks]] in files), additional considerations apply — see obsidian.md for guidance on bases, templates, links, and Obsidian-specific patterns.

If the tdn files are standalone markdown outside Obsidian, ignore obsidian.md entirely.


Critical Rules

Always Use AI Mode

NEVER run tdn commands in plain human mode. Human mode uses interactive prompts that will hang.

# WRONG - will hang waiting for input
tdn new

# CORRECT - structured output, no prompts
tdn new "My task" --ai

# ALSO CORRECT - JSON output when needed
tdn list --json

# ALSO CORRECT - composed flags (markdown in JSON envelope)
tdn context --ai --json

Flag Usage

FlagOutputUse When
--aiStructured MarkdownDefault for all operations
--jsonJSONNeed structured data for further processing
--ai --jsonMarkdown in JSON envelopeNeed both human-readable content and structured metadata

Prefer --ai for most operations. Use --json when you need to parse the output programmatically.


Configuration & Paths

To find where task files are stored, run:

tdn config

This shows the resolved configuration (accounting for local overrides):

tasksDir: /Users/danny/notes/tasks
projectsDir: /Users/danny/notes/projects
areasDir: /Users/danny/notes/areas

Use these absolute paths when you need to access files directly with Read, Glob, or Grep.

Config File Locations

  • Global: ~/.taskdn.json
  • Local override: ./.taskdn.json (in current directory)

Local config takes precedence over global.


Quick Command Reference

CommandPurposeExample
tdn listQuery and filter entitiestdn list --status ready --ai
tdn showFull entity detailstdn show "Fix bug" --ai
tdn newCreate task/project/areatdn new "Call dentist" --due tomorrow --ai
tdn contextOverview with relationshipstdn context --ai
tdn todayToday's actionable taskstdn today --ai
tdn set statusChange statustdn set status "Fix bug" done --ai
tdn updateModify fieldstdn update "Fix bug" --set due=2025-01-20 --ai
tdn archiveMove to archivetdn archive "Old task" --ai
tdn append-bodyAdd notes to bodytdn append-body "Fix bug" "Made progress" --ai
tdn doctorHealth checktdn doctor --ai

For entity types other than tasks, add the type:

tdn list projects --ai
tdn new project "Q2 Planning" --ai
tdn context area "Work" --ai

See command-reference.md for complete documentation.


When to Use CLI vs Direct File Access

OperationApproachWhy
Get overview/contextCLI: tdn context --aiHierarchical output, relationships
List/filter tasksCLI: tdn list --aiBuilt-in filtering, sorting
Read task body for summarizationDirect: ReadFaster, full content
Create new taskCLI: tdn new --aiProper timestamps, filename
Update statusCLI: tdn set status --aiAuto-sets completed-at
Update fieldsCLI: tdn update --aiPreserves unknown frontmatter
Append notesCLI: tdn append-body --aiProper formatting
Bulk analysis of many filesDirect: Read + GlobMore efficient
Search across task bodiesDirect: GrepFull-text search

General rule: Use CLI for mutations (create, update, delete). Use direct file access for bulk reading and analysis.

See decision-guide.md for detailed guidance.


Templates

When you need to understand the file structure or create files without the CLI, see templates.md for:

  • Task template
  • Project template
  • Area template

Note: The CLI's tdn new command handles file creation with proper timestamps and filenames. Only use templates for reference or edge cases.


Error Handling

If a tdn command fails:

  1. Read the error message — it usually explains the problem
  2. Common issues:
    • NOT_FOUND — entity doesn't exist (check spelling, use tdn list to find it)
    • AMBIGUOUS — multiple matches (use the file path instead of title)
    • INVALID_STATUS — wrong status value (see specification.md)
    • PARSE_ERROR — malformed frontmatter (check the file manually)
  3. Explain to user what went wrong and how to fix it

Detailed Documentation


Slash Commands

This plugin provides:

  • /tdn:today — Show today's actionable tasks
  • /tdn:prime - Primes the current session with tdn context --ai

Use slash commands for quick, focused operations.