Automated summary
Manages individual task lifecycles in the Nazgul pipeline: list, inspect, skip, unblock, add, and reorder tasks through slash commands.
Strengths
- Covers the full task lifecycle (list, info, skip, unblock, add, prioritize) with an explicit status model (PLANNED, READY, BLOCKED, IN_PROGRESS, DONE, SKIPPED)
- The skip command cascades through dependencies, promoting downstream tasks from PLANNED to READY when the skipped task was their only remaining blocker
- unblock resets state cleanly: status back to READY, blocked_reason cleared, retry counter reset to 0/3
- The default list subcommand renders a status table with per-category counts at the bottom
Limitations
- Assumes a specific project layout (nazgul/tasks/TASK-*.md, nazgul/plan.md) and manifest format; nothing here bootstraps that structure
- Edits go through sed on text fields, so customized or reformatted manifests can break the updates
- Tasks created with add leave acceptance criteria as 'TBD — define acceptance criteria'
Reach for it when you are driving an existing Nazgul task queue and need to change one task's status, ordering, or dependencies.
Skip it if your project doesn't use the nazgul/tasks directory with TASK-NNN.md manifests, or if you want a generic task manager independent of this pipeline.
Security analysis
CautionThe skill performs local project bookkeeping: listing, editing, and reordering markdown task manifests. All commands are benign (`ls`, `head`, `sed`) and target the `nazgul/` directory with no network calls, no secret exfiltration, no destructive operations, and no obfuscated payloads. The only notable vectors are the auto-executed read-only shell blocks and in-place sed edits, which are legitimate but warrant a caution rating given the file-writing and shell execution surface.
- •Uses Bash to mutate task manifests via sed on the `Status:` field; a loose pattern match could alter unintended lines, though scoped to nazgul/tasks/*.md
- •Two `!`-prefixed shell blocks run automatically at invocation (`ls`, `head -50 nazgul/plan.md`); read-only and low risk but executed without user confirmation
- •Writes/edits files and reads full task/review/delegation contents; operates only within the local `nazgul/` directory tree
Examples
/nazgul:task — show me all Nazgul tasks with a status summaryShow the full details and review history for TASK-003Skip TASK-005 in the Nazgul pipeline and promote any downstream tasks that are now unblockedname: 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"
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/nazgul-task-lifecycle-management-mrwakc5g/download' --output '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md.part' && mv '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md.part' '.skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Read, Write, Edit, Bash, Glob, Grep
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.
Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/nazgul-task-lifecycle-management-mrwakc5g/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.