skills/config/SKILL.md
View and change Nazgul settings — model assignments, formatter, notifications. Use when user says "configure nazgul", "change models", "nazgul settings", or wants to adjust config after init.
npx skillsauth add OrodruinLabs/nazgul nazgul:configInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
/nazgul:config — View current settings and change any of them/nazgul:config models — Jump directly to model assignment configurationAskUserQuestion tool (deferred by default): run ToolSearch with query select:AskUserQuestion. Do this BEFORE any step that uses AskUserQuestion.nazgul/config.json exists. If not: "Nazgul not initialized. Run /nazgul:init first." and STOP.Read nazgul/config.json and display:
─── ◈ NAZGUL ▸ CONFIGURATION ───────────────────────────
Models:
Planning: [models.planning]
Discovery: [models.discovery]
Docs: [models.docs]
Review: [models.review]
Implementation: [models.implementation]
Specialists: [models.specialists]
Post-loop: [models.post_loop]
Default: [models.default]
Formatter: [formatter.enabled ? "enabled" : "disabled"]
Notifications: [notifications.on_complete || "disabled"]
If $ARGUMENTS contains "models", skip directly to the Model Assignment sub-flow.
Otherwise, use AskUserQuestion (multiSelect: true):
AskUserQuestion:
If preset, use AskUserQuestion:
Preset values:
{ planning: "opus", discovery: "sonnet", docs: "sonnet", review: "sonnet", implementation: "sonnet", specialists: "sonnet", post_loop: "haiku", default: "sonnet" }{ planning: "opus", discovery: "opus", docs: "opus", review: "opus", implementation: "opus", specialists: "opus", post_loop: "opus", default: "opus" }{ planning: "sonnet", discovery: "haiku", docs: "haiku", review: "haiku", implementation: "sonnet", specialists: "sonnet", post_loop: "haiku", default: "haiku" }If per-stage, use AskUserQuestion in two batches:
Batch 1:
Batch 2:
Update nazgul/config.json → models with the selected values using jq:
jq '.models.planning = "opus" | .models.discovery = "sonnet" | ...' nazgul/config.json > nazgul/config.json.tmp && mv nazgul/config.json.tmp nazgul/config.json
Update model: field in generated agents by role:
nazgul/config.json → agents.reviewers and agents.specialists arrays.claude/agents/generated/*.md, extract the agent name from frontmatteragents.reviewers → set model: [models.review]agents.specialists → set model: [models.specialists]Display confirmation:
─── ◈ NAZGUL ▸ MODELS UPDATED ──────────────────────────
Planning: opus
Discovery: sonnet
...
Changes take effect on the next pipeline run.
Same as init Step 7 Question 1. Use AskUserQuestion:
nazgul/config.json → formatter.enabledUse AskUserQuestion:
say 'Nazgul loop complete' (macOS) or notify-send 'Nazgul' 'Loop complete' (Linux)nazgul/config.json → notifications.on_complete to the platform-appropriate commandnazgul/config.json → notifications.on_completenazgul/config.json → notifications.on_complete to the user's custom commandtesting
Human acceptance testing — structured verification that work actually works. Run standalone or integrated in HITL review cycle.
devops
Task lifecycle management — skip, unblock, add, prioritize, info, and list tasks. Use when you need to manage individual tasks in the Nazgul pipeline.
development
Check the current state of a Nazgul autonomous loop. Use when asked about loop progress, task status, iteration count, review board status, or how the Nazgul loop is going.
development
Start or resume a Nazgul autonomous development loop. Use when user says "start nazgul", "run nazgul", "begin development", "resume the loop", or passes an objective for new work. Auto-detects project state — no arguments needed.