plugin-workflow by glittercowboy
Orchestrates JUCE plugin implementation through stages 1-3 (Foundation, DSP, GUI) using subagent delegation with automatic validation after each stage. Use when implementing plugins after planning completes, or when resuming with /continue command. Invoked by /implement command.
Content & Writing
100 Stars
38 Forks
Updated Nov 19, 2025, 01:13 PM
Why Use This
This skill provides specialized capabilities for glittercowboy's codebase.
Use Cases
- Developing new features in the glittercowboy repository
- Refactoring existing code to follow glittercowboy standards
- Understanding and working with glittercowboy's codebase structure
Install Guide
2 steps- 1
Skip this step if Ananke is already installed.
- 2
Skill Snapshot
Auto scan of skill assets. Informational only.
Valid SKILL.md
Checks against SKILL.md specification
Source & Community
Repository plugin-freedom-system
Skill Version
main
Community
100 38
Updated At Nov 19, 2025, 01:13 PM
Skill Stats
SKILL.md 341 Lines
Total Files 1
Total Size 0 B
License NOASSERTION
---
name: plugin-workflow
description: Orchestrates JUCE plugin implementation through stages 1-3 (Foundation, DSP, GUI) using subagent delegation with automatic validation after each stage. Use when implementing plugins after planning completes, or when resuming with /continue command. Invoked by /implement command.
allowed-tools:
- Task # REQUIRED - All stages 1-3 MUST invoke subagents
- Bash # For git commits
- Read # For contracts
- Write # For documentation
- Edit # For state updates
preconditions:
- architecture.md must exist (from /plan)
- plan.md must exist (from /plan)
- Status must be 🚧 Planning Complete OR resuming from 🚧 Stage 1+
- Plugin must NOT be ✅ Working or 📦 Installed (use /improve instead)
---
# plugin-workflow Skill
**Purpose:** Pure orchestrator for stages 1-3 of JUCE plugin implementation with automatic validation after each stage. This skill delegates to specialized subagents and validation-agent for continuous quality assurance.
## Overview
Implementation milestones:
- **Build System Ready** (Stage 1): Create build system and implement parameters (foundation-shell-agent)
- **Audio Engine Working** (Stage 2): Implement audio processing (dsp-agent)
- **UI Integrated** (Stage 3): Connect WebView interface to audio engine (gui-agent)
Stage 0 (Research & Planning) is handled by `plugin-planning` skill.
After Stage 3 completes, plugin is ready for installation (no separate validation stage - validation is automatic and continuous).
## Delegation Protocol
**CRITICAL:** Stages 1-3 MUST invoke subagents via Task tool. This skill is a pure orchestrator and NEVER implements plugin code directly.
**Delegation sequence for every stage:**
1. Load contracts in parallel (architecture.md, plan.md, parameter-spec.md, creative-brief.md)
2. Read Required Reading (juce8-critical-patterns.md) once at workflow start
3. Construct minimal prompt with plugin name + stage + Required Reading
4. Invoke subagent via Task tool
5. After subagent returns, invoke validation-agent (ALL stages 1-3)
6. Execute checkpoint protocol (see references/checkpoint-protocol.md)
**Stage routing:**
- Stage 1 → foundation-shell-agent
- Stage 2 → dsp-agent
- Stage 3 → gui-agent
**Validation routing:**
After each stage completes, validation-agent runs automatically with enhanced runtime validation (compile-time + runtime tests). If validation fails with `continue_to_next_stage: false`, workflow BLOCKS until issues resolved.
## Preconditions
Before starting Stage 1, verify these contract files exist:
- `plugins/$PLUGIN_NAME/.ideas/architecture.md` (from Stage 0)
- `plugins/$PLUGIN_NAME/.ideas/plan.md` (from Stage 0)
- `plugins/$PLUGIN_NAME/.ideas/creative-brief.md` (from ideation)
- `plugins/$PLUGIN_NAME/.ideas/parameter-spec.md` (from UI mockup finalization)
**If parameter-spec-draft.md exists but parameter-spec.md missing:**
Block with message: "Draft parameters found, but full specification required. Complete UI mockup workflow to generate parameter-spec.md. Run: /dream [PluginName] → option 2 (Full UI mockup first)"
**If contracts missing:**
Block and instruct user to run `/plan [PluginName]` to complete Stage 0.
See [references/precondition-checks.md](references/precondition-checks.md) for implementation.
## Resume Entry Point
When resuming via `/continue [PluginName]`:
1. Verify state integrity (see references/state-management.md#verifyStateIntegrity)
2. Parse `.continue-here.md` for current stage and workflow mode
3. Verify contracts unchanged since last checkpoint (checksums match)
4. Verify git working directory clean
5. Verify PLUGINS.md status matches .continue-here.md stage
**If all checks pass:** Resume at stage specified in .continue-here.md
**If any fail:** Present recovery menu (reconcile / clean working directory / review changes)
## Workflow Mode
Determine whether to auto-progress (express mode) or present menus (manual mode).
**Mode sources (priority order):**
1. Environment variables: `WORKFLOW_MODE=express|manual`
2. .continue-here.md field (for resumed workflows)
3. Default to "manual"
**Express mode behavior:**
- Auto-progress through stages without menus
- Drops to manual on ANY error (build failures, validation failures, etc.)
- Final menu always appears after Stage 3 (plugin complete)
See [references/workflow-mode.md](references/workflow-mode.md) for implementation.
## Stage Dispatcher
**Entry point:** Called by /implement or /continue after plugin-planning completes.
**Dispatch flow:**
1. Verify state integrity → BLOCK if corrupted (exit 2 → run /reconcile)
2. Check preconditions → BLOCK if failed
3. **Automatic brief sync** (before Stage 1 only, if mockup exists) → See [references/creative-brief-sync.md](references/creative-brief-sync.md)
4. Route to subagent based on stage
5. Pass contracts and Required Reading to subagent
6. Wait for subagent completion
7. Invoke validation-agent with enhanced runtime validation
8. Execute checkpoint protocol
See [references/dispatcher-pattern.md](references/dispatcher-pattern.md) for full algorithm.
## Phase-Aware Dispatch
For Stages 2-3 with complexity ≥3, use phase-aware dispatch to incrementally implement complex plugins.
**When to use:**
- Stage 2 (DSP) or Stage 3 (GUI)
- Complexity score ≥3 (from plan.md)
- plan.md contains phase markers (### Phase 2.X or ### Phase 3.X)
**How it works:**
1. Detect phases by scanning plan.md for phase markers
2. Loop through phases sequentially (Phase 2.1 → 2.2 → 2.3...)
3. Invoke subagent once per phase with phase-specific prompt
4. Run validation-agent after each phase
5. Execute checkpoint protocol after each phase
6. Present decision menu showing progress ("Phase 2 of 4 complete")
**CRITICAL:** Never send "Implement ALL phases" to subagent. This caused DrumRoulette Stage 2 compilation errors. Phase-aware dispatch is MANDATORY for complex plugins.
See [references/phase-aware-dispatch.md](references/phase-aware-dispatch.md) for detailed algorithm.
## Checkpoint Protocol
After EVERY subagent return, execute this 6-step sequence:
1. **Verify state update:** Check subagent updated .continue-here.md and PLUGINS.md
2. **Fallback state update:** If verification fails, orchestrator updates state
3. **Invoke validation:** Run validation-agent for ALL stages 1-3 (BLOCKING on runtime failures)
4. **Commit stage:** Auto-commit all changes with git
5. **Verify checkpoint:** Validate all steps completed successfully
6. **Handle checkpoint:** Present menu (manual mode) or auto-progress (express mode)
**Checkpoint applies to:**
- Simple plugins (complexity ≤2): After stages 1, 2, 3
- Complex plugins (complexity ≥3): After stage 1 AND after EACH DSP/GUI phase (2.X, 3.X)
See [references/checkpoint-protocol.md](references/checkpoint-protocol.md) for implementation.
## Validation Integration
Stages 1-3 invoke validation-agent with enhanced runtime validation after subagent completes:
- **BLOCKING on runtime failures:** If `status: FAIL` and `continue_to_next_stage: false`, workflow stops
- Runs compile-time checks (contract matching, implementation correctness)
- Runs runtime tests (load plugin, process audio, parameter changes) when binary available
- Returns JSON report with status, checks, recommendation
- Max 500 tokens per report
**Blocking behavior:**
- If validation passes (PASS/WARNING): Continue to next stage
- If validation fails with `continue_to_next_stage: true`: Present warning, allow continuation
- If validation fails with `continue_to_next_stage: false`: BLOCK workflow, present error menu
See [references/validation-integration.md](references/validation-integration.md) for functions.
## Subagent Handoff Protocol
Subagents update state files AND return JSON report:
```json
{
"status": "success" | "error",
"stage": 1-3,
"completionStatement": "...",
"filesCreated": [...],
"nextSteps": [...],
"stateUpdated": true | false,
"stateUpdateError": "..." (optional)
}
```
**Verification:**
1. Check `stateUpdated` field in JSON report
2. If true: Verify .continue-here.md actually changed
3. If false/missing: Trigger orchestrator fallback
**Fallback:** Orchestrator reads current state, updates fields, writes back.
See [references/state-management.md](references/state-management.md) for fallback implementation.
## Required Reading Injection
All subagents (stages 1-3) receive `troubleshooting/patterns/juce8-critical-patterns.md` to prevent repeat mistakes.
**Implementation:**
1. Read juce8-critical-patterns.md ONCE at workflow start
2. Prepend to all subagent prompts with clear separator
3. Pass to each subagent invocation from memory (no re-reading)
## Reference Files
Each stage has detailed documentation in references/:
- [stage-1-foundation-shell.md](references/stage-1-foundation-shell.md) - foundation-shell-agent prompt template
- [stage-2-dsp.md](references/stage-2-dsp.md) - dsp-agent prompt template
- [stage-3-gui.md](references/stage-3-gui.md) - gui-agent prompt template
- [state-management.md](references/state-management.md) - State functions
- [dispatcher-pattern.md](references/dispatcher-pattern.md) - Routing logic
- [precondition-checks.md](references/precondition-checks.md) - Contract validation
- [phase-aware-dispatch.md](references/phase-aware-dispatch.md) - Complex plugin handling
- [workflow-mode.md](references/workflow-mode.md) - Express vs manual mode
- [checkpoint-protocol.md](references/checkpoint-protocol.md) - 6-step checkpoint sequence
- [validation-integration.md](references/validation-integration.md) - Validation-agent functions (enhanced runtime validation)
- [creative-brief-sync.md](references/creative-brief-sync.md) - Automatic brief update from mockup
- [error-handling.md](references/error-handling.md) - Error patterns and recovery
- [integration-contracts.md](references/integration-contracts.md) - Component contracts
## Integration Points
**Invoked by:**
- `/implement` command (after plugin-planning completes)
- `/continue` command (for stages 1-3)
- `context-resume` skill (when resuming implementation)
**Invokes via Task tool:**
- `foundation-shell-agent` (Stage 1) - REQUIRED
- `dsp-agent` (Stage 2) - REQUIRED
- `gui-agent` (Stage 3) - REQUIRED
- `validation-agent` (Stages 1-3) - REQUIRED, BLOCKING on runtime failures
**Also invokes:**
- `build-automation` skill (build verification)
- `plugin-lifecycle` skill (if user chooses to install)
**Reads (contracts):**
- architecture.md, plan.md, creative-brief.md, parameter-spec.md
**Creates:**
- .continue-here.md (handoff file)
**Updates:**
- PLUGINS.md (status after each stage)
- .continue-here.md (after each stage)
**Deletes after Stage 3:**
- .continue-here.md (workflow complete, plugin ready for installation)
## Error Handling
**Contract files missing before Stage 1:**
Block and instruct user to run `/plan [PluginName]`.
**Build fails during subagent execution:**
Subagent returns error. Present menu:
1. Investigate (deep-research)
2. Show code
3. Show build output
4. Manual fix (resume with /continue)
**State mismatch detected (exit 2):**
BLOCKING error - user must run `/reconcile [PluginName]` to fix.
**Validation fails with continue_to_next_stage: false:**
BLOCKING error. Present menu with investigation options. Workflow cannot proceed until issues resolved.
**Validation fails with continue_to_next_stage: true:**
Present warning, allow user to decide whether to continue or fix issues first.
See [references/error-handling.md](references/error-handling.md) for detailed patterns.
## Decision Menu Protocol
**Use inline numbered menus for:**
- After EVERY stage completion (checkpoint gates)
- Build failure recovery
- Test failure investigation
- Phase completion (for complex plugins)
**Format:**
```
✓ [Milestone name]
What's next?
1. [Next milestone action] (recommended)
2. [Run tests] - Verify implementation
3. [Pause workflow] - Resume anytime
4. [Review code] - See what was implemented
5. Other
Choose (1-5): _
```
**Express mode:** Skip menus and auto-progress to next stage (except final stage).
**Manual mode:** ALWAYS wait for user response.
## Success Criteria
Workflow succeeds when:
- All subagents (stages 1-3) invoked successfully via Task tool
- Plugin compiles without errors at each stage
- All validation passes (or explicitly allowed to continue with warnings)
- All stages completed in sequence (1 → 2 → 3)
- Decision menus presented after EVERY stage (manual mode)
- PLUGINS.md updated to ✅ Working after Stage 3
- Handoff file deleted after Stage 3 (workflow complete)
- Git history shows atomic commits for each stage
## Anti-Patterns
Common pitfalls to AVOID:
**CRITICAL:**
- ❌ Implementing stage logic directly in orchestrator
- ✓ ALWAYS use Task tool to invoke appropriate subagent
**CRITICAL:**
- ❌ Sending "Implement ALL phases" to subagent for Stages 2-3
- ✓ ALWAYS detect phases in plan.md and loop through them one at a time
**CRITICAL:**
- ❌ Proceeding to next stage when validation fails with continue_to_next_stage: false
- ✓ BLOCK workflow and present error menu until issues resolved
**HIGH:**
- ❌ Not verifying subagent updated state
- ✓ Check stateUpdated field, verify .continue-here.md changed, fallback if needed
**HIGH:**
- ❌ Skipping phase detection for Stages 2-3 when complexity ≥3
- ✓ Read plan.md to check for phases BEFORE invoking dsp-agent or gui-agent
**HIGH:**
- ❌ Skipping validation after subagent completes
- ✓ ALWAYS invoke validation-agent after each stage (1-3)
**MEDIUM:**
- ❌ Not injecting Required Reading to subagents
- ✓ Always pass juce8-critical-patterns.md to prevent repeat mistakes
Name Size