with one click
planning
// Use after pulse:exploring when locked decisions are ready and the user needs an approved phase plan plus current-phase preparation for validation.
// Use after pulse:exploring when locked decisions are ready and the user needs an approved phase plan plus current-phase preparation for validation.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | planning |
| description | Use after pulse:exploring when locked decisions are ready and the user needs an approved phase plan plus current-phase preparation for validation. |
| metadata | {"version":"2.3","ecosystem":"pulse","dependencies":[{"id":"beads-cli","kind":"command","command":"br","missing_effect":"degraded","reason":"Planning creates beads for the current phase through br."},{"id":"beads-viewer","kind":"command","command":"bv","missing_effect":"degraded","reason":"Planning uses bv to verify bead graph structure."},{"id":"gitnexus","kind":"mcp_server","server_names":["gitnexus"],"config_sources":["repo_codex_config","global_codex_config","plugin_mcp_manifest"],"missing_effect":"degraded","reason":"Planning uses GitNexus MCP tools for codebase discovery when available."}]} |
If .pulse/onboarding.json is missing or stale for the current repo, stop and invoke pulse:using-pulse before continuing.
Planning has two jobs:
If this skill cannot explain the work with practical outcomes and realistic examples, it is not done.
Whole Feature
-> Phase Plan
-> Current Phase
-> Stories
-> Beads
For new feature work, define whole-feature architecture before slicing phases: enduring foundations, ownership boundaries, interfaces, and contracts first.
history/<feature>/CONTEXT.md is the source of truth; planning reads but never overrides locked decisions..pulse/project-docs.json first when present, then listed docs before relying only on feature history artifacts.learning_refs.CONTEXT.md
-> Phase 0 Learnings Retrieval
-> Phase 1 Discovery (history/<feature>/discovery.md)
-> Phase 2 Synthesis (history/<feature>/approach.md)
-> Phase 3 Whole Feature Phase Plan (history/<feature>/phase-plan.md)
-> HARD-GATE (Gate 2): human approval required
-> default approved outcome: state sync + stop (`next_action: manual_invoke`, `next_skill_recommended: pulse:planning`)
-> optional approved outcome: continue now in the same context (`next_action: continue_now`)
-> Phase 4 Current Phase Contract (history/<feature>/phase-<n>-contract.md)
-> Phase 5 Current Phase Story Map (history/<feature>/phase-<n>-story-map.md)
-> Phase 6 Multi-Perspective Check (HIGH-stakes only)
-> Phase 7 Current Phase Bead Creation (.beads/* via br)
-> Handoff: recommend pulse:validating for Phase <n> (`next_action: manual_invoke` by default)
.pulse/scripts/pulse_status.mjs exists, run node .pulse/scripts/pulse_status.mjs --json.history/<feature>/CONTEXT.md; if missing, stop and ask user to run pulse:exploring..pulse/tooling-status.json reports blocked..pulse/project-docs.json when present; otherwise minimal relevant docs set)..pulse/memory/critical-patterns.md..pulse/STATE.md; if last compounding is missing or >3 completed features old, warn and continue.Institutional Learnings at top of history/<feature>/discovery.md.history/<feature>/discovery.md using references/planning-reference.md.CONTEXT.md + discovery.md.history/<feature>/approach.md using references/planning-reference.md.testing_mode expectation.history/<feature>/phase-plan.md using references/planning-reference.md.Approval status: PENDING and stop for user approval.REVISE_REQUIRED; only set APPROVED after explicit approval.gate: GATE 2, gate_status: approved, next_skill_recommended: pulse:planning, and next_action: manual_invoke, then stop.Approve and continue now; in that case set next_action: continue_now before continuing.Approval sync checklist before moving forward:
history/<feature>/phase-plan.md approval state..pulse/STATE.md and .pulse/state.json..pulse/STATE.md unless user chooses another.history/<feature>/phase-<n>-contract.md using references/planning-reference.md.history/<feature>/phase-<n>-story-map.md using references/planning-reference.md.Run only for high-stakes phases (core architecture/auth/data model/high blast radius). Iterate 1-2 rounds across phase plan, contract, and story map until changes are incremental.
br create; never pseudo-beads in markdown.history/<feature>/phase-plan.md plus .pulse/STATE.md:
total_phasescurrent_phasecompleted_phasesfinal_phase_readyphase-plan.md and .pulse/STATE.md remain the source of truth.dependencies, files, verify, verification_evidence, testing_mode, decision_refs, learning_refsreferences/bead-template.md for bead schema details.phase-<n>-story-map.md after bead creation.After major transitions, update .pulse/STATE.md as a mirror of durable artifacts (source of truth remains history files).
If context exceeds 65% at a phase boundary:
.pulse/handoffs/planning.json with the shared envelope from ../using-pulse/references/handoff-contract.md.pulse/handoffs/manifest.jsoncompleted_through, artifacts_written, beads_created, open_questions, stories_defined)On success:
Then hand off with: Recommend pulse:validating for Phase as the next skill, default to next_action: manual_invoke, and continue in the same session only when the user explicitly asks for it.
CONTEXT.md