summaryrefslogtreecommitdiff
path: root/prompts
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-22 21:30:10 +0200
committerPaul Buetow <paul@buetow.org>2026-03-22 21:30:10 +0200
commit3da29e7d78621d4e83d42dc1680c9234a118b4d4 (patch)
treed6b7e8ea07efaac90684002c2d43a095ca75a8b2 /prompts
parent5e817371a43ba468e5f216230d504b6124c85e95 (diff)
remove taskwarrior-task-management skill and references
Diffstat (limited to 'prompts')
-rw-r--r--prompts/skills/taskwarrior-task-management/SKILL.md57
-rw-r--r--prompts/skills/taskwarrior-task-management/references/00-context.md24
-rw-r--r--prompts/skills/taskwarrior-task-management/references/1-create-task.md52
-rw-r--r--prompts/skills/taskwarrior-task-management/references/2-start-task.md24
-rw-r--r--prompts/skills/taskwarrior-task-management/references/3-complete-task.md63
-rw-r--r--prompts/skills/taskwarrior-task-management/references/4-annotate-update-task.md44
-rw-r--r--prompts/skills/taskwarrior-task-management/references/5-review-overview-tasks.md76
7 files changed, 0 insertions, 340 deletions
diff --git a/prompts/skills/taskwarrior-task-management/SKILL.md b/prompts/skills/taskwarrior-task-management/SKILL.md
deleted file mode 100644
index 06f8d06..0000000
--- a/prompts/skills/taskwarrior-task-management/SKILL.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-name: taskwarrior-task-management
-description: "Manage Taskwarrior tasks scoped to the current git project. Use when asked to list, add, start, complete, annotate, or organize tasks for the project. Prefer compaction over starting a new context when beginning a new task. May start work in parallel (e.g. multiple sub-agents on different tasks) as long as agents do not conflict with each other. Triggers on: tasks, todo, task list, pick next task, what's next."
----
-
-# Taskwarrior Task Management
-
-Taskwarrior tasks are scoped to the current git repository. **Load only the files you need** for the current action so the whole skill does not need to be in context.
-
-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
-
-When beginning a new task, **prefer running a compaction** over starting a completely new context. If starting a new context for a new task is not possible, run a compaction instead.
-
-## When to Use
-
-- User asks to **list**, **add**, **start**, **complete**, **annotate**, or **organize** tasks for the project.
-- Triggers: *tasks*, *todo*, *task list*, *pick next task*, *what's next*.
-- You may start work **in parallel** (e.g. multiple sub-agents on different tasks) as long as agents do not conflict with each other.
-
-## When to load what
-
-| Action | Load |
-|--------|------|
-| **Create task** | `references/00-context.md` + `references/1-create-task.md` (include refs to all context required) |
-| **Start task** | `references/00-context.md` + `references/2-start-task.md` (start with fresh context; use task refs) |
-| **Complete task** | `references/00-context.md` + `references/3-complete-task.md` |
-| **Annotate / update task** | `references/00-context.md` + `references/4-annotate-update-task.md` |
-| **Review / overview tasks** | `references/00-context.md` + `references/5-review-overview-tasks.md` |
-
-Always load `references/00-context.md` first (project name resolution and global rules); then load the one action file that matches what you are doing.
-
-## Task lifecycle (overview)
-
-1. Create task → 2. Start task → 3. Annotate as you go → 4. **Completion criteria** (best practices, compilable, all tests pass, negative tests where plausible) → 5. Sub-agent review (fresh context) → 6. Main agent addresses all review comments → 7. **Repeat sub-agent review + fixes until no issues are found** → 8. **Commit all changes to git** → 9. Complete task → 10. **Automatically progress to the next task in the list** (when all tests and required sub-agent review(s) pass).
-
-A task is not done until criteria are met, all review comments are addressed, **and the sub-agent review cycle has completed with no remaining issues**, and all changes are committed to git. After completing a task, start the next task in the list (if any). Details are in `references/3-complete-task.md`.
diff --git a/prompts/skills/taskwarrior-task-management/references/00-context.md b/prompts/skills/taskwarrior-task-management/references/00-context.md
deleted file mode 100644
index bd7d08b..0000000
--- a/prompts/skills/taskwarrior-task-management/references/00-context.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Taskwarrior task management — shared context
-
-Load this with any of the action files (1–5) when working with tasks. It defines project scope and rules that apply to all task operations.
-
-## Project name
-
-Derive the project name from the git repository:
-
-```bash
-basename -s .git "$(git remote get-url origin 2>/dev/null)" 2>/dev/null || basename "$(git rev-parse --show-toplevel)"
-```
-
-The `ask` command automatically injects this as `project:<name> +agent` into every command — you never need to specify these manually.
-
-## 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.
-- **Parallel work via sub-agents** — the agent may spawn sub-agents to work on tasks in parallel only **after the user approves**.
-- **IDs are ephemeral; use UUIDs for stability.** Taskwarrior numeric IDs are working-set indices and can be renumbered when the working set is rebuilt. Use numeric IDs only within a single `list` → immediate command sequence.
-- **Use UUIDs for any long-lived reference.** For anything that must survive beyond a single report (handoffs between agents, saved notes, dependencies you mention in text, “next task” pointers, etc.), resolve and use the task’s UUID (for example, `ask <id> _uuid` or `ask <filter> uuids`) and prefer `uuid:<uuid>` selectors in commands.
diff --git a/prompts/skills/taskwarrior-task-management/references/1-create-task.md b/prompts/skills/taskwarrior-task-management/references/1-create-task.md
deleted file mode 100644
index c980e8b..0000000
--- a/prompts/skills/taskwarrior-task-management/references/1-create-task.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Create task
-
-Use with `00-context.md`. Project name and global rules apply. New tasks get `+agent` so they are agent-managed; when setting dependencies (`depends:<id>`), use IDs of tasks that have `+agent` (from `project:<name> +agent` lists).
-
-## Rules for new tasks
-
-- **When creating a new task, always check whether the new task depends on other (existing) tasks.** If it does, add the dependency to the new task (e.g. `depends:<id>` or `depends:<id1>,<id2>`). Use IDs of tasks that have `+agent` in this project.
-- **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 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.
-
-## Add a task
-
-`ask add` already injects `project:<name> +agent`, so only add the extra feature tag(s) and description:
-
-```bash
-ask add +<tag> "Description"
-```
-
-Then add the workflow annotation (use the ID from the add output):
-
-```bash
-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:
-
-```bash
-ask <id> annotate "UUID: $(ask <id> _uuid)"
-```
-
-## With dependency
-
-```bash
-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 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
-
-- **Keep tasks small:** each task should be a chunk that fits in the context window (description + refs + work to do). Split large efforts into multiple dependent tasks.
-- Pick or create a meaningful tag for the sub-project or feature.
-- **Always check for dependencies:** before adding a task, determine if it depends on other tasks in the project; if so, add `depends:<id>` (or multiple IDs) to the new task.
-- Add dependencies when one task must complete before another can start.
-- When creating a task, add references to all required context (files, docs, specs) so the task is self-contained for fresh-context work.
diff --git a/prompts/skills/taskwarrior-task-management/references/2-start-task.md b/prompts/skills/taskwarrior-task-management/references/2-start-task.md
deleted file mode 100644
index 90a8986..0000000
--- a/prompts/skills/taskwarrior-task-management/references/2-start-task.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Start task
-
-Use with `00-context.md`. Project name and global rules apply (including one task in progress per project unless the user says otherwise). Only start tasks that have both `project:<name>` and the `+agent` tag — use task IDs from `project:<name> +agent` filtered lists.
-
-## Start each new task with a fresh context
-
-Work on each new task **must begin with a fresh context** — e.g. a new session or a sub-agent with no prior conversation. That way the task is executed with clear focus and no carry-over from other work. The task itself should already contain references to all required context (added when the task was created); read the task description and all annotations to get files, docs, and specs before starting.
-
-## Mark task as started
-
-When you begin working on a task, **always mark it as started in Taskwarrior** so current work is visible:
-
-```bash
-ask uuid:<uuid> start
-```
-
-Do this as soon as you start work on the task.
-
-## Conventions
-
-- Start each new task with a fresh context; rely on the task’s description and annotations for all required context.
-- Run `ask uuid:<uuid> start` when you start working on the task, not only when listing or completing.
-- Do not start a second task for the same project while one is already started and not done, unless the user explicitly asks.
-- When a task is selected via the review/overview step, use the stored UUID (for example, `uuid:<uuid>`) for subsequent `start` operations, not a freshly-looked-up numeric ID from a new report.
diff --git a/prompts/skills/taskwarrior-task-management/references/3-complete-task.md b/prompts/skills/taskwarrior-task-management/references/3-complete-task.md
deleted file mode 100644
index 911ac62..0000000
--- a/prompts/skills/taskwarrior-task-management/references/3-complete-task.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Complete task
-
-Use with `00-context.md`. Project name and global rules apply. Only complete tasks that have both `project:<name>` and the `+agent` tag — use task IDs from `project:<name> +agent` filtered lists.
-
-## Completion criteria (required before “done”)
-
-A task is **not** considered done until all of the following are true:
-
-- **Best practices** — the codebase (or changed parts) follows the project’s best practices.
-- **Compilable** — all code compiles successfully (e.g. full build succeeds).
-- **Tests pass** — all tests pass (e.g. full test suite green).
-- **Negative tests where plausible** — for any new or changed tests, include negative tests (invalid input, errors, failure cases) wherever plausible.
-- **All changes committed to git** — on completion of the task, all changes must be committed to git (e.g. a single commit or logical commits with a clear message referencing the task).
-
-If any of these fail, fix the issues and recheck. Do not mark the task complete until they are all met.
-
-## What the review sub-agent must check
-
-Review sub-agents **must always**:
-
-- **Unit test coverage** — double-check that coverage is as desired for the changed or added code (e.g. project expectations or thresholds are met).
-- **Tests are testing real things** — confirm that tests exercise real behavior and assertions, not only mocks. Flag tests that merely assert on mocks or stubs without verifying real logic, integration points, or outcomes. Tests should give confidence that the code actually works.
-- **Negative tests where plausible** — for all tests created, ensure there are also negative tests (invalid input, error paths, edge cases that should fail, unauthorized access, etc.) wherever plausible. If positive/happy-path tests exist but no corresponding negative tests, flag it unless there is a clear reason none are plausible.
-
-Include these checks in the sub-agent’s review report.
-
-## Self-review before any sub-agent handoff
-
-**Before signing off work to sub-agents for review** (before the first review, and again before a second review if needed), the main agent must **ask itself**:
-
-- Did everything I did make sense?
-- Isn’t there a better way to do it?
-
-If the answer suggests improvements or inconsistencies, address them first. Only then hand off to the sub-agent. Do not skip this step.
-
-## Before marking complete (after criteria are met)
-
-**Once the completion criteria above are met:**
-
-1. **Self-review** (see above). Then spawn a **sub-agent** with **fresh context** (no prior conversation).
-2. Sub-agent reviews the diff, code, or deliverables for the task (including test coverage and test quality — see “What the review sub-agent must check”) and **reports back** to the main agent (review comments, suggestions, issues).
-3. Main agent **addresses all review comments** from the sub-agent — no exceptions. Fix or respond to every point.
-4. If code changed after review comments were addressed: **Self-review again** (see above), then **spawn another sub-agent** (fresh context again) to **review the updated code** (including test coverage and test quality) and confirm the fixes. If this follow-up review finds further issues and additional code changes are made, repeat this step until the review is satisfied.
-5. **Commit all changes to git** (e.g. `git add` and `git commit` with a message that references the task). Do not mark the task complete with uncommitted changes.
-6. Only then:
-
-```bash
-ask uuid:<uuid> done
-```
-
-Use the UUID that identifies the task (for example, from its annotations or from the selection step), rather than relying on a numeric ID that may have been renumbered since the last report.
-
-7. **Automatically progress to the next task in the list.** After marking the task done, if there are more agent-managed tasks in the project (e.g. `ask list` shows pending/ready tasks), start the next one: load `00-context.md` and `2-start-task.md`, pick the next task from the list (respecting dependencies and "one task in progress" rule), and begin work on it. Do not stop after completing a task when a next task is available — continue to the next task in the list.
-
-## Conventions
-
-- When creating or changing tests, add negative tests (invalid input, errors, failure paths) wherever plausible; the review sub-agent will check for this.
-- A task is not done until: best practices met, code compiles, all tests pass, negative tests included where plausible, and all first-round review comments are addressed (including coverage and test-quality checks), **and all changes are committed to git**. If code changed after review comments, a second sub-agent review must confirm the updated code.
-- Before every sub-agent review handoff, do the self-review: “Did it all make sense? Is there a better way?” Fix anything that comes up, then hand off.
-- **On completion, commit all changes to git** before running `ask <id> done`; do not leave uncommitted work when marking a task complete.
-- Complete with `ask <id> done` only after completion criteria, self-review(s), first review, addressing all comments, and git commit are satisfied. Add a follow-up sub-agent review only when code changed after review comments.
-- When completing a task, note which tasks were unblocked (dependents that became ready), if any.
-- **After completing a task, automatically progress to the next task in the list** (when all tests and required sub-agent review(s) pass and the task is done). Start the next ready task from `ask +READY list`; do not stop unless no next task is available or the user asks to stop.
diff --git a/prompts/skills/taskwarrior-task-management/references/4-annotate-update-task.md b/prompts/skills/taskwarrior-task-management/references/4-annotate-update-task.md
deleted file mode 100644
index 19da7d5..0000000
--- a/prompts/skills/taskwarrior-task-management/references/4-annotate-update-task.md
+++ /dev/null
@@ -1,44 +0,0 @@
-# Annotate / update task
-
-Use with `00-context.md`. Project name and global rules apply. Only annotate, modify, or delete tasks that have both `project:<name>` and the `+agent` tag. Use numeric IDs only within a single report; for any stored or shared reference (annotations, docs, handoffs), **refer to tasks by UUID** and prefer `uuid:<uuid>` selectors when running commands.
-
-## Reading task context
-
-When working on a task, **always read the full context:** description, summary, and **all annotations**. Annotations often contain progress, challenges, and references to files or documents — use them for further reference.
-
-View full task (including annotations):
-
-```bash
-ask <id>
-```
-
-## Annotate a task
-
-```bash
-ask uuid:<uuid> annotate "Note about progress or context"
-```
-
-While making progress, **add annotations** to reflect progress, challenges, or decisions. You may refer to files, documents, or other resources (paths, doc links, snippets) so the task history stays useful for later work and for the pre-completion review.
-
-Whenever you mention another task inside an annotation (for example, as a dependency or related work), include that other task’s **UUID**, not just its numeric ID.
-
-## Modify a task
-
-```bash
-ask <id> modify +<tag>
-ask <id> modify depends:<id2>
-ask <id> modify priority:H
-```
-
-Use `uuid:<uuid>` in place of `<id>` when modifying tasks selected earlier or referenced from annotations or other docs, so changes are applied to the correct task even if IDs have been renumbered.
-
-## Delete a task
-
-```bash
-ask <id> delete
-```
-
-## Conventions
-
-- Read description, summary, and all annotations when working on a task.
-- Annotate with implementation notes, progress, challenges, and references to files or documents as you go.
diff --git a/prompts/skills/taskwarrior-task-management/references/5-review-overview-tasks.md b/prompts/skills/taskwarrior-task-management/references/5-review-overview-tasks.md
deleted file mode 100644
index e7bf1b7..0000000
--- a/prompts/skills/taskwarrior-task-management/references/5-review-overview-tasks.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Review / overview tasks
-
-Use with `00-context.md`. Project name and global rules apply.
-
-## List tasks for the project
-
-Only list tasks that have `+agent` (project + tag matching). When listing, order by **priority first, then urgency**:
-
-```bash
-ask list sort:priority-,urgency-
-```
-
-By tag (keep `+agent`, same order):
-
-```bash
-ask +<tag> list sort:priority-,urgency-
-```
-
-## Picking what to work on (next task)
-
-**Order by priority first, then by urgency.** When choosing among tasks, always consider priority first (e.g. H then M then L), then urgency as a tiebreaker.
-
-**Check already-started tasks first.** Before suggesting or starting a new task:
-
-```bash
-ask start.any: list sort:priority-,urgency-
-```
-
-- If any tasks are already started, **use one of those** (pick by priority, then urgency) — do not start a second task unless the user explicitly asks.
-- Only if no tasks are in progress, show the next actionable (READY) task, ordered by priority then urgency:
-
-```bash
-ask +READY list sort:priority-,urgency- limit:1
-```
-
-(Or use `next limit:1` with a report that sorts priority first, then urgency, if your Taskwarrior config supports it.)
-
-Once you have chosen a task from one of these lists, **immediately resolve its UUID** and use that for all subsequent operations and handoffs:
-
-```bash
-ask <id> _uuid
-# or, for a filtered selection:
-ask +READY limit:1 uuids
-```
-
-When returning or recording the chosen task for another agent or a later step, **include its UUID**, and in follow-up commands prefer a UUID selector (for example, `ask uuid:<uuid> ...`) instead of relying on the numeric ID from a previous report.
-
-## View task details
-
-```bash
-ask <id>
-# or, when you already have the UUID:
-ask uuid:<uuid>
-```
-
-Only work with task IDs that came from the filtered lists above (project + `+agent`). Always read description, summary, and **all annotations** when working on or reviewing a task.
-
-## Visualization
-
-Dependency tree (export, agent tasks only):
-
-```bash
-ask export
-```
-
-Blocked vs ready (with `+agent`):
-
-```bash
-ask +BLOCKED list
-ask +READY list
-```
-
-## Conventions
-
-- When picking the next task: first list already-started (`start.any:`); if any exist, continue one of those; only if none, pick from `+READY`. **Always order by priority first, then urgency** (e.g. `sort:priority-,urgency-`).
-- Among ready or started tasks, choose by priority (H then M then L), then by urgency.