一键导入
taskwarrior
Query patterns, state management, and operations for the Jira-Taskwarrior agentic coding workflow
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query patterns, state management, and operations for the Jira-Taskwarrior agentic coding workflow
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | taskwarrior |
| description | Query patterns, state management, and operations for the Jira-Taskwarrior agentic coding workflow |
| license | MIT |
| metadata | {"workflow":"jira-taskwarrior","audience":"ai-agents"} |
Reference for interacting with Taskwarrior in the agentic coding workflow. This skill covers query patterns, state management, and common operations for specs, phases, and implementation tasks.
| UDA | Type | Purpose | Example |
|---|---|---|---|
jiraid | string | Links to Jira issue | jiraid:IMP-7070 |
work_state | string | Workflow state machine | work_state:approved |
repository | string | Git repository name | repository:account-api |
| Tag | Applied To | Purpose |
|---|---|---|
+jira | Jira tasks | Identifies tasks synced from Jira via Bugwarrior |
+spec | Spec tasks | Identifies the specification task for a Jira issue |
+phase | Phase tasks | Groups related implementation work into phases |
+impl | All impl tasks | Identifies implementation tasks (includes phases) |
+conditional | Optional tasks | Tasks that may be skipped based on context |
Jira Issue (+jira, work_state:new) ← Synced via Bugwarrior
↓ (linked via jiraid UDA, NOT depends:)
Spec Task (+spec, jiraid:JIRA-123) ← Linked via jiraid only
↓ (linked via jiraid UDA, NOT depends:)
Phase 1 (+impl +phase, jiraid:JIRA-123) ← Linked via jiraid only
├── Task 1.1 (+impl, depends:phase-uuid) ← Depends on phase
├── Task 1.2 (+impl, depends:phase-uuid) ← Depends on phase + may depend on 1.1
└── Task 1.3 (+impl, depends:phase-uuid) ← Depends on phase + may depend on 1.2
Phase 2 (+impl +phase, jiraid:JIRA-123) ← Linked via jiraid only
├── Task 2.1 (+impl, depends:phase-uuid) ← Depends on phase
└── Task 2.2 (+impl, depends:phase-uuid) ← Depends on phase + may depend on 2.1
Important: Jira tasks, specs, and phases are linked via jiraid UDA, NOT via depends: field. Only implementation tasks use depends: for their phase and inter-task dependencies.
┌─────────────────────────────────────────────────────────────────────────────┐
│ STATE FLOW │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ JIRA TASK (work_state + status) │
│ ───────── │
│ ┌────────────┐ │
│ │ new │ (Informational only - never blocks implementation) │
│ │ pending │ Synced from Jira via Bugwarrior │
│ └────────────┘ Linked to specs/phases/tasks via jiraid UDA │
│ │
│ │
│ SPEC │
│ ──── │
│ draft ──────────────────────► approved │
│ (manual approval) │
│ │
│ │
│ PHASE (work_state + status) │
│ ───── │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ todo │───►│ inprogress │───►│ review │───►│ approved │ │
│ │ pending │ │ pending │ │ pending │ │ completed │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ │ │ │ │ │
│ │ [Step 2] [Step 8] [Step 11] │
│ │ start phase all tasks done after /test │
│ │ + /git │
│ │
│ │
│ TASK (work_state + status) │
│ ──── │
│ │
│ ┌────────────┐ ┌────────────┐ │
│ │ todo │─────────────────────────────►│ done │ │
│ │ pending │ │ completed │ │
│ └────────────┘ └────────────┘ │
│ │ │ │
│ │ [Step 7] │
│ │ task completed │
│ │ │
│ │ COMMANDS REQUIRED: │
│ │ 1. task <uuid> done │
│ │ 2. task <uuid> modify work_state:done │
│ │ │
└─────────────────────────────────────────────────────────────────────────────┘
work_state + status)| work_state | status | Meaning | Notes |
|---|---|---|---|
new | pending | Synced from Jira, open | Informational only, never blocks |
new | completed | Closed in Jira | Informational only |
Important: Jira tasks are managed by Bugwarrior. Never edit manually. They do NOT block implementation work.
work_state)| State | Meaning | Transitions To |
|---|---|---|
draft | Spec is being written/revised | approved |
approved | Spec is finalized, ready for implementation | draft (if modified) |
work_state + status)| work_state | status | Meaning | Next Transition |
|---|---|---|---|
todo | pending | Phase not started | → inprogress when starting |
inprogress | pending | Actively working on phase | → review when all tasks done |
review | pending | All tasks complete, awaiting /test + /git | → approved after /test + /git |
approved | completed | Phase reviewed and approved | (terminal state) |
work_state + status)| work_state | status | Meaning | Next Transition |
|---|---|---|---|
todo | pending | Task not yet started | → done when implemented |
done | completed | Task finished | (terminal state) |
These commands MUST be executed at each workflow step. Never skip these.
# REQUIRED: Mark phase as in-progress
task <phase-uuid> modify work_state:inprogress
Report: "Phase '' started (work_state:inprogress)"
# REQUIRED: Run BOTH commands in sequence
task <task-uuid> done
task <task-uuid> modify work_state:done
Report:
Task <id> completed
✓ status: completed
✓ work_state: done
# REQUIRED: Mark phase for review
task <phase-uuid> modify work_state:review
Report: "Phase '' complete (work_state:review)"
# REQUIRED: Run BOTH commands to approve phase
task <phase-uuid> done
task <phase-uuid> modify work_state:approved
Report:
Phase '<name>' approved
✓ status: completed
✓ work_state: approved
# Find Jira task (synced from Bugwarrior)
task jiraid:$ID +jira export
# Find spec task for a Jira issue
task jiraid:$ID +spec export
# Find all implementation tasks for a Jira issue
task jiraid:$ID +impl export
# Find all phase tasks
task jiraid:$ID +phase export
# 1. Check for in-progress phase (resume here)
task jiraid:$ID +phase work_state:inprogress export
# 2. Check for phase awaiting review
task jiraid:$ID +phase work_state:review status:completed export
# 3. Find first pending phase (to start)
task jiraid:$ID +phase status:pending export
# Find pending tasks in a phase (by phase UUID dependency)
task jiraid:$ID +impl -phase status:pending depends:<phase-uuid> export
# Find completed tasks in a phase
task jiraid:$ID +impl -phase status:completed depends:<phase-uuid> export
# Find all tasks in a phase (any status)
task jiraid:$ID +impl -phase depends:<phase-uuid> export
# Check if a specific dependency is satisfied
task uuid:<dep-uuid> export
# Parse JSON: status == "completed" or status == "deleted" means satisfied
# Find tasks with unsatisfied dependencies
task jiraid:$ID +impl +BLOCKED list
The export command returns JSON array. Key fields:
[
{
"uuid": "abc123...",
"id": 42,
"description": "Task title",
"status": "pending",
"depends": ["uuid1", "uuid2"],
"tags": ["impl"],
"work_state": "todo",
"jiraid": "IMP-7070",
"annotations": [
{"description": "Spec(repo=account-api): notes/specs/IMP-7070.md"}
]
}
]
task <phase-uuid> modify work_state:inprogress
# BOTH commands required - do not skip either one
task <task-uuid> done
task <task-uuid> modify work_state:done
task <phase-uuid> modify work_state:review
# BOTH commands required - do not skip either one
task <phase-uuid> done
task <phase-uuid> modify work_state:approved
task add "<phase-number>. Phase: <phase-name>" \
project:<JIRAKEY> \
jiraid:<JIRAKEY> \
repository:<repo> \
work_state:todo \
+impl +phase
Note: Phase is linked to Jira via jiraid UDA, NOT via depends: field.
task add "<task-id>. <task-title>" \
project:<JIRAKEY>.<phase-slug> \
jiraid:<JIRAKEY> \
repository:<repo> \
work_state:todo \
+impl \
depends:<phase-uuid>[,<other-task-uuids>]
task <task-uuid> annotate "Spec(repo=<repo>): <path>"
task <id> _get uuid
A task is READY when ALL its dependencies are satisfied (completed or deleted).
Algorithm:
depends field (array of UUIDs)task uuid:<dep-uuid> export
status fieldstatus is completed or deleted → dependency satisfiedShortcut using Taskwarrior virtual tag:
# List all ready tasks (no blocked dependencies)
task jiraid:$ID +impl +READY list
# Export ready tasks
task jiraid:$ID +impl +READY export
Spec file location is stored in task annotations. Parse with these patterns:
| Pattern | Example |
|---|---|
Spec(repo=<repo>): <path> | Spec(repo=account-api): notes/specs/IMP-7070.md |
Spec: <path> | Spec: notes/specs/IMP-7070.md |
Resolution:
$LLM_NOTES_ROOT is set: $LLM_NOTES_ROOT/<path><path> relative to git root| Error | Cause | Recovery Command |
|---|---|---|
| No spec task found | Spec not created | /specjira $ID |
| Spec not approved | work_state != approved | task jiraid:$ID +spec modify work_state:approved |
| No phases found | Tasks not generated | /createtasks $ID |
| Phase in review | Needs approval | task <phase-uuid> modify work_state:approved |
| All tasks blocked | Circular or missing deps | task jiraid:$ID +impl +BLOCKED list |
# Tree view of all tasks under a Jira issue
task project:<JIRAKEY> tree
# List view with dependencies
task jiraid:$ID +impl list
# Detailed info for a specific task
task <uuid> info
This skill is used by:
/specjira - Creates spec tasks/createtasks - Creates phase and implementation tasks/implement - Executes implementation tasks sequentiallyBoth status (Taskwarrior native) and work_state (UDA) must be updated:
| Entity | status command | work_state command |
|---|---|---|
| Task complete | task <uuid> done | task <uuid> modify work_state:done |
| Phase approve | task <uuid> done | task <uuid> modify work_state:approved |
Never skip either command. The workflow depends on both fields being correct.
| Event | Commands (in order) |
|---|---|
| Start phase | modify work_state:inprogress |
| Complete task | done then modify work_state:done |
| Phase tasks done | modify work_state:review |
| Approve phase | done then modify work_state:approved |
Expert guide for Git Town stacked branch workflows. Use this skill when the user works with git town commands (sync, append, prepend, ship, propose, detach, merge, compress), encounters merge conflicts during git town sync, needs to restack or rebase stacked branches, or asks about git town best practices. Covers the full lifecycle of stacked branches: creating, syncing, resolving conflicts, and shipping. Requires git-town CLI installed.
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
Fetch unresolved (not yet resolved) review comments from GitHub Pull Requests using the gh CLI. Use this skill whenever the user asks about unresolved PR comments, open review threads, pending code review feedback, or wants to check what still needs to be addressed on a PR. Also trigger when the user mentions "unresolved comments", "open review threads", "pending reviews", "what's left to resolve on PR", or wants a summary of outstanding review feedback. Works with any GitHub repository the user has access to via gh CLI.
Reference guide for the Atlassian CLI (acli) - a command-line tool for interacting with Jira Cloud and Atlassian organization administration. Use this skill when the user wants to perform Jira operations (create/edit/search/transition work items, manage projects, boards, sprints, filters, dashboards), administer Atlassian organizations (manage users, authentication), or automate Atlassian workflows from the terminal. Covers all acli commands including: jira workitem (create, edit, search, assign, transition, comment, clone, link, archive), jira project (create, list, update, archive), jira board/sprint, jira filter/dashboard, admin user management, and rovodev (Rovo Dev AI agent). Requires an authenticated acli binary already installed on the system.
Universal coding standards, best practices, and patterns for TypeScript, JavaScript, React, and Node.js development.
Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.