home / skills / jpicklyk / task-orchestrator / post-plan-workflow
This skill orchestrates post-plan materialization and implementation by coordinating MCP items, dependencies, and agent workflows for seamless execution.
npx playbooks add skill jpicklyk/task-orchestrator --skill post-plan-workflowReview the files below or copy the command above to add this skill to your agents.
---
name: post-plan-workflow
description: Internal workflow for post-plan materialization — creates MCP items from the approved plan and dispatches implementation. Triggered automatically after plan approval when MCP tracking is active.
user-invocable: false
---
# Post-Plan Workflow — Materialize and Implement
Plan approval is the green light for the full pipeline. Proceed through all three phases without stopping.
## Phase 1: Materialize
Complete materialization **before** any implementation begins.
1. **Create MCP items** from the approved plan using `create_work_tree` (preferred for structured work with dependencies) or `manage_items` (for individual items). Apply appropriate schema tags (e.g., `tags: "feature-implementation"`) based on the plan — this activates gate enforcement for the item.
2. **Wire dependency edges** between items — use `BLOCKS` for sequencing, `fan-out`/`fan-in` patterns for parallel work
3. **Check `expectedNotes` in create responses** — if the item's tags match a schema, the response includes the expected note keys and phases. Fill required queue-phase notes (`requirements`, `acceptance-criteria`, etc.) with content from the plan before advancing.
4. **Verify all item UUIDs exist** — confirm the full item graph is materialized before proceeding
**If `create_work_tree` fails:** Check partial state with `query_items(operation='overview')`. Delete partial items with `manage_items(delete, recursive=true)` and retry.
Do NOT dispatch implementation agents until materialization is complete. Agents need MCP item UUIDs to self-report progress.
## Phase 2: Implement
Dispatch subagents to execute the plan:
- Each subagent **owns one MCP item** — include the item UUID in the delegation prompt
- If `expectedNotes` entries include `guidance`, embed it in the delegation prompt as authoring instructions when filling notes
- **Agents own their lifecycle transitions** — each agent calls `advance_item(trigger="start")` when beginning work and `advance_item(trigger="complete")` when done (or `trigger="start"` to advance through intermediate phases if the item has review-phase notes)
- Fill work-phase notes (`implementation-notes`, `test-results`, etc.) as the agent works
- Respect dependency ordering — do not dispatch an agent for a blocked item until its blockers complete
- **Between waves:** call `get_blocked_items(parentId=...)` to confirm upstream items completed — dependency gating implicitly verifies agents transitioned their items. If downstream items are still blocked, investigate the upstream blocker
- **Do not** call `advance_item` or `complete_tree` on items delegated to agents — agents handle their own transitions. Duplicate transition calls are harmless but wasteful
Do NOT use `AskUserQuestion` between phases — proceed autonomously.
## Phase 3: Verify
After all agents complete:
1. Run `query_items(parentId=..., role="work")` — any results are items agents failed to transition. Use `/status-progression` to diagnose and manually advance stuck items
2. Run `get_context()` health check to see what completed, what stalled, and what needs attention
3. Review any stalled items — check which notes are missing with `get_context(itemId=...)`
4. Address blockers or incomplete work as needed
This skill automates the post-plan materialization and implementation workflow for MCP-managed plans. It creates MCP items from an approved plan, wires dependencies and gating, then dispatches implementation agents and verifies completion. The workflow enforces a strict three-phase sequence: materialize, implement, verify.
After plan approval the skill calls create_work_tree or manage_items to materialize MCP items and tags them to trigger schema gates. It ensures dependency edges and required queue-phase notes are present, then dispatches subagents with item UUIDs so they can own lifecycle transitions and fill work-phase notes. Finally it runs health checks and diagnostics to surface stuck items and missing notes.
What if create_work_tree fails partway?
Query partial state with query_items(operation='overview'), delete partial items with manage_items(delete, recursive=true), then retry create_work_tree.
Can I dispatch agents before every item UUID exists?
No. Agents need item UUIDs to self-report. Always verify all item UUIDs exist and expectedNotes are filled before dispatch.
Who calls advance_item and complete_tree?
Delegated agents should call advance_item for their owned items as they start and complete. The orchestrator should not advance items delegated to agents except for manual recovery.