Analyze project state, detect stage, identify gaps, recommend next steps. 'Where are we in development?'
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-project-stage-detect-3efebbd9792e ,按照其中的说明把「project-stage-detect」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
This skill scans your project to determine its current development stage, completeness of artifacts, and gaps that need attention. It's especially useful when:
!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys workflow,automation
Automation mode: Resolve modes.automation (project.local.yaml →
project.yaml → default collaborative). Every AskUserQuestion call and
every file write follows .claude/docs/automation-modes.md
(collaborative asks always · guided major-only · autonomous logs and proceeds;
automation_always_ask categories always prompt).
Resolved above — use as-is. No block → defaults in
.claude/docs/config-resolution.md.
Resolve the tier — do not assume it. Saying "surface gaps per the resolved workflow tier" without resolving it — no bootstrap, no helper call — leaves the tier as whatever the model assumed. The tier decides what counts as a gap at all: at
fullevery missing doc is one; atminimalnone of them are, because a brief plus an engine is the normal state and code is the expected next step. Guessing high tells a jam project it is missing GDDs, an art bible and ADRs — the exact "process feels mismatched to my project" experiencemodes.rigorexists to prevent. A missing bootstrap is invisible to a static read — the config block simply does not render — so verify it by running.
workflow (per .claude/docs/workflow-modes.md). The tier governs
which absent documents count as gaps (step 3) — below full, optional docs are
not flagged.
Start with the deterministic pass — it answers "what exists" for every catalogued artifact in one call:
Bash: bash .claude/scripts/artifact-check.sh
With no --phase it reports every phase, so a single call covers the whole
project: per step, PRESENT / ABSENT / SHORT (with count= and min=) /
PATTERN_MISS / NO_CHECK. Use it instead of hand-globbing each artifact
below, and treat its NO_CHECK total as the honest bound on what existence
checks can tell you.
It reports observations only — this skill still decides what stage those observations imply, and the tier still governs which absences are gaps at all (see the workflow-tier note below).
Then analyze what the script cannot: content quality, counts it does not track, and the judgement calls.
Design Documentation (design/):
design/gdd/*.mddesign/game-brief.md at minimal), game-pillars.md, systems-index.mddesign/narrative/design/levels/Source Code (the code root — src/ Godot, Assets/ Unity, Source/ Unreal; resolve per .claude/docs/code-root-resolution.md):
Production Artifacts (production/):
Prototypes (prototypes/):
Architecture Docs (docs/architecture/):
Tests (tests/):
Based on scanned artifacts, determine stage. Check project.stage in project.yaml first (if present); else production/stage.txt (legacy fallback) — either is an explicit override from /gate-check. Otherwise, auto-detect using these heuristics (check from most-advanced backward):
Always run the heuristics, even when a stage is configured — then COMPARE. The configured value is authoritative for what the stage is; it is not evidence that the artifacts support it. Report both, and when they disagree say so explicitly:
"Configured stage: Release. Observed artifacts indicate Pre-Production (2 source files, 0 ADRs, no architecture doc, no epics). These disagree — the configured stage may be stale, or work exists outside this repo."
Reading config and reporting it back is not detection. This skill's own description promises "analyze project state, detect stage", and a stage detector that cannot contradict its input is the one thing it must never be. Observed live: it reported
Releasefor a project whose artifacts matched its own Pre-Production row, four stages below, and said nothing.
| Stage | Indicators |
|---|---|
| Concept | No game concept doc, brainstorming phase |
| Systems Design | Game concept exists, systems index missing or incomplete |
| Technical Setup | Systems index exists, engine not configured |
| Pre-Production | Engine configured, code root has <10 source files |
| Production | code root has 10+ source files, active development |
| Polish | Explicit only (set by /gate-check Production → Polish gate) |
| Release | Explicit only (set by /gate-check Polish → Release gate) |
Surface gaps per the resolved workflow tier:
full — flag every missing doc type (GDDs, art bible, UX specs, ADRs) as a gap.standard — flag only required docs: missing GDDs for built systems and
missing critical (Foundation-layer) ADRs. Do NOT flag an absent art bible unless
visual-asset stories exist, and do NOT flag non-core UX specs.minimal — a design/game-brief.md + engine present is the normal state. Do NOT flag
absent GDDs, art bible, UX specs, or ADRs as gaps; the expected next step is code.DO NOT just list missing files. Instead, ask clarifying questions (only for gaps the tier above says to surface):
src/gameplay/combat/) but no design/gdd/combat-system.md. Was this prototyped first, or should we reverse-document?"production/. Are you tracking work elsewhere (Jira, Trello, etc.)?"/map-systems?"Use template: .claude/docs/templates/project-stage-report.md
Report structure:
# Project Stage Analysis
**Date**: [date]
**Stage**: [Concept/Systems Design/Technical Setup/Pre-Production/Production/Polish/Release]
**Stage Confidence**: [PASS — clearly detected / CONCERNS — ambiguous signals / FAIL — critical gaps block progress]
## Completeness Overview
- Design: [X%] ([N] docs, [gaps])
- Code: [X%] ([N] files, [systems])
- Architecture: [X%] ([N] ADRs, [gaps])
- Production: [X%] ([status])
- Tests: [X%] ([coverage estimate])
## Gaps Identified
1. [Gap description + clarifying question]
2. [Gap description + clarifying question]
## Recommended Next Steps
[Priority-ordered list based on stage and role]
If user provided a role argument (e.g., /project-stage-detect programmer):
Programmer:
Designer:
Producer:
General (no role):
Collaborative protocol:
I've analyzed your project. Here's what I found:
[Show summary]
Gaps identified:
1. [Gap 1 + question]
2. [Gap 2 + question]
Recommended next steps:
- [Priority 1]
- [Priority 2]
- [Priority 3]
May I write the full stage analysis to production/project-stage-report.md?
Wait for user approval before creating the file.
# General project analysis
/project-stage-detect
# Programmer-focused analysis
/project-stage-detect programmer
# Designer-focused analysis
/project-stage-detect designer
After generating the report, suggest relevant next steps — only for gaps the
resolved workflow tier surfaces (step 3). At standard/minimal, do not
suggest authoring optional docs (e.g. don't suggest /reverse-document for an
absent GDD at minimal, where code is the expected next step):
/map-systems to decompose into systems/reverse-document design src/[system]/architecture-decision or /reverse-document architecture/reverse-document concept prototypes/[name]/sprint-plan/milestone-reviewThis skill follows the collaborative design principle:
Never silently write files. Always show findings and ask before creating artifacts.