run-planning
DISCOVER-PHASE ADVANCER — Drive the discover-phase checklist (specs/planning-status.yaml) through survey-context → scope-work → research-first → elaborate-spec → plan-release → slice-tasks. NOT a duplicate of plan-work or the planning spine; it orchestrates the pre-coding discover phase only.
- License 许可
- MIT
- 最近更新
- 2026-11-10
- Stars
- ★ 290
- Forks
- 24
01 前言 Front Matter
- name
- run-planning
- model
- sonnet
- description
- DISCOVER-PHASE ADVANCER — Drive the discover-phase checklist (specs/planning-status.yaml) through survey-context → scope-work → research-first → elaborate-spec → plan-release → slice-tasks. NOT a duplicate of plan-work or the planning spine; it orchestrates the pre-coding discover phase only.
03 SKILL.md 正文
<!-- story: e24s03 -->
Run Planning
HARD GATE — Before running planning skills, confirm the epic capsule exists and the active story is clear. Planning without a target is noise.
Role: DISCOVER-PHASE ADVANCER — orchestrates the discover-phase sequence; hands off to the scope-work → slice-tasks → plan-work spine for implementation planning.
Updates specs/planning-status.yaml as discover-phase skills complete. This is NOT a duplicate of plan-work — it orchestrates the pre-coding discovery phase only (Discover phase in the 6-phase PMBOK lifecycle), handing off to the planning spine for implementation detail.
When to use
- Starting a brand-new feature or initiative with no prior planning artifacts
- Returning to a stalled initiative and needing to resume the discovery workflow
- After
orchestrate-projecthands off to the Discover phase - When a new epic emerges from
change-requestand needs to go through full discovery
Pre-flight
- [ ] Does
specs/planning-status.yamlexist? If not, create it with the default workflow keys. - [ ] Does
specs/state.yamlhaveactive_flow: planning? Set it if not already. - [ ] Is the epic identified in
release-plan.yaml? The epic must exist before discovery begins.
Workflows (default keys)
survey-context→scope-work→research-first→elaborate-spec(optional) →plan-release→slice-tasks
Each key maps to a skill invocation. Optional keys can be skipped; required keys must complete before the phase advances.
Process
-
Read state — Read
specs/planning-status.yamlandspecs/state.yaml. Understand where discovery stands: which workflow keys aredone, which arepending, and which areoptional(can be skipped). -
Find next step — Find the first workflow key with
status: pending. If the key isoptional, check if the user wants to run it. If not, mark itskipped.
2a. Context capsule check — Before invoking elaborate-spec, check whether a fresh specs/planning-context.yaml exists:
test -f specs/planning-context.yaml && python3 -c "
import yaml, datetime
d = yaml.safe_load(open('specs/planning-context.yaml'))
written = d.get('written_at','')
if written:
age = (datetime.datetime.now(datetime.timezone.utc) - datetime.datetime.fromisoformat(written)).total_seconds() / 3600
print(f'Context age: {age:.1f}h')
" 2>/dev/null || echo "No context or no written_at"
- If context is < 24h old, ask:
"Planning context from Xh ago exists for '<feature_name>'. Re-run elaborate-spec? [y/N]". Skip elaborate-spec on N. - If context is ≥ 24h old or absent, run elaborate-spec normally.
- On planning cycle completion (all required keys done), clear the capsule: delete
specs/planning-context.yamland setplanning-status.yamlcontext_capsule: null.
-
Invoke the matching skill — Run the skill that matches the workflow key:
survey-context— where are we?scope-work— what's in and out?research-first— what already exists?elaborate-spec— refine the idea (optional)plan-release— sequence epics by WSJFslice-tasks— cut vertical slices
-
Mechanical artifact assertion before status update (HARD GATE — Issue #183): Before marking any workflow key
status: done, run:bash scripts/lib/assert-planning-artifacts.sh <workflow-key>If the artifact assertion fails, do NOT advance status. Remediate missing output files before continuing. On success, set
status: donefor that workflow key inplanning-status.yaml. -
Advance — Set
state.yamlactive_flow: planningwhile in this chain. When all required keys are done, sethandoff.next_skilltoplan-work.
Workflow Keys Schema
In specs/planning-status.yaml:
context_capsule: # written by elaborate-spec; cleared on cycle completion
written_at: "2026-06-22T03:00:00Z"
written_by: elaborate-spec
feature_name: "add dark mode"
workflows:
survey-context:
required: true
status: done
scope-work:
required: true
status: pending
research-first:
required: false
status: optional
note: "Skip if no external dependencies"
elaborate-spec:
required: false
status: optional
plan-release:
required: true
status: pending
slice-tasks:
required: true
status: pending
Verify
→ verify: test -f specs/planning-status.yaml && [ "$(grep -c 'status: done' specs/planning-status.yaml)" -ge 3 ]
04 同仓库更多 Skills
skill-verify-fail-open-fixture
Negative-path fixture for run-skill-verify.sh — must never PASS.
negative-path
暂无简介
write-document
Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs/ directory.
wire-observability
Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.
wire-ci
CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.
visual-dashboard
Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers/dashboard/. Reads specs/state.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.