project-stage-detect
GitHub分析项目当前开发阶段、工件完整度及缺失项,识别差距并推荐下一步行动。适用于接手现有项目、代码库入职或里程碑前检查,帮助明确项目所处状态。
Trigger Scenarios
Install
npx skills add Donchitos/Claude-Code-Game-Studios --skill project-stage-detect -g -y
SKILL.md
Frontmatter
{
"name": "project-stage-detect",
"model": "haiku",
"description": "Analyze project state, detect stage, identify gaps, recommend next steps. 'Where are we in development?'",
"allowed-tools": "Read, Glob, Grep, Bash, Write, Bash(bash \"*\/.claude\/skills\/project-stage-detect\/..\/..\/hooks\/yaml-helper.sh\" resolve_config *)",
"argument-hint": "[optional: role filter like 'programmer' or 'designer']",
"user-invocable": true
}
Project Stage Detection
This skill scans your project to determine its current development stage, completeness of artifacts, and gaps that need attention. It's especially useful when:
- Starting with an existing project
- Onboarding to a codebase
- Checking what's missing before a milestone
- Understanding "where are we?"
Workflow
!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.
1. Scan Key Directories
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/):
- Count GDD files in
design/gdd/*.md - Check for game-concept.md (or
design/game-brief.mdatminimal), game-pillars.md, systems-index.md - If systems-index.md exists, count total systems vs. designed systems
- Analyze completeness (Overview, Detailed Design, Edge Cases, etc.)
- Count narrative docs in
design/narrative/ - Count level designs in
design/levels/
Source Code (the code root — src/ Godot, Assets/ Unity, Source/ Unreal; resolve per .claude/docs/code-root-resolution.md):
- Count source files (language-agnostic)
- Identify major systems (directories with 5+ files)
- Check for core/, gameplay/, ai/, networking/, ui/ directories
- Estimate lines of code (rough scale)
Production Artifacts (production/):
- Check for active sprint plans
- Look for milestone definitions
- Find roadmap documents
Prototypes (prototypes/):
- Count prototype directories
- Check for READMEs (documented vs undocumented)
- Assess if prototypes are archived or active
Architecture Docs (docs/architecture/):
- Count ADRs (Architecture Decision Records)
- Check for overview/index documents
Tests (tests/):
- Count test files
- Estimate test coverage (rough heuristic)
2. Classify Project Stage
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) |
3. Collaborative Gap Identification
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— adesign/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):
- "I see combat code (
src/gameplay/combat/) but nodesign/gdd/combat-system.md. Was this prototyped first, or should we reverse-document?" - "You have 15 ADRs but no architecture overview. Should I create one to help new contributors?"
- "No sprint plans in
production/. Are you tracking work elsewhere (Jira, Trello, etc.)?" - "I found a game concept but no systems index. Have you decomposed the concept into individual systems yet, or should we run
/map-systems?" - "Prototypes directory has 3 projects with no READMEs. Were these experiments, or do they need documentation?"
4. Generate Stage Report
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]
5. Role-Filtered Recommendations (Optional)
If user provided a role argument (e.g., /project-stage-detect programmer):
Programmer:
- Focus on architecture docs, test coverage, missing ADRs
- Code-to-docs gaps
Designer:
- Focus on GDD completeness, missing design sections
- Prototype documentation
Producer:
- Focus on sprint plans, milestone tracking, roadmap
- Cross-team coordination docs
General (no role):
- Holistic view of all gaps
- Highest-priority items across domains
6. Request Approval Before Writing
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.
Example Usage
# General project analysis
/project-stage-detect
# Programmer-focused analysis
/project-stage-detect programmer
# Designer-focused analysis
/project-stage-detect designer
Follow-Up Actions
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):
- Concept exists but no systems index? →
/map-systemsto decompose into systems - Missing design docs? →
/reverse-document design src/[system] - Missing architecture docs? →
/architecture-decisionor/reverse-document architecture - Prototypes need documentation? →
/reverse-document concept prototypes/[name] - No sprint plan? →
/sprint-plan - Approaching milestone? →
/milestone-review
Collaborative Protocol
This skill follows the collaborative design principle:
- Question First: Ask about gaps, don't assume
- Present Options: "Should I create X, or is it tracked elsewhere?"
- User Decides: Wait for direction
- Show Draft: Display report summary
- Get Approval: "May I write to production/project-stage-report.md?"
Never silently write files. Always show findings and ask before creating artifacts.
Version History
-
7ed2c3e
Current 2026-09-28 04:03
修复因配置命令注入权限检查失败导致非自动模式下技能无法启动的问题;重构配置为单一来源,简化严谨度设置。
- 984023d 2026-07-25 09:37


