diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-20 22:52:50 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-20 22:52:50 +0200 |
| commit | 129dcd81dd1a929b03ba88ad8bc2b852fefb39eb (patch) | |
| tree | 59ca9a0ac0bcf940900ea8dfd6e9aa0c1c6ac1bc /prompts/skills/taskwarrior-task-management | |
| parent | 097afe5a81849ea8a921286c887014e242fa3794 (diff) | |
update
Diffstat (limited to 'prompts/skills/taskwarrior-task-management')
3 files changed, 22 insertions, 4 deletions
diff --git a/prompts/skills/taskwarrior-task-management/SKILL.md b/prompts/skills/taskwarrior-task-management/SKILL.md index b706ff8..06f8d06 100644 --- a/prompts/skills/taskwarrior-task-management/SKILL.md +++ b/prompts/skills/taskwarrior-task-management/SKILL.md @@ -9,6 +9,23 @@ Taskwarrior tasks are scoped to the current git repository. **Load only the file Always use `ask ...` for all task operations. `ask` is a tiny wrapper that pre-sets `project:<name> +agent`, scoping every command to the current project's agent-managed tasks while preserving normal Taskwarrior commands, reports, filters, and UUID workflows. `hexai task ...` is a compatibility alias with the same behavior. Never use the raw `task` command directly. +`ask` is only a Taskwarrior CLI wrapper. It is not a natural-language assistant, and it does not understand skill names. Use normal Taskwarrior syntax only. + +Valid examples: + +- `ask start.any: export` +- `ask +READY export` +- `ask uuid:<uuid> annotate "note"` +- `ask uuid:<uuid> modify priority:H` +- `ask uuid:<uuid> done` + +Invalid examples: + +- `ask taskwarrior-task-management ...` +- `ask list tasks` +- `ask show task 298` +- any other natural-language phrasing passed to `ask` + Taskwarrior numeric IDs are **ephemeral working-set indices** and may be renumbered; this skill treats **UUIDs as the stable identifiers** for tasks. Use numeric IDs only within a single “report → immediate command” flow, and use UUIDs for anything that must survive across sessions, agents, or reports. ## Context and compaction diff --git a/prompts/skills/taskwarrior-task-management/references/00-context.md b/prompts/skills/taskwarrior-task-management/references/00-context.md index 55422cb..bd7d08b 100644 --- a/prompts/skills/taskwarrior-task-management/references/00-context.md +++ b/prompts/skills/taskwarrior-task-management/references/00-context.md @@ -15,6 +15,7 @@ The `ask` command automatically injects this as `project:<name> +agent` into eve ## Rules that apply to all task commands - **Always use `ask ...` for all task operations.** `ask` is a tiny wrapper that automatically injects `project:<name> +agent`, scoping every command to the current project's agent-managed tasks. `hexai task ...` is a compatibility alias with the same behavior. Never use the raw `task` command directly. +- **`ask` only accepts normal Taskwarrior CLI syntax.** It is not a natural-language interface and it does not understand skill names. Valid examples: `ask start.any: export`, `ask +READY export`, `ask uuid:<uuid> annotate "note"`, `ask uuid:<uuid> modify priority:H`, `ask uuid:<uuid> done`. Invalid examples: `ask taskwarrior-task-management ...`, `ask list tasks`, `ask show task 298`. - **Project and tag matching:** The agent only reads, modifies, or creates tasks that have **both** `project:<name>` **and** the `+agent` tag. Do not touch any task that does not have `+agent` set. - **NEVER modify, delete, complete, start, or annotate tasks from other projects or tasks without `+agent`.** Only act on tasks where `project:<name>` matches the current git repo and the task has the `+agent` tag. - **One task in progress per project.** Do not start a second task while another is started and not completed, unless the user explicitly asks. diff --git a/prompts/skills/taskwarrior-task-management/references/1-create-task.md b/prompts/skills/taskwarrior-task-management/references/1-create-task.md index df6819a..c980e8b 100644 --- a/prompts/skills/taskwarrior-task-management/references/1-create-task.md +++ b/prompts/skills/taskwarrior-task-management/references/1-create-task.md @@ -8,7 +8,7 @@ Use with `00-context.md`. Project name and global rules apply. New tasks get `+a - **Create tasks in smaller chunks that fit into the context window.** Break work into multiple tasks so that each task’s scope, description, and required context (refs, files, docs) can fit in one context window when the agent works on it with a fresh context. Do not create single tasks that would require more context than available. - **Every task MUST have at least one tag** for sub-project/feature/area (e.g. `+integrationtests`, `+flamegraph`, `+bpf`, `+cli`, `+refactor`, `+bugfix`). - **When an agent creates a task, always add the tag `+agent`** so agent-created tasks can be identified. -- **After creating a task, add an annotation** so any agent working on the task is reminded to use this skill and to auto-progress: `ask <id> annotate "Agent: be aware of taskwarrior-task-management skill. When working on this task, also load and apply: (1) the best-practices skill for the programming language used in the project, (2) solid-principles, and (3) beyond-solid-principles. When all tests and sub-agent reviews pass, automatically progress to the next task in the list."` This ensures agents (including those with fresh context) know to load and follow the taskwarrior-task-management skill, respect code-quality skills (best-practices, SOLID, beyond-SOLID), and continue to the next task after completion. +- **After creating a task, add an annotation** so any agent working on the task is reminded how to operate and to auto-progress: `ask <id> annotate "Agent workflow: load the taskwarrior-task-management skill as instructions only, not as a shell command. Never run ask taskwarrior-task-management ... or other natural-language ask commands. Use only normal Taskwarrior syntax through ask. Also load and apply: (1) the best-practices skill for the programming language used in the project, (2) solid-principles, and (3) beyond-solid-principles. When all tests and sub-agent reviews pass, commit and automatically progress to the next ready task."` This keeps fresh-context agents aligned on Taskwarrior usage, code-quality skills, and auto-progression without encouraging malformed `ask` commands. - **Include references to all context required** to work on the task. So that work can be done with a fresh context, every task must list or link everything needed: relevant files, docs, specs, other tasks, or project guidelines (e.g. paths, doc links, `AGENTS.md`, `README` sections). Put these in the task description or in an initial annotation so that an agent starting with no prior conversation has everything they need in the task itself. - **Record the task’s UUID for future reference.** After creating a task, resolve its UUID (for example, `ask <id> _uuid`) and include it in an annotation such as `UUID: <uuid>` so the exact task can be recovered even if IDs are renumbered. - When tasks refer to other tasks in free text (annotations, descriptions, docs, or commit messages), **use the other task’s UUID**, not just its numeric ID. @@ -21,10 +21,10 @@ Use with `00-context.md`. Project name and global rules apply. New tasks get `+a ask add +<tag> "Description" ``` -Then add the agent-awareness annotation (use the ID from the add output): +Then add the workflow annotation (use the ID from the add output): ```bash -ask <id> annotate "Agent: be aware of taskwarrior-task-management skill. When working on this task, also load and apply: (1) the best-practices skill for the programming language used in the project, (2) solid-principles, and (3) beyond-solid-principles. When all tests and sub-agent reviews pass, automatically progress to the next task in the list." +ask <id> annotate "Agent workflow: load the taskwarrior-task-management skill as instructions only, not as a shell command. Never run ask taskwarrior-task-management ... or other natural-language ask commands. Use only normal Taskwarrior syntax through ask. Also load and apply: (1) the best-practices skill for the programming language used in the project, (2) solid-principles, and (3) beyond-solid-principles. When all tests and sub-agent reviews pass, commit and automatically progress to the next ready task." ``` Also add an annotation that records the task’s UUID, for example: @@ -41,7 +41,7 @@ ask add +<tag> "Description" depends:<id> Multiple dependencies: `depends:<id1>,<id2>`. -After adding (with or without dependency), run the same annotation: `ask <id> annotate "Agent: be aware of taskwarrior-task-management skill. When working on this task, also load and apply: (1) the best-practices skill for the programming language used in the project, (2) solid-principles, and (3) beyond-solid-principles. When all tests and sub-agent reviews pass, automatically progress to the next task in the list."` +After adding (with or without dependency), run the same annotation: `ask <id> annotate "Agent workflow: load the taskwarrior-task-management skill as instructions only, not as a shell command. Never run ask taskwarrior-task-management ... or other natural-language ask commands. Use only normal Taskwarrior syntax through ask. Also load and apply: (1) the best-practices skill for the programming language used in the project, (2) solid-principles, and (3) beyond-solid-principles. When all tests and sub-agent reviews pass, commit and automatically progress to the next ready task."` ## Conventions |
