name: nazgul:task description: Task lifecycle management — skip, unblock, add, prioritize, info, and list tasks. Use when you need to manage individual tasks in the Nazgul pipeline. context: fork allowed-tools: Read, Write, Edit, Bash, Glob, Grep metadata: author: Jose Mejia version: 2.7.1
Nazgul Task
Examples
/nazgul:task— List all tasks with status summary/nazgul:task info TASK-003— Show full details and review history for a task/nazgul:task skip TASK-005— Skip a task and promote unblocked downstream tasks/nazgul:task unblock TASK-004— Reset a blocked task back to READY/nazgul:task add "Implement rate limiting"— Create a new task/nazgul:task prioritize TASK-006 --before TASK-003— Reorder task execution
Arguments
$ARGUMENTS
Current State
- Task list: !
ls nazgul/tasks/TASK-*.md 2>/dev/null || echo "No tasks" - Plan: !
head -50 nazgul/plan.md 2>/dev/null || echo "No plan"
Instructions
Parse $ARGUMENTS for a subcommand and its parameters. If no subcommand is provided, default to list.
Subcommands
list (default)
Produce a quick status table of all tasks:
Nazgul Tasks
═══════════════════════════════════════════════════════════
ID Status Description
─────────────────────────────────────────────────────────
TASK-001 DONE Set up project scaffolding
TASK-002 IN_PROGRESS Implement auth module
TASK-003 READY Add payment processing
TASK-004 BLOCKED Deploy to staging
TASK-005 PLANNED Write integration tests
─────────────────────────────────────────────────────────
Total: 5 | Done: 1 | Active: 2 | Blocked: 1 | Planned: 1
- Read each
nazgul/tasks/TASK-*.mdfile - Extract: task ID, status, and the first line of the description
- Sort by task ID (numeric order)
- Format as the table above
- Include a summary line at the bottom with counts by status category
skip TASK-NNN
Set the specified task's status to SKIPPED.
- Validate the task file exists:
nazgul/tasks/TASK-NNN.md - If not found, error: "Task TASK-NNN not found."
- Use sed to update the
Status:field toSKIPPEDin the task manifest - Scan all other task manifests for dependencies that reference TASK-NNN
- For any task whose ONLY remaining non-DONE/non-SKIPPED dependency was TASK-NNN, promote its status from
PLANNEDtoREADY - Output: "TASK-NNN set to SKIPPED. [N] downstream task(s) promoted to READY."
unblock TASK-NNN
Reset a BLOCKED task back to READY so it can be picked up by the loop.
- Validate the task file exists:
nazgul/tasks/TASK-NNN.md - If not found, error: "Task TASK-NNN not found."
- If the task is not BLOCKED, warn: "TASK-NNN is not blocked (current status: [status])."
- Update
Status:toREADY - Clear the
blocked_reason:field (set to empty or remove the line) - Reset
retry:count to0/3 - Output: "TASK-NNN unblocked and set to READY. It will be picked up in the next iteration."
add "description"
Create a new task manifest and append it to the plan.
- Scan existing task files to determine the next available TASK-NNN number
- Create
nazgul/tasks/TASK-NNN.mdwith the following template:
# TASK-NNN: [description]
- **Status:** PLANNED
- **Priority:** medium
- **Dependencies:** none
- **Retry:** 0/3
- **Created:** [ISO 8601 timestamp]
- **Source:** manual (via /nazgul:task add)
## Description
[description]
## Acceptance Criteria
- [ ] TBD — define acceptance criteria
## Implementation Notes
_To be filled by implementer._
- If there are no dependencies (check if any were specified in the description), set status to
READYinstead ofPLANNED - Append the task to
nazgul/plan.mdin the task list section - Output: "Created TASK-NNN: [description]. Status: [PLANNED|READY]."
prioritize TASK-NNN --before TASK-MMM
Reorder tasks in the plan so TASK-NNN appears before TASK-MMM.
- Validate both task files exist
- Read
nazgul/plan.md - Find the lines referencing both tasks in the plan's task list
- Remove TASK-NNN's line from its current position
- Insert it immediately before TASK-MMM's line
- Write the updated plan.md
- Output: "TASK-NNN moved before TASK-MMM in the plan."
Note: This changes execution order but does NOT override dependency constraints. If TASK-NNN depends on TASK-MMM, warn the user about the circular dependency.
info TASK-NNN
Show full details for a specific task.
- Validate the task file exists:
nazgul/tasks/TASK-NNN.md - If not found, error: "Task TASK-NNN not found."
- Read and display the full contents of
nazgul/tasks/TASK-NNN.md - Check for review history: look for files matching
nazgul/reviews/TASK-NNN-*.md - If review files exist, display them in chronological order:
Task Details
═══════════════════════════════════════
[full task manifest contents]
Review History
─────────────────────────────────────
[review 1 contents]
[review 2 contents]
...
- Check for delegation briefs:
nazgul/tasks/TASK-NNN-delegation.md - If a delegation brief exists, include it in the output
Error Handling
- If Nazgul is not initialized (no
nazgul/config.json): "Nazgul not initialized. Run/nazgul:initfirst." - If no tasks exist: "No tasks found. Run
/nazgul:startto generate a plan." - If an unknown subcommand is provided: "Unknown subcommand: [X]. Available: list, skip, unblock, add, prioritize, info"
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.