Skip to content

Commit f375cbd

Browse files
committed
[claude] add taskwarriror for strong long term tasks
Experimenting with using taskwarriror for storing tasks for AI agents. I played around with beads, but was giving me a lot of trouble, but this is a much simple way to deal with tasks that include comments, can specify dependencies as well as chain stufff. My personal task list is still stored separately, but this will likely help me store tasks for agents. I think I'll still manage my backlog of items in Obsidian, but will use this for storing tasks for AI agents.
1 parent c52e9e0 commit f375cbd

2 files changed

Lines changed: 201 additions & 1 deletion

File tree

  • claude/.claude/skills/taskwarrior
  • home-manager/.config/home-manager
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
---
2+
name: tw
3+
description: Manage tasks using Taskwarrior (task CLI) - create, list, update, complete, annotate, and manage dependencies between tasks.
4+
triggers:
5+
- /tw
6+
- "create task"
7+
- "create issue"
8+
- "add task"
9+
- "list tasks"
10+
- "show task"
11+
- "close task"
12+
- "complete task"
13+
- "what tasks"
14+
- "what's ready"
15+
- "task status"
16+
- "update task"
17+
- "blocked tasks"
18+
- "blocking tasks"
19+
---
20+
21+
# Taskwarrior Issue Management
22+
23+
Use the `task` CLI to manage issues with dependency tracking.
24+
25+
## When to Use
26+
27+
- The user mentions a task ID or wants to manage work items
28+
- The user asks to create, view, update, close, or search tasks
29+
- The user wants to see what work is ready or blocked
30+
- The user wants to manage dependencies between tasks
31+
- The user asks about project status
32+
33+
## Instructions
34+
35+
### Phase 1: Identify the Request
36+
37+
**IMPORTANT**: Always use UUID (short prefix is fine) instead of numeric IDs when referencing tasks. Numeric IDs are unstable and shift when tasks are completed or deleted — **never use numeric IDs in commands**, even if they appear in the output. IDs are shown in reports for the user's convenience only. After creating a task, note its UUID from the output and use that for all subsequent operations.
38+
39+
| Intent | Operation |
40+
|--------|-----------|
41+
| View task details | `task <uuid> information` |
42+
| List/filter tasks | `task list`, `task project:<name> list` |
43+
| See available work | `task ready` |
44+
| Create a new task | `task add` |
45+
| Update task fields | `task <uuid> modify` |
46+
| Complete a task | `task <uuid> done` |
47+
| Delete a task | `task <uuid> delete` |
48+
| Add a comment/annotation | `task <uuid> annotate "text"` |
49+
| Remove annotation | `task <uuid> denotate "text"` |
50+
| Manage dependencies | `task <uuid> modify depends:<other_uuid>` |
51+
| See blocked tasks | `task blocked` |
52+
| See blocking tasks | `task blocking` |
53+
| Project summary | `task summary` or `task projects` |
54+
| Start working | `task <uuid> start` |
55+
| Stop working | `task <uuid> stop` |
56+
| Active tasks | `task active` |
57+
58+
### Phase 2A: Creating Tasks
59+
60+
```bash
61+
# Basic task with project
62+
task add "Task description" project:cpb
63+
64+
# With priority (H=high, M=medium, L=low)
65+
task add "Fix bug" project:cpb priority:H
66+
67+
# With due date
68+
task add "Deploy" project:cpb due:friday
69+
70+
# With tags
71+
task add "Review" project:cpb +urgent +review
72+
73+
# With dependencies (use UUID of the dependency)
74+
task add "Deploy to prod" project:cpb depends:a1b2c3d4
75+
76+
# Sub-projects using dots
77+
task add "Fix API" project:cpb.earn
78+
```
79+
80+
After creating a task, note the UUID from `task list` output for future reference.
81+
82+
### Phase 2B: Annotations (Comments)
83+
84+
```bash
85+
# Add annotation (use UUID)
86+
task a1b2c3d4 annotate "Spoke with Ryan, needs API change first"
87+
task a1b2c3d4 annotate "See PR #1234 for context"
88+
89+
# Remove annotation
90+
task a1b2c3d4 denotate "Spoke with Ryan"
91+
```
92+
93+
### Phase 2C: Dependencies
94+
95+
```bash
96+
# Add dependency using UUIDs (task abc depends on tasks def and ghi)
97+
task a1b2c3d4 modify depends:d5e6f7a8,b9c0d1e2
98+
99+
# Remove dependency
100+
task a1b2c3d4 modify depends:-d5e6f7a8
101+
102+
# View blocked/blocking
103+
task blocked
104+
task blocking
105+
```
106+
107+
### Phase 2D: Filtering
108+
109+
```bash
110+
# By project
111+
task project:cpb list
112+
113+
# By priority
114+
task priority:H list
115+
116+
# By tag
117+
task +urgent list
118+
119+
# By status
120+
task +BLOCKED list
121+
task +OVERDUE list
122+
task +ACTIVE list
123+
124+
# Text search
125+
task /deploy/ list
126+
127+
# Combined filters
128+
task project:cpb priority:H due.before:eow list
129+
```
130+
131+
### Phase 2E: Modifying Tasks
132+
133+
```bash
134+
task a1b2c3d4 modify priority:H
135+
task a1b2c3d4 modify project:cpb.earn
136+
task a1b2c3d4 modify due:eow
137+
task a1b2c3d4 modify +urgent # add tag
138+
task a1b2c3d4 modify -urgent # remove tag
139+
task a1b2c3d4 modify depends:d5e6f7a8 # add dependency
140+
```
141+
142+
### Phase 2F: Completing and Deleting
143+
144+
```bash
145+
task a1b2c3d4 done # mark complete
146+
task a1b2c3d4 delete # mark deleted
147+
task undo # revert most recent change
148+
```
149+
150+
### Phase 2G: Reports and Views
151+
152+
```bash
153+
task list # pending tasks
154+
task next # most urgent
155+
task ready # actionable (not blocked/waiting)
156+
task all # everything
157+
task completed # done tasks
158+
task summary # project summary
159+
task projects # project list with counts
160+
```
161+
162+
### Phase 2H: Export/Import
163+
164+
```bash
165+
task export # all as JSON
166+
task project:cpb export # filtered
167+
task import tasks.json # import
168+
```
169+
170+
### Phase 3: Present Results
171+
172+
For **read operations**, summarize clearly:
173+
- **UUID and Description**: Task identifier (UUID) and description
174+
- **Status**: pending, completed, deleted, waiting
175+
- **Priority**: H/M/L
176+
- **Project**: Project hierarchy
177+
- **Dependencies**: What blocks/is blocked by
178+
- **Annotations**: Comments/notes
179+
- **Due**: Due date if set
180+
181+
For **write operations**, confirm what was done:
182+
- State the action taken and the task UUID
183+
- Show the new state if relevant
184+
185+
## Guidelines
186+
187+
- Use `project:cpb` as the default project for control-plane-backend work
188+
- Use sub-projects with dots for specificity (e.g., `project:cpb.earn`)
189+
- Priority levels: H (high/critical), M (medium), L (low/backlog)
190+
- Use annotations for context, links, and notes — but NOT for dependency info (use `depends:` instead)
191+
- Always use taskwarrior's native `depends:` for dependency chains, never annotations
192+
- When creating multi-environment rollouts (dev -> stage -> prod), create separate tasks and chain them with `depends:`
193+
- Use `task ready` to find unblocked work (excludes blocked tasks)
194+
- Use `task next` when the user asks "what should I work on"
195+
- Use `task blocked` / `task blocking` to inspect dependency state
196+
- Reference tasks in backlog using backtick format: `tw:<uuid>`
197+
- Date shorthands: today, tomorrow, monday, eod, eow, eom, eoq, eoy, som, sow
198+
- The default `list` report shows dependencies in the Deps column
199+
200+
ARGUMENTS: $ARGUMENTS

home-manager/.config/home-manager/home.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ in
122122
pkgs.gnuplot # plotting
123123
pkgs.ddgr # search ddg from terminal
124124
# pkgs.dasht # terminal docs
125-
# pkgs.taskwarrior # task management
125+
pkgs.taskwarrior3 # task management
126126
pkgs.todo-txt-cli # todo management
127127
# pkgs.ts # task spooler
128128
pkgs.pup # html filtering

0 commit comments

Comments
 (0)