planning
Scannednpx machina-cli add skill NotMyself/planning-system/planning --openclawPlanning System Skill
Overview
This skill provides a reliable system for planning and executing features. It uses Beads as the source of truth for plans and task state, with mechanical enforcement of quality gates.
Architecture
Standard Planning (single feature)
plan:new ──► Beads Epic (plan in description)
│
▼
plan:optimize <epic-id> ──► Beads Tasks (prompts in descriptions)
│ + dev/plans/<name>/ (supporting files)
▼
bd ready ──► Pull-based execution (one task at a time)
Master Planning (large initiative)
plan:new --master ──► Beads Epic + Features (high-level decomposition)
│
▼
plan:new <feature-id> ──► Detailed plan in feature description
│ (optional: research tasks first)
▼
plan:optimize <feature-id> ──► Beads Tasks under feature
│ + dev/plans/<name>/ (supporting files)
▼
bd ready ──► Pull-based execution (one task at a time)
Key Components
| Component | Purpose |
|---|---|
| Commands | Lean workflow coordinators |
| Workflows | Detailed phase instructions (loaded on-demand) |
| Templates | Standardized file formats |
| Verification | TypeScript scripts for mechanical enforcement |
| Hooks | Block shortcuts at Stop events |
Beads Integration (Required)
All plans are stored in Beads epics. Each feature becomes a task under that epic with the full prompt in the description.
# Epic created by plan:new (plan content in description)
bd create --type=epic --title="Feature Name" --description="<full plan>" --silent
# Tasks created by plan:optimize (prompts in description)
bd create --type=task --parent=<epic-id> --title="F001: Setup types" --description="<full prompt>" --silent
# Dependencies between features
bd dep add <task-F002> <task-F001>
# Pull-based execution
bd ready # Find available work
bd update <task-id> --status=in_progress # Claim work
bd close <task-id> # Complete work
DevOps Integration (Optional)
Azure DevOps Story status can sync with Beads epic via sync-devops.ts.
Verification System
Hooks in hooks/hooks.json run TypeScript verification scripts:
- Stop hook: Blocks completion if quality gates fail
Quality gates (all configurable via .planconfig):
- No uncommitted changes
- Build command succeeds
- Test command succeeds
- Lint command succeeds
- Format command succeeds
- Static analysis succeeds
- Verification agent approves test quality and requirements
Quick Reference
| Task | Command |
|---|---|
| Start new plan (standard) | plan:new |
| Start master plan | plan:new --master |
| Plan a feature | plan:new <feature-id> |
| Optimize epic into tasks | plan:optimize <epic-id> |
| Optimize feature into tasks | plan:optimize <feature-id> |
| Find work | bd ready |
| View task | bd show <task-id> |
| Claim work | bd update <task-id> --status=in_progress |
| Complete work | bd close <task-id> |
| Reflect on conversation | /reflect |
| Toggle auto-reflect | /reflect on or /reflect off |
| Reflect status | /reflect status |
Workflow Files
Load these on-demand during command execution:
workflows/1-planning.md- Planning phase detailsworkflows/2-optimization.md- Optimization phase details
Templates
templates/plan.md- Plan document structuretemplates/prompt.md- Feature prompt structuretemplates/context.md- Context file templatetemplates/constraints.md- Constraints file template
Supporting Files
Created by plan:optimize in dev/plans/<name>/:
context.md- Project background and architectureconstraints.md- Global rules for all featuresdecisions.md- Architectural decisions logedge-cases.md- Known edge cases and handlingtesting-strategy.md- Testing approach
Project Configuration
.planconfig (YAML, project root):
build_command: "npm run build"
test_command: "npm test"
lint_command: "eslint ."
format_command: "prettier --check ."
static_analysis_command: "sonar-scanner"
All commands optional. Missing commands skip that verification step.
Source
git clone https://github.com/NotMyself/planning-system/blob/main/skills/planning/SKILL.mdView on GitHub Overview
Provides a reliable system for planning and executing features, using Beads as the source of truth for plans and task state, with mechanical enforcement of quality gates. It supports standard planning for single features and master planning for large initiatives, enabling pull-based execution to drive steady delivery.
How This Skill Works
Plans are stored in Beads epics, with each feature becoming a task whose full prompt lives in the description. The plan:optimize step creates tasks under the epic, plus supporting files in dev/plans, and pull-based execution is driven by bd ready so work is claimed and completed sequentially. Verification hooks enforce quality gates before a task can close.
When to Use It
- Starting a new feature from scratch using plan:new
- Decomposing a large initiative into high-level features (master planning)
- Optimizing an existing plan into actionable tasks with plan:optimize
- Coordinating cross-team work with Beads as the single source of truth
- Enforcing quality gates before task completion via verification hooks
Quick Start
- Step 1: plan:new to create a standard or master plan
- Step 2: plan:optimize <epic-id|feature-id> to generate tasks and prompts
- Step 3: bd ready to start pull-based execution and track task progress
Best Practices
- Define the epic content fully in plan:new so the plan is searchable in Beads
- Decompose features with plan:optimize to generate concrete tasks and prompts
- Keep dev/plans/<name>/ files updated for traceability
- Enable and tune hooks and quality gates in .planconfig
- Use pull-based execution with bd ready to minimize context switching
Example Use Cases
- Launching a new feature by planning, optimizing, and executing tasks under a Beads epic
- Decomposing a large initiative into features and tracking progress in Beads
- Syncing DevOps Story status with a Beads epic for alignment
- Blocking completion with quality gates until linting and tests pass
- Loading detailed workflow steps from workflows/1-planning.md during planning sessions