survey-context
Survey Context
Section titled “Survey Context”Read the project’s current state and give a phase map + next-skill recommendation. This is the “where am I?” skill — run it at the start of every task.
Use this vs map-codebase:
survey-contextconsumes existing specs and docs (fast; does not re-derive).map-codebasebuilds the tech-stack doc from scratch by scanning the codebase. Runmap-codebasewhenspecs/tech-architecture/tech-stack.mddoesn’t exist yet; runsurvey-contextwhen it does.
HARD GATE — Read specs/ files before suggesting next steps. If state.yaml is stale or contradicts the codebase, request clarification rather than assuming intent.
Orchestrate-project 6 phases: Phase 1 Discover - Phase 2 Elaborate - Phase 3 Plan - Phase 4 Build - Phase 5 Verify - Phase 6 Release
Process
Section titled “Process”Timing:
bash scripts/bp-timing.sh start survey-contextat invocation;bash scripts/bp-timing.sh end survey-contextbefore handoff.
1. Read CONVENTIONS.md
Section titled “1. Read CONVENTIONS.md”If CONVENTIONS.md exists at the project root, read it first. It contains the rules all agents must follow in this project.
2. Read specs/ (YAML-first)
Section titled “2. Read specs/ (YAML-first)”Scan the specs/ directory if it exists:
specs/├── state.yaml → session: active_flow, epic, git, handoff├── release-plan.yaml → target version, WSJF epic index├── execution-status.yaml → flat story/epic status├── planning-status.yaml → discover-phase checklist (optional)├── requirements/│ ├── VISION_LATEST.yaml│ ├── SCOPE_LATEST.yaml│ └── GLOSSARY_LATEST.yaml├── plans/ → TECH_STACK, TEST_PLAN, etc.├── epics/ → eNN shards (flat yaml or eNN/stories/)└── bugs/ → BUG-*.md + registry.yamlFor each YAML file found, note: exists? keys populated? handoff.next_skill?
Legacy markdown (specs/archive/STATE.md, RELEASE-PLAN.md) is not SoT if YAML exists.
→ verify: bash scripts/validate-specs-yaml.sh 2>/dev/null || echo "YAML layout incomplete"
3. Read CLAUDE.md
Section titled “3. Read CLAUDE.md”If CLAUDE.md exists at the project root, read it for project context (stack, commands, architecture, conventions).
4. Check git state
Section titled “4. Check git state”git status --shortgit log --oneline -5git branch --show-currentNote: is there a feature branch active? Are there uncommitted changes? Do they match specs/state.yaml git block?
5. Map the lifecycle phase
Section titled “5. Map the lifecycle phase”Based on what you’ve found, identify which PMBOK phase this project is currently in:
| Phase | Signals |
|---|---|
| Discover | No requirements/SCOPE_LATEST.yaml yet, or only rough notes |
| Design | SCOPE exists but no release-plan.yaml |
| Plan | release-plan.yaml exists; on main/master branch |
| Initiate | On a feature branch; no code changes yet |
| Execute | state.yaml active_flow: build_epic; epic capsule in progress |
| Verify | Implementation done; run verify-work or run-evals |
| Bug | state.yaml active_flow: fix_bug or open specs/bugs/BUG-*.md |
| Review | All code written; no PR yet |
| Integrate | PR open; tests passing |
| Sustain | Ongoing; no active task |
Prefer specs/state.yaml active_flow and handoff.next_skill when present.
6. Suggest next skill
Section titled “6. Suggest next skill”Based on the phase and state, recommend the most useful next step:
- If in Plan/Bug phase and on
main: Suggestkickoff-branchnext. - If in Initiate phase: Suggest
develop-tddorexecute-planorship-epic. - If in Execute phase: Suggest
ship-epic(resume) ordevelop-tddforactive_story_id. - If in Verify phase: Suggest
verify-work(UAT) orrun-evals.
Example:
Phase: ExecuteActive branch: feat/e02-verify (state.yaml matches)release-plan.yaml: v3.0.0, 10 epicsactive_epic_id: e02
Suggested next: ship-epic (resume e02s01 at develop-tdd)Be specific — name the exact skill and why. If multiple options exist, list them in priority order.
7. Surface blockers
Section titled “7. Surface blockers”If something looks wrong:
- Broken tests in the baseline
- Open
specs/bugs/BUG-*.mdwith no active fix branch - Epic shards missing
verify:on tasks validate-specs-yaml.shfails- Git hash in
state.yamlstale vsgit rev-parse
Report blockers first, before recommendations.
8. Record story start timestamp
Section titled “8. Record story start timestamp”At story start, write metrics.story_start with the current ISO 8601 timestamp to specs/state.yaml as an informational progress marker only — not a measurement input. Cycle-time metrics are now derived from git commit history via scripts/record-cycle-time.sh (see skills/release-branch/REFERENCE.md §Cycle-time recording).
Utility outputs
Section titled “Utility outputs”list-epics (absorbed)
Section titled “list-epics (absorbed)”Loop through all specs/epics/*/epic.yaml files and print a summary of story counts per epic. Useful for understanding overall project scope and epic distribution.
check-gates (absorbed)
Section titled “check-gates (absorbed)”Print the current active_flow from specs/state.yaml, run bash scripts/validate-specs-yaml.sh to verify YAML integrity, and show git status to report uncommitted changes and branch state. Use before handoffs or context transitions.
Handoff
Section titled “Handoff”Gate: READY -> next: plan-work Writes: state.yaml handoff.next_skill = plan-work
<!– story: e03s03 –>