ワンクリックで
module-planning
Interactive research and planning (Stages 0-1) for VCV Rack module development
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Interactive research and planning (Stages 0-1) for VCV Rack module development
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Build coordination wrapper for VCV Rack modules using Makefile
Load module context from handoff files to resume work
Multi-agent parallel investigation for complex VCV Rack problems
Validate panel ↔ creative brief consistency, catch design drift
Adaptive brainstorming for VCV Rack module concepts and improvements
Version management, bug fixes, feature additions for VCV Rack modules
| name | module-planning |
| description | Interactive research and planning (Stages 0-1) for VCV Rack module development |
| allowed-tools | ["Read","Write","Edit","Bash","WebSearch","Grep","Glob"] |
| preconditions | ["creative-brief.md must exist in modules/[Name]/.ideas/","Module must NOT already be past Stage 1"] |
Purpose: Handle Stages 0-1 (Research and Planning) through interactive contract creation without subagents. This skill creates the foundation contracts (architecture.md, plan.md) that guide implementation.
Invoked by: /plan command (to be created) or as first step of /implement workflow
Check preconditions first:
if [ ! -f "modules/${MODULE_NAME}/.ideas/creative-brief.md" ]; then
echo "✗ creative-brief.md not found"
exit 1
fi
STATUS=$(grep -A 2 "^### ${MODULE_NAME}$" MODULES.md | grep "Status:" | awk '{print $2}')
# Check what already exists
test -f "modules/${MODULE_NAME}/.ideas/architecture.md" && echo "✓ architecture.md exists"
test -f "modules/${MODULE_NAME}/.ideas/plan.md" && echo "✓ plan.md exists"
Resume logic:
Goal: Create DSP architecture specification (architecture.md)
Duration: 5-10 minutes
Process:
cat modules/${MODULE_NAME}/.ideas/creative-brief.md
Identify module technical approach:
Research VCV Rack DSP patterns:
Research professional module examples:
Research voltage ranges and standards:
Check design sync (if mockup exists):
modules/${MODULE_NAME}/.ideas/mockups/v*-panel.yamlOutput:
Create modules/${MODULE_NAME}/.ideas/architecture.md using the template from assets/architecture-template.md.
Required sections:
# DSP Architecture: [ModuleName]## Core Components - Each DSP component with structured format## Processing Chain - ASCII diagram showing signal flow## I/O Mapping - Table mapping ports to DSP components## Parameter Mapping - Table mapping parameters to DSP components## Algorithm Details - Implementation approach for each algorithm## Polyphony Strategy - How module handles polyphonic cables (if applicable)## Special Considerations - Performance, denormals, sample rate, CPU budget## Research References - Professional modules, VCV docs, technical resourcesVCV-specific sections:
Polyphony Strategy example:
## Polyphony Strategy
**Channel Handling:** Up to 16 polyphonic channels
**Processing:** Per-channel independent processing using SIMD (process 4 channels at a time)
**Port Configuration:**
- Input ports: Polyphonic (up to 16 channels)
- Output ports: Match input channel count
- CV ports: Monophonic CV applied to all channels
**Implementation:**
```cpp
// Process in SIMD blocks of 4 channels
int channels = std::max(1, inputs[AUDIO_INPUT].getChannels());
outputs[AUDIO_OUTPUT].setChannels(channels);
for (int c = 0; c < channels; c += 4) {
// Process 4 channels at once using rack::simd::float_4
}
**State management:**
1. Create/update `.continue-here.md`:
```yaml
---
module: [ModuleName]
stage: 0
status: complete
last_updated: [YYYY-MM-DD HH:MM:SS]
---
# Resume Point
## Current State: Stage 0 - Research Complete
DSP architecture documented. Ready to proceed to planning.
## Completed So Far
**Stage 0:** ✓ Complete
- Module category defined
- Professional examples researched
- DSP feasibility verified
- Voltage ranges researched
- Polyphony strategy defined
## Next Steps
1. Stage 1: Planning (calculate complexity, create implementation plan)
2. Review research findings
3. Pause here
## Files Created
- modules/[ModuleName]/.ideas/architecture.md
Update MODULES.md status to 🚧 Stage 0 and add timeline entry
Git commit:
git add modules/${MODULE_NAME}/.ideas/architecture.md modules/${MODULE_NAME}/.continue-here.md MODULES.md
git commit -m "$(cat <<'EOF'
feat: [ModuleName] Stage 0 - research complete
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
Decision menu (numbered format):
✓ Stage 0 complete: DSP architecture documented
What's next?
1. Continue to Stage 1 - Planning (recommended)
2. Review architecture.md findings
3. Improve creative brief based on research
4. Run deeper VCV Rack investigation (deep-research skill) ← Discover troubleshooting
5. Pause here
6. Other
Choose (1-6): _
Wait for user input. Handle:
Goal: Calculate complexity and create implementation plan (plan.md)
Duration: 2-5 minutes
Preconditions:
Check for required contracts:
test -f "modules/${MODULE_NAME}/.ideas/parameter-spec.md" && echo "✓ parameter-spec.md" || echo "✗ parameter-spec.md MISSING"
test -f "modules/${MODULE_NAME}/.ideas/architecture.md" && echo "✓ architecture.md" || echo "✗ architecture.md MISSING"
If parameter-spec.md OR architecture.md is missing:
STOP IMMEDIATELY and BLOCK with this message:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✗ BLOCKED: Cannot proceed to Stage 1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Missing implementation contracts:
Required contracts:
✓ creative-brief.md - exists
[✓/✗] parameter-spec.md - [exists/MISSING (required)]
[✓/✗] architecture.md - [exists/MISSING (required)]
WHY BLOCKED:
Stage 1 planning requires complete specifications to prevent implementation
drift. These contracts are the single source of truth.
HOW TO UNBLOCK:
1. parameter-spec.md: Complete panel mockup workflow
- Run: /dream [ModuleName]
- Choose: "Create panel mockup"
- Design panel and finalize (Phase 4.5)
- Finalization generates parameter-spec.md
2. architecture.md: Create DSP architecture specification
- Run Stage 0 (Research) to generate architecture.md
- Document DSP components and processing chain
- Map I/O and parameters to DSP components
- Save to modules/[ModuleName]/.ideas/architecture.md
Once both contracts exist, Stage 1 will proceed.
Exit skill and wait for user to create contracts.
Process (contracts confirmed present):
cat modules/${MODULE_NAME}/.ideas/parameter-spec.md
cat modules/${MODULE_NAME}/.ideas/architecture.md
Formula:
score = min(param_count / 5, 2.0) + min(io_count / 8, 2.0) + algorithm_count + feature_count
Cap at 5.0
Extract metrics:
From parameter-spec.md:
From architecture.md (I/O configuration):
From architecture.md (DSP components):
Features to identify (from architecture.md):
Display breakdown:
Complexity Calculation:
- Parameters: [N] parameters ([N/5] points, capped at 2.0) = [X.X]
- I/O Ports: [N] ports ([N/8] points, capped at 2.0) = [X.X]
- Algorithms: [N] DSP components = [N]
- Features: [List features] = [N]
Total: [X.X] / 5.0
Determine implementation strategy:
For complex modules, create phases:
Stage 4 (DSP) phases:
Stage 5 (GUI) phases:
Each phase needs description, test criteria, estimated duration.
VCV-specific considerations:
CPU Budget Assessment:
Document expected CPU budget in plan.md based on algorithm complexity.
Polyphony Performance:
Output:
Create modules/${MODULE_NAME}/.ideas/plan.md using the template from assets/plan-template.md.
Required sections:
# Implementation Plan: [ModuleName]## Complexity Assessment - Score breakdown and classification## Implementation Strategy - Single-pass or phased approach## Stage Breakdown - Detailed description of each stage## Phase Details (if complex) - For each DSP/GUI phase## CPU Budget - Expected CPU usage and optimization strategy## Polyphony Strategy - Channel handling and SIMD optimization## Risk Assessment - Technical challenges and mitigation## Timeline Estimate - Expected duration for each stageState management:
.continue-here.md:---
module: [ModuleName]
stage: 1
status: complete
last_updated: [YYYY-MM-DD HH:MM:SS]
complexity_score: [X.X]
phased_implementation: [true/false]
---
# Resume Point
## Current State: Stage 1 - Planning Complete
Implementation plan created. Ready to proceed to foundation (Stage 2).
## Completed So Far
**Stage 0:** ✓ Complete
**Stage 1:** ✓ Complete
- Complexity score: [X.X]
- Strategy: [Single-pass | Phased implementation]
- CPU budget: [<1% | 1-3% | 3-10% | >10%]
- Polyphony: [Monophonic | Polyphonic up to N channels]
- Plan documented
## Next Steps
1. Stage 2: Foundation (create build system)
2. Review plan details
3. Pause here
## Files Created
- modules/[ModuleName]/.ideas/architecture.md
- modules/[ModuleName]/.ideas/plan.md
Update MODULES.md status to 🚧 Stage 1 and add timeline entry
Git commit:
git add modules/${MODULE_NAME}/.ideas/plan.md modules/${MODULE_NAME}/.continue-here.md MODULES.md
git commit -m "$(cat <<'EOF'
feat: [ModuleName] Stage 1 - planning complete
Complexity: [X.X]
Strategy: [Single-pass | Phased implementation]
CPU Budget: [<1% | 1-3% | 3-10% | >10%]
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
Decision menu (numbered format):
✓ Stage 1 complete: Implementation plan created (Complexity [X.X], [single-pass/phased])
What's next?
1. Continue to Stage 2 - Foundation (via /implement) (recommended)
2. Review plan.md details
3. Adjust complexity assessment
4. Review contracts (parameter-spec, architecture) ← Discover design-sync
5. Pause here
6. Other
Choose (1-6): _
Wait for user input. Handle:
When user chooses to proceed to Stage 2:
.continue-here.md files):rm modules/${MODULE_NAME}/.ideas/.continue-here.md
# Create at modules/[ModuleName]/.continue-here.md (NOT in .ideas/)
---
module: [ModuleName]
stage: 1
status: complete
last_updated: [YYYY-MM-DD HH:MM:SS]
complexity_score: [X.X]
phased_implementation: [true/false]
next_stage: 2
ready_for_implementation: true
---
# Ready for Implementation
Planning complete. All contracts created:
- ✓ creative-brief.md
- ✓ parameter-spec.md
- ✓ architecture.md
- ✓ plan.md
Run `/implement [ModuleName]` to begin Stage 2 (Foundation).
Display to user:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ Planning Complete
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Module: [ModuleName]
Complexity: [X.X] ([Simple/Complex])
Strategy: [Single-pass | Phased implementation]
CPU Budget: [<1% | 1-3% | 3-10% | >10%]
Polyphony: [Monophonic | Polyphonic up to N channels]
Contracts created:
✓ creative-brief.md
✓ parameter-spec.md
✓ architecture.md
✓ plan.md
Ready to build. Run: /implement [ModuleName]
When researching for Stage 0, focus on:
Core Module Classes:
rack::Module - Base class for all modulesrack::Port (Input/Output) - Audio/CV/gate portsrack::Param - Knobs, switches, buttonsrack::Light - LED indicatorsDSP Utilities:
rack::dsp::SchmittTrigger - Gate/trigger detectionrack::dsp::PulseGenerator - Generate trigger pulsesrack::dsp::ClockDivider - Reduce processing raterack::dsp::RCFilter - Simple RC filterrack::dsp::ExponentialFilter - Smoothingrack::simd::float_4 - SIMD processing (4 channels at once)Example Research Notes:
## VCV Rack DSP Classes
**SchmittTrigger** (rack::dsp::SchmittTrigger)
- Purpose: Detect rising/falling edges on gate inputs
- Usage: `if (trigger.process(inputs[GATE_INPUT].getVoltage())) { /* triggered */ }`
- Hysteresis: 0.1V - 2.0V (configurable)
**SIMD float_4** (rack::simd::float_4)
- Purpose: Process 4 polyphonic channels simultaneously
- Usage: `simd::float_4 in = inputs[AUDIO_INPUT].getVoltageSimd<float_4>(c);`
- Performance: 4x faster than scalar processing
Research how professional modules handle polyphony:
## Polyphony Research
**Mutable Instruments Plaits** (macro oscillator)
- Polyphony: Up to 16 channels
- Processing: SIMD optimized (process 4 channels per iteration)
- CPU Impact: ~2% mono, ~8% with 16 channels (4x effective with SIMD)
**Befaco EvenVCO** (oscillator)
- Polyphony: Monophonic only
- Rationale: Complex algorithm, high CPU
- CPU Impact: ~3% per instance
**Pattern**: Complex algorithms may need monophonic-only approach for CPU budget
## VCV Rack Voltage Standards
**Audio Signals:**
- Range: ±5V nominal (±10V peak)
- RMS: ~5V for "full scale" audio
**CV Modulation:**
- Standard: ±5V (most common)
- Extended: ±10V (some modules)
**Pitch CV:**
- Standard: 1V/octave
- C4 (261.626 Hz) = 0V
- C5 (523.251 Hz) = 1V
- A4 (440 Hz) = -0.75V
**Gates:**
- Low: 0V
- High: 10V
- Threshold: ~1V (with hysteresis)
**Triggers:**
- Pulse: 10V
- Duration: >1ms (typical)
Research CPU usage of similar modules:
## CPU Budget Analysis
**Reference Modules** (measured at 44.1kHz, single instance):
- VCV VCO-1: 0.8% (basic oscillator)
- Fundamental VCF: 1.2% (4-pole filter)
- Audible Instruments Plaits: 2.5% mono, 9% poly (complex oscillator)
- Vult Tangents: 3.5% (waveshaping)
- ML Modules freeverb: 8% (reverb)
**Our Module** (estimated):
- Algorithm complexity: [Simple/Moderate/Complex]
- Polyphony: [Mono/Poly up to 16]
- Estimated CPU: [X%] mono, [Y%] poly (if applicable)
Detailed stage implementations are in:
references/stage-0-research.md - Research stage detailsreferences/stage-1-planning.md - Planning stage detailsTemplates are in:
assets/architecture-template.md - DSP architecture contract templateassets/plan-template.md - Implementation plan templateInvoked by:
/plan command (to be created)/implement command (if contracts missing)module-workflow skill (if contracts incomplete)Invokes:
design-sync skill (if mockup exists and needs validation)deep-research skill (if user requests deeper investigation)Reads:
creative-brief.md (from module-ideation)parameter-spec.md (from ui-mockup finalization)Creates:
architecture.md (Stage 0)plan.md (Stage 1).continue-here.md (handoff to module-workflow)Updates:
If creative-brief.md missing:
✗ Cannot start planning without creative brief.
Run: /dream [ModuleName]
This will guide you through the ideation process to create the creative brief.
If module already past Stage 1:
✗ [ModuleName] is already in Stage [N].
Planning (Stages 0-1) is complete. Contracts exist:
- architecture.md
- plan.md
To make changes, use /improve [ModuleName].
To continue implementation, use /continue [ModuleName].
If contracts exist but user wants to regenerate:
Contracts already exist for [ModuleName]:
✓ architecture.md (Stage 0)
✓ plan.md (Stage 1)
Options:
1. Review existing contracts
2. Regenerate contracts (will overwrite)
3. Continue to implementation (/implement)
4. Cancel
Choose (1-4): _
Planning is successful when:
CRITICAL RESEARCH REQUIREMENTS:
When executing this skill:
Common pitfalls to AVOID: