Analyzes what is done and the users query and offers advice on what to do next. Use if user says what should I do next or what do I do now or I'm stuck or I don't know what to do
This skill is read-only — it reports findings but writes no files.
This skill figures out exactly where you are in the game development pipeline and
tells you what comes next. It is lightweight — not a full audit. For a full
gap analysis, use /project-stage-detect.
Read .claude/docs/workflow-catalog.yaml. This is the authoritative list of all
phases, their steps (in order), whether each step is required or optional, and
the artifact globs that indicate completion.
After reading the catalog, Glob .claude/skills/*/SKILL.md to get the full list
of installed skills. For each file, extract the name: field from its frontmatter.
Compare against the command: values in the catalog. Any skill whose name does
not appear as a catalog command is an uncataloged skill — still usable but not
part of the phase-gated workflow.
Collect these for the output in Step 7 — show them as a footer block:
### Also installed (not in workflow)
- `/skill-name` — [description from SKILL.md frontmatter]
- `/skill-name` — [description]
Only show this block if at least one uncataloged skill exists. Limit to the 10 most relevant based on the user's current phase (QA skills in production, team skills in production/polish, etc.).
Check in this order:
Read production/stage.txt — if it exists and has content, this is the
authoritative phase name. Map it to a catalog phase key:
conceptsystems-designtechnical-setuppre-productionproductionpolishreleaseIf stage.txt is missing, infer phase from artifacts (most-advanced match wins):
src/ has 10+ source files → productionproduction/stories/*.md exists → pre-productiondocs/architecture/adr-*.md exists → technical-setupdesign/gdd/systems-index.md exists → systems-designdesign/gdd/game-concept.md exists → conceptconcept (fresh project)Read production/session-state/active.md if it exists. Extract:
This tells you what the user just finished or is stuck on — use it to personalize the output.
For each step in the current phase (from the catalog):
If the step has artifact.glob:
min_count is specified, verify at least that many files matchartifact.pattern is specified, use Grep to verify the pattern exists in the matched fileIf the step has artifact.note (no glob):
If the step has no artifact field:
sprint-status.yamlWhen the current phase is production, check for production/sprint-status.yaml
before doing any glob-based story checks. If it exists, read it directly:
status: in-progress → surface as "currently active"status: ready-for-dev → surface as "next up"status: done → count as completestatus: blocked → surface as blocker with the blocker fieldThis gives precise per-story status without markdown scanning. Skip the glob
artifact check for the implement and story-done steps — the YAML is authoritative.
repeatable: true (non-production)For repeatable steps outside production (e.g. "System GDDs"), the artifact check tells you whether any work has been done, not whether it's finished. Label these differently — show what's been detected, then note it may be ongoing.
From the completion data, determine:
If the user provided an argument (e.g. "just finished design-review"), use that to advance past the step they named even if the artifact check is ambiguous.
If active.md shows an active task or epic:
Keep it short and direct. This is a quick orientation, not a report.
## Where You Are: [Phase Label]
**In progress:** [from active.md, if any]
### ✓ Done
- [completed step name]
- [completed step name]
### → Next up (REQUIRED)
**[Step name]** — [description]
Command: `[/command]`
### ~ Also available (OPTIONAL)
- **[Step name]** — [description] → `/command`
- **[Step name]** — [description] → `/command`
### Coming up after that
- [Next required step name] (`/command`)
- [Next required step name] (`/command`)
---
Approaching **[next phase]** gate → run `/gate-check` when ready.
Formatting rules:
✓ for confirmed complete→ for the current required next step (only one — the first blocker)~ for optional steps available nowVerdict: COMPLETE — next steps identified.
After the current phase's steps, check if the user is likely approaching a gate:
/gate-check when ready."After the recommendations, if the user seems stuck or confused, add:
---
Need more detail?
- `/project-stage-detect` — full gap analysis with all missing artifacts listed
- `/gate-check` — formal readiness check for your next phase
- `/start` — re-orient from scratch
Only show this if the user's input suggested confusion (e.g. "I don't know", "stuck", "lost", "not sure"). Don't show it for simple "what's next?" queries.