| name | nazgul:pause |
| description | Gracefully pause the Nazgul autonomous loop at the next iteration boundary. Use when user says "pause nazgul", "stop the loop", "halt nazgul", or wants to pause work without losing progress. |
| context | fork |
| allowed-tools | Read, Write, Edit, Bash |
| metadata | {"author":"Jose Mejia","version":"2.7.1"} |
Nazgul Pause
Examples
/nazgul:pause — Pause the loop at the next iteration boundary
Current State
- Config: !
cat nazgul/config.json 2>/dev/null || echo "NOT_INITIALIZED"
- Paused: !
jq -r '.paused // false' nazgul/config.json 2>/dev/null || echo "unknown"
Instructions
Gracefully pause the Nazgul autonomous loop so it stops at the next iteration boundary.
Step 1: Check Initialization
If the config shows "NOT_INITIALIZED":
- Output: "Nazgul not initialized. Run
/nazgul:init first."
- Stop here.
Step 2: Check Current Pause State
Read nazgul/config.json and check the paused field.
If already paused ("paused": true):
- Output: "Nazgul is already paused. Run
/nazgul:start to resume."
- Stop here.
Step 3: Set Pause Flag
Use jq to set "paused": true in nazgul/config.json:
jq '.paused = true' nazgul/config.json > nazgul/config.json.tmp && mv nazgul/config.json.tmp nazgul/config.json
Step 4: Generate Handoff Document
After setting paused: true, generate nazgul/HANDOFF.md for human consumption:
- Read
nazgul/config.json for: iteration count, max iterations, mode, objective
- Scan all
nazgul/tasks/TASK-*.md files to gather status counts and details
- Read any ADR files in
nazgul/docs/ for decisions made
- Read blocked tasks for gotchas
Write nazgul/HANDOFF.md:
# Nazgul Handoff — [date]
## Status
Iteration [current]/[max] | Mode: [hitl/afk] | Paused at: [timestamp]
## Objective
[current objective from config]
## What's Done
[List each DONE task with ✦ symbol]
- ✦ TASK-001: [title]
- ✦ TASK-002: [title]
## What's In Flight
[List IN_PROGRESS and IN_REVIEW tasks with ◆ symbol and context]
- ◆ TASK-007: [title] — [brief status from implementation log]
- ◆ TASK-008: [title] — in review, awaiting [reviewer name]
## Decisions Made
[List ADRs or key decisions from task manifests]
- ADR-001: [title]
- ADR-002: [title]
## Blockers & Gotchas
[List BLOCKED tasks with ✗ symbol and reasons]
- ✗ TASK-009: [title] — [blocked reason]
## To Resume
Run `/nazgul:start` — loop picks up from the current task.
Or `/nazgul:status` to review state before continuing.
If no tasks exist yet, write a minimal handoff:
# Nazgul Handoff — [date]
## Status
Iteration [current]/[max] | Mode: [mode] | Paused at: [timestamp]
No tasks generated yet.
## To Resume
Run `/nazgul:start` to begin.
Use symbols: ✦ for done, ◆ for in-progress, ✗ for blocked.
Step 5: Confirm
Output:
─── ◈ NAZGUL ▸ PAUSED ────────────────────────────────────
Handoff saved to nazgul/HANDOFF.md
Iteration [N]/[max] | [done] tasks done, [active] in flight
─── ◈ NEXT ─────────────────────────────────────────────
/nazgul:start to resume
────────────────────────────────────────────────────────