summaryrefslogtreecommitdiff
path: root/prompts/skills/taskwarrior-task-management/references/00-context.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-27 22:57:35 +0200
committerPaul Buetow <paul@buetow.org>2026-02-27 22:57:35 +0200
commit4d4d27cf2403b8e0e717ac48bf866c3ee9e2fe1a (patch)
tree8e92cfbdbac81a74d4461a40ceea6fe035bf8f69 /prompts/skills/taskwarrior-task-management/references/00-context.md
parent40c58a284ee0bc78d79e87234e5670f1adc3dd03 (diff)
add references
Diffstat (limited to 'prompts/skills/taskwarrior-task-management/references/00-context.md')
-rw-r--r--prompts/skills/taskwarrior-task-management/references/00-context.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/prompts/skills/taskwarrior-task-management/references/00-context.md b/prompts/skills/taskwarrior-task-management/references/00-context.md
new file mode 100644
index 0000000..fc4ea60
--- /dev/null
+++ b/prompts/skills/taskwarrior-task-management/references/00-context.md
@@ -0,0 +1,23 @@
+# 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)"
+```
+
+Use it as `project:<name>` in every `task` command.
+
+## Rules that apply to all task commands
+
+- **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.
+- **EVERY `task` command MUST include `project:<name>`** — no exceptions. When listing or querying, also include `+agent` so only agent-managed tasks are shown (e.g. `task project:<name> +agent list`). Never run a bare `task` without the project filter. When using a task ID, confirm the task belongs to the current project **and** has the `+agent` tag before acting on it.
+- **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, `task <id> _uuid` or `task <filter> uuids`) and prefer `uuid:<uuid>` selectors in commands.