<essential_principles>
GTD Core Workflow
- •Capture - Get it out of your head into the system
- •Clarify - Is it actionable? What's the next action?
- •Organize - Add context, energy, status, horizon labels
- •Reflect - Daily/weekly/quarterly/yearly reviews keep system trusted
- •Engage - Work from filtered lists, not full backlog
Running the CLI
All GTD operations go through the gtd CLI. Execute from the repo root (not the skill directory):
# Run from repo root - script auto-detects repo context ./.claude/skills/gtd/scripts/gtd <command>
Setup is automatic: The CLI will detect if labels are missing and create them on first use.
Label Taxonomy (12 Fixed Labels)
Never create new labels. See label-taxonomy.md.
- •Context: focus, meetings, async, offsite (where/when)
- •Energy: high, low (cognitive load)
- •Status: active, waiting, someday (workflow state)
- •Horizon: action, project, goal (GTD altitude)
GTD Horizons of Focus
The system supports David Allen's 6 Horizons:
| Horizon | Name | Implementation |
|---|---|---|
| Ground | Actions | horizon/action label via gtd CLI |
| H1 | Projects | horizon/project label + project grouping |
| H2 | Areas of Focus | 2_Areas/ folder (PARA) |
| H3 | Goals | horizon/goal label via gtd CLI |
| H4 | Vision | HORIZONS.md at vault root |
| H5 | Purpose | HORIZONS.md at vault root |
Setup: Copy the template to your vault root:
cp .claude/skills/gtd/references/horizons.md HORIZONS.md
</essential_principles>
<intake> What would you like to do?- •Capture something new
- •Process inbox (clarify items)
- •Find tasks to work on
- •Do a review (daily/weekly/quarterly/yearly)
- •Manage projects
Wait for response before proceeding. </intake>
<routing>| Response | Command |
|---|---|
| 1, "capture", "add something" | ./gtd capture "<text>" |
| 2, "inbox", "process", "clarify" | ./gtd inbox then ./gtd clarify <id> |
| 3, "list", "find", "work", "tasks" | ./gtd list --status active --context <context> |
| 4a, "daily review" | ./gtd daily |
| 4b, "weekly review" | ./gtd weekly |
| 4c, "quarterly review" | ./gtd quarterly |
| 4d, "yearly review" | ./gtd yearly |
| 4e, "review status", "when did I" | ./gtd reviews |
| 5, "projects", "milestones" | ./gtd projects or ./gtd project list |
| 5a, "create project" | ./gtd project create "<title>" |
| 5b, "show project", "project details" | ./gtd project show "<title>" |
| 5c, "delete project" | ./gtd project delete "<title>" |
After determining intent, execute commands from repo root using ./.claude/skills/gtd/scripts/gtd.
</routing>
<quick_start>
# Run from repo root - script auto-detects repo context GTD="./.claude/skills/gtd/scripts/gtd" # Capture something (goes to inbox) $GTD capture "Review PR for plugin architecture" # See what needs clarifying $GTD inbox # Clarify an item (interactive) $GTD clarify 42 # Add a pre-clarified action $GTD add "Write RFE draft" --context focus --energy high --status active # Add a project (auto-creates milestone) $GTD add "Promotion to Senior Principal" --horizon project # Add an action to a project $GTD add "Schedule skip-level with director" --horizon action --project "Promotion to Senior Principal" # Add a yearly goal $GTD add "2026: Improve fitness" --horizon goal # Find morning focus work $GTD list --context focus --energy high --status active # View projects with progress $GTD projects # Project management $GTD project list # List all projects $GTD project show "Promotion to Senior Principal" $GTD project create "Launch sidekick MVP" --desc "Ship v1.0" --due 2026-06-30 $GTD project update "Launch sidekick MVP" --state closed # Mark complete $GTD project delete "Abandoned idea" --force # Delete milestone # Daily review $GTD daily # Weekly review $GTD weekly # Quarterly review $GTD quarterly # Yearly review $GTD yearly # Check review status $GTD reviews # View action history $GTD history $GTD history --limit 50 $GTD history --since 2026-01-15 # Mark done $GTD done 42
</quick_start>
<command_reference>
| Command | Purpose |
|---|---|
capture <text> | Quick capture to inbox |
inbox | List items needing clarification |
clarify <id> | Interactive clarification workflow |
add <title> | Add a clarified task with labels |
list [filters] | List tasks with optional filters |
view <id> | View task details with GTD labels |
done <id> | Mark task complete (single ID only) |
update <id> [flags] | Update task GTD labels |
comment <id> <text> | Add comment to task |
due <id> [date] | Set due date (YYYY-MM-DD), or view if no date |
due <id> --clear | Remove due date |
defer <id> <date> | Defer until date, optionally --someday |
waiting <id> <person> [reason] | Mark as waiting on someone |
blocked <id> [ids] | Set blockers (comma-separated), --clear to remove |
next [--context] [--energy] | Get suggested next action |
bulk <ids> [flags] | Bulk update (IDs: comma-separated or ranges like 1-5) |
bulk <ids> --close | Close multiple items at once |
projects | List projects with progress (alias for project list) |
project list | List projects with progress |
project show <title> | Show project details and actions |
project create <title> | Create a new project (milestone) |
project update <title> | Update project (desc, due, state, rename) |
project delete <title> | Delete a project |
daily | Daily review workflow (auto-marks complete) |
weekly | Weekly review workflow (auto-marks complete) |
quarterly | Quarterly review (auto-marks complete) |
yearly | Yearly review (auto-marks complete) |
reviews | Show detailed review status and cadences |
history | Show action history log |
setup [--check] | Check/create labels (auto-runs on first use) |
Common filters for list:
- •
--context focus|meetings|async|offsite - •
--energy high|low - •
--status active|waiting|someday - •
--horizon action|project|goal - •
--project "Project Name"
Project command options:
- •
project list [--state open|closed|all] - •
project create <title> [--desc] [--due YYYY-MM-DD] - •
project update <title> [--desc] [--due] [--state open|closed] [--rename] - •
project delete <title> [--force](warns if open actions exist)
Review tracking:
- •
reviews- Show when each review was last done and if overdue - •
reviews --reset daily- Reset review timestamp (for testing) - •Reviews auto-mark complete when you run
daily,weekly,quarterly,yearly - •Cadences: daily=1 day, weekly=7 days, quarterly=90 days, yearly=365 days
History log:
- •
history- Show last 20 actions (human-readable) - •
history --limit 50- Show more entries - •
history --since 2026-01-15- Filter by date - •
history --json- Raw JSONL output (machine-readable) - •Logs stored in
.gtd/history.log</command_reference>
Morning routine:
$GTD daily # Shows: High energy focus → Light focus → Async → Waiting
Between meetings:
$GTD list --energy low --status active # Shows quick tasks (5-15 min each)
Weekly planning:
$GTD weekly # Process inbox, review active items, check projects
Quarterly planning:
$GTD quarterly # Review goals, project progress, set next quarter focus
Yearly planning:
$GTD yearly # Review vision, set yearly goals, reflect on purpose
<success_criteria>
- •All items captured go through clarification
- •Inbox is empty after processing
- •Every project has at least one active action
- •Reviews happen: daily (5 min), weekly (15 min), quarterly (1 hr), yearly (2 hr)
- •Work from filtered context lists, not full backlog
- •All operations go through the
./gtdCLI </success_criteria>
<reference_index>
- •clarify-flowchart.md - GTD decision tree with 2-minute rule
- •label-taxonomy.md - Complete 12-label reference
- •gtd-workflow.md - GTD methodology details
- •horizons.md - Template for HORIZONS.md (copy to vault root)
Review Workflows (agent-consumable instructions):
- •daily-review.md - Daily review guide
- •weekly-review.md - Weekly review guide
- •quarterly-review.md - Quarterly review guide
- •yearly-review.md - Yearly review guide </reference_index>