{"id":"5ca3afa2-62d3-4456-ae84-c4052b9585e7","shortId":"buPMxR","kind":"skill","title":"ultra-orchestrator-legacy","tagline":"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.","description":"# Ultra Orchestrator Legacy\n\nThis is the legacy compatibility entry point. New runs should use\n`$ultra-orchestrator`, which now points to the strict mainline protocol.\n\nDrive the run as a control plane, not as a generic helper.\n\n## Run the workflow\n\nExecute stages in this exact order:\n\n1. Intake\n2. Plan\n3. Dispatch\n4. Execute\n5. Review\n6. QA\n7. Deliver\n8. Retro\n\nTreat this as a state machine, not a one-way waterfall.\n\nUse these feedback loops when needed:\n\n- `Review -> Execute` when the result fails spec or engineering review\n- `QA -> Execute` when implementation is locally wrong but the plan still stands\n- `QA -> Plan` when QA reveals an architecture or requirement mistake\n\nDo not skip a stage unless the task is trivially small. If you skip, state why in the orchestration log.\n\n## Produce mandatory artifacts\n\nEvery run must produce these top-level outputs:\n\n- `final_deliverable`\n- `orchestration_log`\n- `vetter_report`\n\nUse the canonical field shapes in [`references/contracts.md`](references/contracts.md).\n\n## Use supporting skills\n\nInvoke these sibling skills by phase:\n\n- `$clarify-and-intake` for intake normalization\n- `$decision-complete-planner` for task graph creation\n- `$dispatch-and-track` for work package assignment and ledger updates\n- `$spec-review` before implementation when scope or interfaces are non-trivial\n- `$code-review` after implementation and before integration\n- `$qa-verify` when behavior changed or user flows matter\n- `$deliver-and-retro` to assemble final outputs\n- `$risk-vetter` before new tools, skills, or high-impact actions\n- `$safety-guard` when commands or write scope look risky\n- `$autoplan` when the user wants a fast planning pipeline without manual phase handoffs\n\n## Enforce role boundaries\n\nKeep one active role per phase:\n\n- Intake Lead\n- Planner\n- Architect/Eng Reviewer\n- Worker\n- Reviewer\n- QA\n- Integrator\n\nDo 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.\n\n## Dispatch rules\n\n- Parallelize only independent work packages.\n- Only dispatch in parallel when dependencies are satisfied and `owned_paths` are disjoint.\n- Treat overlapping `owned_paths` as write-lock conflicts and serialize them.\n- Allow one constrained retry for transient failures.\n- Escalate hard blockers with summary, evidence, and suggested next step.\n\nWhen in doubt, prefer serial execution over unsafe parallelism.\n\n## Review rules\n\nRun two gates:\n\n1. Specification consistency\n2. Engineering quality\n\nUse the compact multi-lens checklist in [`references/review-lenses.md`](references/review-lenses.md).\n\nDo not integrate conclusions that lack evidence.\n\n## Ledger ownership\n\nTreat `ExecutionLedger` as a control-plane artifact owned by the host orchestration layer.\n\n- Let LLMs produce structured artifacts and status intent.\n- Let scripts or the outer state machine update ledger fields precisely.\n- Do not ask an LLM to rewrite a large ledger JSON blob from scratch in a long conversation.\n\n## Context firewall\n\nDefault to artifact-driven handoff.\n\n- Pass `TaskManifest`, `WorkPackage`, `AgentResult`, and narrow file pointers.\n- Do not pass full upstream chat history to downstream roles unless it is truly necessary.\n- Keep context on a need-to-know basis to reduce token pollution and inherited mistakes.\n\n## Safety rules\n\nBefore using external tools, unknown skills, destructive commands, or broad write scopes:\n\n1. Run `$risk-vetter`\n2. Apply `$safety-guard` if needed\n3. Record the decision in `vetter_report`\n\nUse these policy thresholds:\n\n- `LOW`: allow\n- `MEDIUM`: allow with guardrails\n- `HIGH`: require explicit approval\n- `EXTREME`: block unless the user clearly approves\n\n## Use scripts when helpful\n\n- Run `scripts/new_run.py` to scaffold a run ledger and output shell.\n- Run `scripts/validate_run.py` to validate a completed run artifact.\n\n## Keep context compact\n\nLoad detailed references only when needed:\n\n- [`references/contracts.md`](references/contracts.md) for canonical shapes\n- [`references/workflow.md`](references/workflow.md) for stage-by-stage guidance\n- [`references/review-lenses.md`](references/review-lenses.md) for review criteria\n- [`references/examples.md`](references/examples.md) for example run artifacts\n\n## Slice-driven execution\n\nWhen the repository uses OpenSpec changes, treat `change` and `slice` as different layers:\n\n- `change` is the specification and progress ledger unit\n- `slice` is the implementation, verification, and commit unit\n\nDefault execution stack:\n\n1. `Program`\n2. `Milestone`\n3. `Change`\n4. `Slice`\n\nDo not report day-to-day engineering progress only at milestone granularity when a slice-level view is available.\n\n## Required slice status discipline\n\nUse this canonical slice status vocabulary:\n\n- `slice_0_not_opened`\n- `slice_0_spec_ready`\n- `slice_1_completed`\n- `slice_2_in_progress`\n- `slice_3_qa_pending`\n- `slice_4_done`\n\nFor every active change, Ultra should know:\n\n- current slice status\n- next intended slice\n- owned paths for the current slice\n- required verification gate before advancing slice status\n\n## Ledger synchronization rule\n\nAfter each completed implementation slice:\n\n1. update the OpenSpec-side change status intent\n2. update roadmap or current-status tally if counts changed\n3. record the verification result that justifies the new slice status\n\nDo not leave slice status advanced in code or conversation only. The ledger must match the implementation state.\n\n## Single-change trial mode\n\nWhen validating workflow speed or skill quality, prefer a `single-change trial`:\n\n1. open or select one change\n2. set `slice_0_spec_ready`\n3. implement exactly one bounded slice\n4. run the minimum meaningful verification\n5. record friction, speed, and repeatability notes\n\nUse this mode to calibrate whether a change is too broad, whether owned paths are too wide, or whether orchestration overhead is too high.\n\n## Batch-opening guidance\n\nWhen many changes remain unopened, Ultra should prefer:\n\n- opening only the next highest-value changes needed for the current execution wave\n- assigning slice status at creation time\n- avoiding a backlog of ambiguous change folders with no slice state\n\nOpen many changes in one pass only when the user explicitly wants backlog initialization or ledger normalization.","tags":["ultra","orchestrator","legacy","orchestration","keithhegit","agent-skills","orchestration-framework","spec-coding","spec-driven-development"],"capabilities":["skill","source-keithhegit","skill-ultra-orchestrator-legacy","topic-agent-skills","topic-orchestration-framework","topic-spec-coding","topic-spec-driven-development"],"categories":["ultra-orchestration"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/keithhegit/ultra-orchestration/ultra-orchestrator-legacy","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add keithhegit/ultra-orchestration","source_repo":"https://github.com/keithhegit/ultra-orchestration","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (6,354 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:39.602Z","embedding":null,"createdAt":"2026-05-18T13:22:05.449Z","updatedAt":"2026-05-18T19:14:39.602Z","lastSeenAt":"2026-05-18T19:14:39.602Z","tsv":"'0':720,724,851 '1':83,412,549,680,728,775,842 '2':85,415,554,682,731,784,848 '3':87,561,684,735,795,854 '4':89,686,739,860 '5':91,866 '6':93 '7':95 '8':97 'accept':341,345 'action':280 'activ':309,743 'advanc':764,811 'agentresult':499 'allow':381,573,575 'ambigu':933 'appli':555 'approv':343,581,588 'architect/eng':316 'architectur':145 'artifact':171,444,455,493,610,643 'artifact-driven':492 'ask':472 'assembl':266 'assign':226,923 'autoplan':291 'avail':708 'avoid':929 'backlog':931,952 'base':25 'basi':527 'batch':898 'batch-open':897 'behavior':27,255 'blob':481 'block':583 'blocker':390 'bound':858 'boundari':306 'broad':328,546,883 'calibr':877 'canon':189,623,715 'chang':256,653,655,661,685,744,781,794,826,840,847,880,903,916,934,942 'chat':509 'check':346 'checklist':424 'clarifi':205 'clarify-and-intak':204 'clear':587 'code':244,813 'code-review':243 'command':285,544 'commit':675 'compact':420,613 'compat':6,44 'complet':213,608,729,772 'conclus':431 'conflict':377 'consist':414 'constrain':383 'context':488,520,612 'control':35,67,442 'control-plan':441 'convers':487,815 'count':793 'creation':218,927 'criteria':637 'current':748,758,789,920 'current-status':788 'day':692,694 'day-to-day':691 'decis':212,564 'decision-complete-plann':211 'default':490,677 'deleg':337 'deliv':96,262 'deliver':182 'deliver-and-retro':261 'depend':361 'destruct':543 'detail':615 'differ':659 'disciplin':712 'disjoint':368 'dispatch':88,220,349,357 'dispatch-and-track':219 'done':740 'doubt':400 'downstream':512 'drive':62 'driven':494,646 'enforc':304 'engin':125,416,695 'entri':7,45 'escal':388 'everi':172,742 'evid':393,434 'exact':81,856 'exampl':641 'execut':77,90,118,128,403,647,678,921 'executionledg':438 'explicit':580,950 'extern':539 'extrem':582 'fail':122 'failur':387 'fast':297 'feedback':113 'field':190,468 'file':502 'final':181,267 'firewal':489 'first':34 'flow':14,259 'folder':935 'friction':868 'full':507 'gate':411,762 'generic':72 'granular':700 'graph':217 'guard':283,558 'guardrail':577 'guidanc':632,900 'handoff':303,495 'hard':389 'help':592 'helper':73 'high':278,578,896 'high-impact':277 'highest':914 'highest-valu':913 'histori':510 'host':448 'impact':279 'implement':130,234,247,329,672,773,822,855 'independ':353 'inherit':533 'initi':953 'intak':84,207,209,313 'integr':250,321,334,430 'intend':752 'intent':458,783 'interfac':238 'invok':198 'json':480 'justifi':801 'keep':307,519,611 'know':526,747 'lack':433 'larg':478 'layer':450,660 'lead':314 'leav':808 'ledger':228,435,467,479,599,667,767,818,955 'legaci':4,5,39,43 'len':423 'let':324,332,451,459 'level':179,705 'lightweight':22 'llm':474 'llms':452 'load':614 'local':132 'lock':376 'log':168,184 'long':486 'look':289 'loop':114 'low':572 'machin':104,465 'mainlin':60 'mandatori':170 'mani':902,941 'manual':301 'match':820 'matter':260 'meaning':864 'medium':574 'mileston':683,699 'minimum':863 'mistak':148,534 'mode':828,875 'multi':422 'multi-len':421 'must':174,819 'narrow':501 'necessari':518 'need':19,116,524,560,619,917 'need-to-know':523 'new':30,47,273,803 'next':396,751,912 'non':241 'non-trivi':240 'normal':210,956 'note':872 'older':21 'one':108,308,382,846,857,944 'one-way':107 'open':722,843,899,909,940 'openspec':33,652,779 'openspec-first':32 'openspec-sid':778 'orchestr':3,13,26,38,53,167,183,449,892 'order':82 'origin':11 'outer':463 'output':180,268,601 'overhead':893 'overlap':370 'own':365,371,445,754,885 'ownership':436 'packag':225,355 'parallel':351,359,406 'pass':496,506,945 'path':366,372,755,886 'pend':737 'per':311 'perform':327 'phase':203,302,312 'pipelin':299 'plan':86,136,140,298 'plane':36,68,443 'planner':214,315,326 'point':8,46,56 'pointer':503 'polici':570 'pollut':531 'precis':469 'prefer':401,836,908 'produc':169,175,453 'program':681 'progress':666,696,733 'protocol':61 'qa':94,127,139,142,252,320,736 'qa-verifi':251 'qualiti':417,835 'readi':726,853 'record':562,796,867 'redo':336 'reduc':529 'refer':616 'references/contracts.md':193,194,620,621 'references/examples.md':638,639 'references/review-lenses.md':426,427,633,634 'references/workflow.md':625,626 'remain':904 'repeat':871 'report':186,567,690 'repositori':650 'requir':147,579,709,760 'result':121,799 'retri':384 'retro':98,264 'reveal':143 'review':92,117,126,232,245,317,319,342,407,636 'rewrit':476 'risk':270,552 'risk-vett':269,551 'riski':290 'roadmap':786 'role':305,310,513 'rule':350,408,536,769 'run':48,64,74,173,409,550,593,598,603,609,642,861 'safeti':282,535,557 'safety-guard':281,556 'satisfi':363 'scaffold':596 'scope':236,288,548 'scratch':483 'script':460,590 'scripts/new_run.py':594 'scripts/validate_run.py':604 'select':845 'serial':379,402 'set':849 'shape':191,624 'shell':602 'sibl':200 'side':780 'silent':335 'singl':825,839 'single-chang':824,838 'skill':197,201,275,542,834 'skill-ultra-orchestrator-legacy' 'skip':151,162 'slice':645,657,669,687,704,710,716,719,723,727,730,734,738,749,753,759,765,774,804,809,850,859,924,938 'slice-driven':644 'slice-level':703 'small':159 'source-keithhegit' 'spec':123,231,725,852 'spec-review':230 'specif':413,664 'speed':832,869 'stack':679 'stage':24,78,153,629,631 'stage-bas':23 'stage-by-stag':628 'stand':138 'state':103,163,464,823,939 'status':457,711,717,750,766,782,790,805,810,925 'step':397 'still':137 'strict':31,59 'structur':454 'suggest':395 'summari':392 'support':196 'synchron':768 'talli':791 'task':156,216 'taskmanifest':497 'threshold':571 'time':928 'token':530 'tool':274,540 'top':178 'top-level':177 'topic-agent-skills' 'topic-orchestration-framework' 'topic-spec-coding' 'topic-spec-driven-development' 'track':222 'transient':386 'treat':99,369,437,654 'trial':827,841 'trivial':158,242 'truli':517 'two':410 'ultra':2,12,37,52,745,906 'ultra-orchestr':51 'ultra-orchestrator-legaci':1 'undefin':348 'unit':668,676 'unknown':541 'unless':154,514,584 'unopen':905 'unsaf':405 'updat':229,466,776,785 'upstream':508 'use':15,50,111,187,195,418,538,568,589,651,713,873 'user':258,294,586,949 'valid':606,830 'valu':915 'verif':673,761,798,865 'verifi':253 'vetter':185,271,553,566 'view':706 'vocabulari':718 'want':295,951 'waterfal':110 'wave':922 'way':109 'whether':878,884,891 'wide':889 'without':28,300 'work':224,338,354 'worker':318 'workflow':76,831 'workpackag':498 'write':287,375,547 'write-lock':374 'wrong':133","prices":[{"id":"1ca2155f-786b-41e5-b4ca-f4008feb365f","listingId":"5ca3afa2-62d3-4456-ae84-c4052b9585e7","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"keithhegit","category":"ultra-orchestration","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:05.449Z"}],"sources":[{"listingId":"5ca3afa2-62d3-4456-ae84-c4052b9585e7","source":"github","sourceId":"keithhegit/ultra-orchestration/ultra-orchestrator-legacy","sourceUrl":"https://github.com/keithhegit/ultra-orchestration/tree/main/skills/ultra-orchestrator-legacy","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:05.449Z","lastSeenAt":"2026-05-18T19:14:39.602Z"}],"details":{"listingId":"5ca3afa2-62d3-4456-ae84-c4052b9585e7","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"keithhegit","slug":"ultra-orchestrator-legacy","github":{"repo":"keithhegit/ultra-orchestration","stars":6,"topics":["agent-skills","orchestration-framework","spec-coding","spec-driven-development"],"license":"apache-2.0","html_url":"https://github.com/keithhegit/ultra-orchestration","pushed_at":"2026-04-25T14:21:59Z","description":"Ultra Orchestration 是一套开源的 AI 工程编排技能体系。它将 OpenSpec 规格主线（Program → Milestone → Change → Slice）与 Ultra-Orchestrator 执行阶段（Intake → Plan → Dispatch → Execute → Review → QA → Deliver → Retro）结合，提升交付稳定性与可审计性。","skill_md_sha":"6ee18079e525b03c8f0d711e3ac50d25999e932c","skill_md_path":"skills/ultra-orchestrator-legacy/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/keithhegit/ultra-orchestration/tree/main/skills/ultra-orchestrator-legacy"},"layout":"multi","source":"github","category":"ultra-orchestration","frontmatter":{"name":"ultra-orchestrator-legacy","description":"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."},"skills_sh_url":"https://skills.sh/keithhegit/ultra-orchestration/ultra-orchestrator-legacy"},"updatedAt":"2026-05-18T19:14:39.602Z"}}