skills/board/SKILL.md
Connect Nazgul task tracking to an external project board (GitHub Projects, Azure DevOps, etc). Use when user says "connect to github projects", "set up board", "track on github", or "nazgul board".
npx skillsauth add OrodruinLabs/nazgul nazgul:boardInstall 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:board github — Connect to GitHub Projects/nazgul:board github --clean — Take over existing project (archive items first)/nazgul:board disconnect — Remove board sync/nazgul:board status — Show current board connection$ARGUMENTS
[ -f nazgul/config.json ] && echo "YES" || echo "NO"jq -r '.board.enabled // false' nazgul/config.json 2>/dev/null || echo "false"jq -r '.board.provider // "none"' nazgul/config.json 2>/dev/null || echo "none"jq -r '.board.last_sync // "never"' nazgul/config.json 2>/dev/null || echo "never"jq -r '.board.sync_failures // 0' nazgul/config.json 2>/dev/null || echo "0"gh repo view --json owner,name --jq '"\(.owner.login)/\(.name)"' 2>/dev/null || echo "NOT_DETECTED"gh auth status 2>&1 | grep -oE 'project' || echo "NO_PROJECT_SCOPE"gh project list --format json --jq '.projects[] | "\(.number): \(.title)"' 2>/dev/null | head -5 || echo "NONE"jq -r '.board.task_map | length' nazgul/config.json 2>/dev/null || echo "0"Pre-load: Run ToolSearch with query select:AskUserQuestion to load the interactive prompt tool (deferred by default). Do this BEFORE any step that uses AskUserQuestion.
Parse $ARGUMENTS for:
github, ado, trello (first positional arg)disconnect, status (if no provider)--clean (archive existing items before setup)disconnect:bash scripts/board-sync-github.sh disconnectstatus:bash scripts/board-sync-github.sh statusgithub:Continue to Step 2.
Show: "Provider '[name]' not yet supported. Available: github" STOP.
Show usage examples and current board state. STOP.
/nazgul:init first." — STOPgh not authenticated." — STOPproject scope. Run: gh auth refresh -s project" — STOPUsing the preprocessor "Existing projects" data:
If projects exist, present options:
Existing GitHub Projects found:
1. #[num]: [title]
2. #[num]: [title]
Then use AskUserQuestion:
gh project create --owner [owner] --title "Nazgul: [repo-name]" --format json and extract project numberIf no projects exist, use AskUserQuestion:
If user picks existing + --clean flag, use AskUserQuestion:
bash scripts/board-sync-github.sh archive-all [project-number]Run: bash scripts/board-sync-github.sh setup [project-number]
If tasks already exist in nazgul/tasks/:
bash scripts/board-sync-github.sh sync-allShow:
Board sync enabled!
═══════════════════════════════
Provider: GitHub Projects V2
Repo: [owner]/[repo]
Project: #[number] — [title]
Tasks: [N] synced
URL: https://github.com/orgs/[owner]/projects/[number]
Tasks will auto-sync to the board on every state transition.
Run `/nazgul:board status` to check sync health.
Run `/nazgul:board disconnect` to remove sync.
testing
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.