skills/task-suggest/SKILL.md
--- name: "Suggest: Task" description: "{{ 𝚫𝚫𝚫 }} Suggest the next logical task — grounded in the roadmap's pre-vetted ready-set when one exists, codebase analysis otherwise" when_to_use: "When you don't know what to work on next and want a grounded recommendation rather than picking arbitrarily." model: haiku effort: low disable-model-invocation: true allowed-tools: ["Read", "Glob", "Grep", "Bash(python3:*)", "Bash(npm:*)", "Bash(bun:*)", "Bash(pnpm:*)", "Bash(deno:*)"] argument-hint: [named
npx skillsauth add jasonwarrenuk/goblin-mode skills/task-suggestInstall 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.
Suggest the next logical task I can complete. Selection is grounded in deterministic data wherever possible — you choose between pre-vetted options rather than deriving them.
$ARGUMENTS may carry an assignee, a focus area, both, or neither — positionally, assignee first. Parse by intent, not blind position-splitting:
Run python3 "$HOME"/.claude/library/scripts/roadmap.py detect.
Exit 0 (rich roadmap): run python3 "$HOME"/.claude/library/scripts/roadmap.py ready --json and ... stats. The candidates array is the complete set of actionable tasks — every one is unblocked by definition. Each candidate carries an assignee field (empty string when unassigned — never assume unassigned means "anyone" without saying so). Pick using the supplied signals, in this order of pull:
assignee matches. If none match, say so explicitly ("No ready task assigned to {name}."), then fall back to the highest-leverage pick from the full candidate set below — never stay silent and never invent a match.transitiveUnblocks — prefer the task that unblocks the most downstream workisMilestoneSink on a milestone with high milestoneDonePct — closing out a nearly-done milestone beats starting a new frontName the chosen task by its roadmap ID and say which signals drove the choice. If candidates is empty, say so and name the cheapest unblock instead (which blocker or gate, if cleared, frees the most tasks — read the stats breakdown).
Exit 3 or 2 (no rich roadmap): fall back to Step 2.
Analyse the current state of the codebase, then compare it to the project documentation. Rules:
tools
{{ 𝚫𝚫𝚫 }} Rebuild roadmap-system.zip, the distributable snapshot of the roadmap tooling (scripts, HTML template, conventions reference, and every roadmap-touching skill, including this one).
development
{{ 𝛀𝛀𝛀 }} Convert an old simple-style roadmap (single Markdown, four statuses, <a name> anchors, roadmaps.json pointer registry) into the rich phase-array format (roadmaps.json source of truth + PHASE task list + prose overview).
data-ai
{{ ƔƔƔ }} Create a pull request to main — wordy or shiny (with screenshots), ready-for-review or draft
tools
{{ 𝚫𝚫𝚫 }} Integrate a target branch into the current one by merge, rebase or squash