Ultra orchestrator legacy
Skill keithhegit/ultra-orchestration/skills/ultra-orchestrator-legacy
Legacy compatibility entry point for the original Ultra Orchestrator flow. Use only when you need the older lightweight stage-based orchestration behavior without the new strict OpenSpec-first control plane.From its SKILL.md
npx -y skills add keithhegit/ultra-orchestration --skill ultra-orchestrator-legacyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `scripts/new_run.py` and 1 more.
SKILL.md
6.5 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Ultra Orchestrator Legacy
This is the legacy compatibility entry point. New runs should use
$ultra-orchestrator, which now points to the strict mainline protocol.
Drive the run as a control plane, not as a generic helper.
Run the workflow
Execute stages in this exact order:
- Intake
- Plan
- Dispatch
- Execute
- Review
- QA
- Deliver
- Retro
Treat this as a state machine, not a one-way waterfall.
Use these feedback loops when needed:
Review -> Executewhen the result fails spec or engineering reviewQA -> Executewhen implementation is locally wrong but the plan still standsQA -> Planwhen QA reveals an architecture or requirement mistake
Do not skip a stage unless the task is trivially small. If you skip, state why in the orchestration log.
Produce mandatory artifacts
Every run must produce these top-level outputs:
final_deliverableorchestration_logvetter_report
Use the canonical field shapes in references/contracts.md.
Use supporting skills
Invoke these sibling skills by phase:
$clarify-and-intakefor intake normalization$decision-complete-plannerfor task graph creation$dispatch-and-trackfor work package assignment and ledger updates$spec-reviewbefore implementation when scope or interfaces are non-trivial$code-reviewafter implementation and before integration$qa-verifywhen behavior changed or user flows matter$deliver-and-retroto assemble final outputs$risk-vetterbefore new tools, skills, or high-impact actions$safety-guardwhen commands or write scope look risky$autoplanwhen the user wants a fast planning pipeline without manual phase handoffs
Enforce role boundaries
Keep one active role per phase:
- Intake Lead
- Planner
- Architect/Eng Reviewer
- Worker
- Reviewer
- QA
- Integrator
Do not let the Planner perform broad implementation. Do not let the Integrator silently redo delegated work. Do not accept Reviewer approval when acceptance checks were undefined.
Dispatch rules
- Parallelize only independent work packages.
- Only dispatch in parallel when dependencies are satisfied and
owned_pathsare disjoint. - Treat overlapping
owned_pathsas write-lock conflicts and serialize them. - Allow one constrained retry for transient failures.
- Escalate hard blockers with summary, evidence, and suggested next step.
When in doubt, prefer serial execution over unsafe parallelism.
Review rules
Run two gates:
- Specification consistency
- Engineering quality
Use the compact multi-lens checklist in references/review-lenses.md.
Do not integrate conclusions that lack evidence.
Ledger ownership
Treat ExecutionLedger as a control-plane artifact owned by the host orchestration layer.
- Let LLMs produce structured artifacts and status intent.
- Let scripts or the outer state machine update ledger fields precisely.
- Do not ask an LLM to rewrite a large ledger JSON blob from scratch in a long conversation.
Context firewall
Default to artifact-driven handoff.
- Pass
TaskManifest,WorkPackage,AgentResult, and narrow file pointers. - Do not pass full upstream chat history to downstream roles unless it is truly necessary.
- Keep context on a need-to-know basis to reduce token pollution and inherited mistakes.
Safety rules
Before using external tools, unknown skills, destructive commands, or broad write scopes:
- Run
$risk-vetter - Apply
$safety-guardif needed - Record the decision in
vetter_report
Use these policy thresholds:
LOW: allowMEDIUM: allow with guardrailsHIGH: require explicit approvalEXTREME: block unless the user clearly approves
Use scripts when helpful
- Run
scripts/new_run.pyto scaffold a run ledger and output shell. - Run
scripts/validate_run.pyto validate a completed run artifact.
Keep context compact
Load detailed references only when needed:
references/contracts.mdfor canonical shapesreferences/workflow.mdfor stage-by-stage guidancereferences/review-lenses.mdfor review criteriareferences/examples.mdfor example run artifacts
Slice-driven execution
When the repository uses OpenSpec changes, treat change and slice as different layers:
changeis the specification and progress ledger unitsliceis the implementation, verification, and commit unit
Default execution stack:
ProgramMilestoneChangeSlice
Do not report day-to-day engineering progress only at milestone granularity when a slice-level view is available.
Required slice status discipline
Use this canonical slice status vocabulary:
slice_0_not_openedslice_0_spec_readyslice_1_completedslice_2_in_progressslice_3_qa_pendingslice_4_done
For every active change, Ultra should know:
- current slice status
- next intended slice
- owned paths for the current slice
- required verification gate before advancing slice status
Ledger synchronization rule
After each completed implementation slice:
- update the OpenSpec-side change status intent
- update roadmap or current-status tally if counts changed
- record the verification result that justifies the new slice status
Do not leave slice status advanced in code or conversation only. The ledger must match the implementation state.
Single-change trial mode
When validating workflow speed or skill quality, prefer a single-change trial:
- open or select one change
- set
slice_0_spec_ready - implement exactly one bounded slice
- run the minimum meaningful verification
- record friction, speed, and repeatability notes
Use this mode to calibrate whether a change is too broad, whether owned paths are too wide, or whether orchestration overhead is too high.
Batch-opening guidance
When many changes remain unopened, Ultra should prefer:
- opening only the next highest-value changes needed for the current execution wave
- assigning slice status at creation time
- avoiding a backlog of ambiguous change folders with no slice state
Open many changes in one pass only when the user explicitly wants backlog initialization or ledger normalization.
What ships with it: 7 files
8.0 KB alongside SKILL.md, 2 of them executable
agents/
- openai.yaml288 B
references/
- contracts.md2.2 KB
- examples.md436 B
- review-lenses.md707 B
- workflow.md1.5 KB
scripts/
- new_run.pyruns1.4 KB
- validate_run.pyruns1.5 KB