pi-adapted mux spec orchestrator. Uses pimux as the authoritative stage runtime while preserving mux-ospec semantics.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add MatiasComercio/agentic-config --skill ac-workflow-mux-ospec --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ac Workflow Mux Ospec?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/matiascomercio-ac-workflow-mux-ospec)More formats (shields.io, HTML) on the badges page.
---
name: ac-workflow-mux-ospec
description: "pi-adapted mux spec orchestrator. Uses pimux as the authoritative stage runtime while preserving mux-ospec semantics."
project-agnostic: true
allowed-tools:
- pimux
- AskUserQuestion
- say
argument-hint: '[modifier] [spec_path|inline_prompt]'
---
# MUX Spec Orchestrator - pi adaptation (pimux runtime)
Use this skill to execute explicit spec stages through `pimux` while preserving mux-ospec semantics.
## Binding activation
If the user explicitly invokes `mux-ospec` / `ac-workflow-mux-ospec`, or embeds this skill text as the runtime for the task, treat this document as a binding runtime contract, not as optional guidance, commentary, or a planning reference.
## Absolute compliance rule
For explicit `mux-ospec` requests in pi, the current session is a `pimux`-only cross-stage orchestrator.
- FIRST after spawn: do not poll pimux or use Bash sleep/wait loops; wait for delivered child bridge activity.
- The authoritative `pimux` extension applies a fail-closed parent control-plane lock for explicit `mux-ospec` execution.
- Before the first child exists, the parent must not call `Read`, `Bash`, `Edit`, `Write`, `NotebookEdit`, `Grep`, `Glob`, `web_search`, `subagent`, or any other non-`pimux` tool for substantive repo work.
- Do not execute substantive stage work directly in the parent.
- Do not read, grep, or inspect repo files in the parent to figure out implementation details.
- The first real move is to spawn the authoritative stage-owning `pimux` child.
- The first observable parent tool call must be `pimux spawn`.
- If the parent does substantive inspection before spawn, stop, acknowledge protocol violation, discard parent-side conclusions, and restart from `pimux spawn`.
## Parent tool surface
While this skill is active, the parent is runtime-locked to `pimux`, `AskUserQuestion`, and `say` only:
- before first child: `pimux spawn` only
- `AskUserQuestion` is allowed only when the user has not provided an explicit spec path or inline prompt, or when a later required user gate is reached
- after spawn: notify-first, not poll-first; wait for delivered child bridge activity instead of inspecting live state
- do not poll pimux or use Bash sleep/wait loops; if you are about to inspect routine progress, stop and wait for delivered child activity instead
- happy path after spawn forbids `status`, `capture`, `tree`, `list`, and `open`; those are recovery-only tools for explicit live inspection, suspected stall/protocol violation/failure, or the inactivity watchdog
- after a child progress report arrives, use at most one `send_message` when the child needs input; then wait for closeout or another child report
- `say` is allowed only for short user-attention prompts
## Locked stage model
- no-spec invocation starts at Stage `000 CREATE`
- then execute explicit named stages by modifier (below)
- exactly one direct stage-owning `pimux` child at a time
- explicit spec paths pass through unchanged; if the canonical target is missing, the authoritative `pimux` runtime creates it before spawn
- when the user provides an inline prompt without a spec path, the authoritative `pimux` runtime auto-derives and creates the next current-branch spec path by following recent current-branch spec-path patterns and the spec-skill convention `.specs/specs/<YYYY>/<MM>/<branch>/<NNN>-<title>.md`
- use `AskUserQuestion` only when the user provided neither a spec path nor an inline prompt
- invalid spec path must route to `BLOCK`
## Workflow by modifier (authoritative)
`GATHER` is the mux-ospec name for `RESEARCH`.
- `full`: `CREATE (optional) -> GATHER -> CONSOLIDATE -> SUCCESS_CRITERIA -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> DOCUMENT -> SENTINEL`
- `lean`: `CREATE (optional) -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> DOCUMENT -> SELF_VALIDATION`
- `leanest`: `CREATE (optional) -> CONFIRM_SC -> PLAN -> IMPLEMENT -> REVIEW -> FIX -> TEST -> SELF_VALIDATION`
## Gate and pacing rules
- `SUCCESS_CRITERIA` content is required before `CONFIRM_SC`
- `CONFIRM_SC` is a mandatory user gate before `PLAN`
- only `PASS` advances through `REVIEW`, `TEST`, `SENTINEL`, and `SELF_VALIDATION`
- `WARN`/`FAIL` route to `FIX`; retry exhaustion escalates to user
- child bridge notifications are delivered automatically; default pacing is notify-first
- do not poll pimux or use Bash sleep/wait loops; if you are about to inspect routine progress, stop and wait for delivered child activity instead
- after spawn, do not call `status`, `capture`, `tree`, `list`, or `open` on the happy path
- terminal settlement re-arms exactly one final `pimux status` verification before advancing
- optional watchdog is inactivity-only and concise
- default blocked/stuck behavior escalates to user unless explicit override exists
## Stage commit contract (mandatory)
Every authoritative stage child MUST commit all changed repos.
Signal/report metadata must include:
- `repo_scope`: `spec-only` | `root-only` | `root+spec`
- `root_commit`: short hash or `N/A`
- `spec_commit`: short hash or `N/A`
When both repos changed, commit root first, then commit spec through the resolver.
## Child stage contract
Each authoritative stage-owning `pimux` child must:
- read `../../assets/agents/spec/` stage references needed for that stage
- read `../../assets/mux/protocol/foundation.md` and `../../assets/mux/protocol/subagent.md`
- read `../../extensions/pimux/docs/patterns.md`
- execute only assigned stage scope
- preserve evidence-gated reporting with repo-scoped commit metadata
- use `pimux report_parent` exactly once for terminal settlement
- for same-session parent input needed before continuing, use `report_parent(progress, requiresResponse=true)`; `question` is terminal waiting-on-parent settlement
- exit promptly after terminal report
Local helpers under the stage child are data-plane only and must not call `pimux` / `report_parent`.
## Completion
A stage is complete only after terminal report + child exit.
Cross-stage parent advances only after verifying settlement via `pimux status`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!