diff options
| -rw-r--r-- | prompts/skills/taskwarrior-task-management/SKILL.md | 2 | ||||
| -rw-r--r-- | prompts/skills/taskwarrior-task-management/references/00-context.md | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/prompts/skills/taskwarrior-task-management/SKILL.md b/prompts/skills/taskwarrior-task-management/SKILL.md index 6d88e7f..b706ff8 100644 --- a/prompts/skills/taskwarrior-task-management/SKILL.md +++ b/prompts/skills/taskwarrior-task-management/SKILL.md @@ -7,7 +7,7 @@ description: "Manage Taskwarrior tasks scoped to the current git project. Use wh 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. -Prefer `ask ...` for agent-managed project tasks. `ask` is Taskwarrior-compatible because it pre-sets `project:<name> +agent` while preserving normal Taskwarrior commands, reports, filters, and UUID workflows. `hexai task ...` is a compatibility alias with the same behavior. +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. 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. diff --git a/prompts/skills/taskwarrior-task-management/references/00-context.md b/prompts/skills/taskwarrior-task-management/references/00-context.md index 20c41fe..55422cb 100644 --- a/prompts/skills/taskwarrior-task-management/references/00-context.md +++ b/prompts/skills/taskwarrior-task-management/references/00-context.md @@ -10,13 +10,12 @@ Derive the project name from the git repository: 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. +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 -- **Prefer `ask ...` for project-scoped agent tasks.** `ask` automatically injects `project:<name> +agent` and otherwise behaves like normal Taskwarrior. `hexai task ...` is a compatibility alias with the same behavior. +- **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. - **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. -- **If you use raw `task` instead of `ask`, EVERY 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**. |
