$npx -y skills add witt3rd/oh-my-hermes --skill omh-ralplan-driverDrive omh-ralplan: context package, rounds, distillation.
| 1 | # OMH Ralplan Driver — driving the loop |
| 2 | |
| 3 | Load this skill alongside `omh-ralplan` when you are the orchestrator |
| 4 | dispatching the loop. `omh-ralplan` is loaded by the Planner / Architect |
| 5 | / Critic *workers* — it covers what they do inside each `delegate_task` |
| 6 | call. This skill covers what *you* do as the dispatcher: prep, dispatch, |
| 7 | distill, review. |
| 8 | |
| 9 | The two skills have different readers and different jobs. Don't merge |
| 10 | them — worker context is precious; the dispatcher's playbook should |
| 11 | not ride into every subagent. |
| 12 | |
| 13 | ## Why this skill exists |
| 14 | |
| 15 | Ralplan without disciplined orchestration converges on internal |
| 16 | consistency, not truth. The Planner / Architect / Critic triangle is |
| 17 | self-checking — it will produce a coherent stance about *whatever |
| 18 | you pointed it at*, including the wrong frame, the stale source, the |
| 19 | phantom constraint, and the question the user already settled. |
| 20 | |
| 21 | The orchestrator is the only role with the vantage to: |
| 22 | |
| 23 | - Carve principles before dispatching. |
| 24 | - Author a context package that licenses framing contests. |
| 25 | - Verify ground truth and adjacent mechanisms before subagents |
| 26 | inherit them as fact. |
| 27 | - Iterate the package with the user — half of any non-trivial |
| 28 | requirements come from the user's lived context, not from reading. |
| 29 | - Distill consensus into a canonical artifact stripped of |
| 30 | reviewer scaffolding. |
| 31 | - Apply a final quality gate before handing anything to the user. |
| 32 | |
| 33 | Most of the failure modes named below are pre-dispatch failures. **Prep |
| 34 | is where quality is born.** Distillation and review preserve it. The |
| 35 | loop itself is just the well-instrumented engine in between. |
| 36 | |
| 37 | ## When to use ralplan vs just think |
| 38 | |
| 39 | Use ralplan when the work has: |
| 40 | |
| 41 | - Multiple legitimate decompositions of the problem. |
| 42 | - Load-bearing principles that need enforcing across subagents. |
| 43 | - Cross-cutting concerns the orchestrator might miss alone. |
| 44 | - A user who would otherwise be in a turn-by-turn proposal loop. |
| 45 | |
| 46 | Don't use ralplan when the work is single-file, single-decision, or |
| 47 | obvious-to-solve. Overkill is its own failure mode. Use |
| 48 | `omh-deep-interview` first if the goal is ambiguous. |
| 49 | |
| 50 | ## The five-step playbook |
| 51 | |
| 52 | ### 1. Carve principles first (if they don't exist yet) |
| 53 | |
| 54 | Ralplan without principles produces plausibly-reasoned nonsense. The |
| 55 | Planner/Architect/Critic triangle converges on internal consistency, |
| 56 | not on truth. Principles are the external anchor. |
| 57 | |
| 58 | A good starting point: a small `PRINCIPLES.md` (≤15 entries) at the |
| 59 | project root. Each principle should be load-bearing and name the |
| 60 | failure it prevents. Include this file in every subagent's required |
| 61 | reading. |
| 62 | |
| 63 | If principles don't exist yet, carve them first — even a quick draft |
| 64 | beats unprincipled ralplan. The file can iterate; the existence of |
| 65 | the anchor cannot. |
| 66 | |
| 67 | ### 2. Draft a context package — not just a prompt |
| 68 | |
| 69 | The context package is a living document at |
| 70 | `docs/design/<domain>/context.md`. It is the single most load-bearing |
| 71 | artifact in the run. The Planner reads it. The Architect reads it. |
| 72 | The Critic reads it. A weak package produces a weak stance no matter |
| 73 | how good the subagents are. |
| 74 | |
| 75 | Required sections: |
| 76 | |
| 77 | - **The design question.** Single sentence, then a 2-3 paragraph |
| 78 | expansion. Name what the output must do, what it must honor, what |
| 79 | it is the foundation for. |
| 80 | |
| 81 | - **Artifact-type declaration.** One sentence near the top: "This is |
| 82 | design-shaped, not requirements-shaped" — or vice versa. Forces |
| 83 | the orchestrator to commit before drafting dimensions, and tells |
| 84 | subagents which discipline rules apply (see Pitfall 15). Cheap to |
| 85 | add; surfaces the wrong-shape failure before dimensions get drafted |
| 86 | around the wrong frame. |
| 87 | |
| 88 | - **Sub-dimensions.** A first cut of what the stance must address. |
| 89 | Not sacred — the META question below licenses the Critic to |
| 90 | rework them. |
| 91 | |
| 92 | - **Constraints.** Principles, directives, committed prior decisions |
| 93 | the run must honor. |
| 94 | |
| 95 | - **Out of scope.** What this run does NOT design. |
| 96 | |
| 97 | - **Required reading.** Absolute paths only. Subagents cannot `cd` |
| 98 | and cannot work from summaries. Group by category: principles + |
| 99 | directives, inspiration / prior art, target platform, existing |
| 100 | code, and the context package itself. |
| 101 | |
| 102 | - **Contested questions.** Six to eight places lazy consensus is |
| 103 | most likely. Seeds for the Critic. Not exhaustive. |
| 104 | |
| 105 | - **A META question.** "Are these the right sub-dimensions?" This |
| 106 | licenses the Critic to contest the framing itself, which is the |
| 107 | single most load-bearing move a Critic can make. Without it the |
| 108 | Critic stays inside the frame and only checks compliance. |
| 109 | |
| 110 | - **What done looks like.** Concrete output criteria. Include one |
| 111 | that forces "what is missing from the inspiration / what would |
| 112 | an ideal version have that the inspiration lacks?" |
| 113 | |
| 114 | The orchestrator drafts the cont |