OMP Task to Spec
OMP parent spec gate. Constrains orchestrate; does not replace it. The
word orchestrate in this file is not a trigger. Children do not read this
skill. This skill is not to-spec.
Stop when the same committed spec revision has adversarial PASS and readiness
READY. Implementation, PR, and merge are out of scope. This is spec work: do
not implement even if a named spec exists, and do not skip to-spec when
groundwork says the task is already narrow.
Read references/outcome-lock.md. Carry the frozen boundary on every spawn.
Do not paste that reference into a child.
Convergence
flowchart TD
gw["task-groundwork (task)"]
verify["verify assumptions<br/>use MCP or web when needed"]
toSpec["to-spec (task)"]
commit["commit (commit)"]
gate["PASS + READY?"]
stopNode["stop"]
subgraph reviewStage [review-stage]
direction LR
adv["adversarial-spec-review (reviewer)"]
ready["spec-readiness (sonic)"]
end
gw --> verify
verify --> toSpec
toSpec --> commit
commit --> adv
commit --> ready
adv --> gate
ready --> gate
gate -->|"PASS + READY"| stopNode
gate -->|"FAIL or NOT READY"| toSpec
subgraph questionProtocol [question protocol — available at every stage]
question["a necessary question arises"]
talk["ask and wait"]
resolved["issue resolved?"]
resume["freeze answers<br/>resume first affected phase"]
question --> talk
talk --> resolved
resolved -->|"no; continue the conversation"| talk
resolved -->|"yes"| resume
talk -->|"owner says stop"| stopNode
end
gw -.->|"question"| question
verify -.->|"question"| question
toSpec -.->|"question"| question
commit -.->|"question"| question
adv -.->|"question"| question
ready -.->|"question"| question
gate -.->|"question"| question
This is an evidence-bounded convergence loop, not a round ladder. Apply no
numeric review or rewrite limit. Every rewrite keeps the same spec identity and
invalidates both prior verdicts.
Agents
Use these OMP agent types:
task-groundwork and to-spec → task
adversarial-spec-review → reviewer
spec-readiness → sonic (more mechanical)
- spec commit →
commit
If reviewer or sonic is missing, stop before review. Do not substitute
reviewer with task.
Rules
Standing rules. Carry them on every spawn with the frozen boundary. They are
not task-specific bans.
- Verify, do not assume. Treat assumptions as dangerous. Use the
authoritative source appropriate to the claim; use MCP or web search when
needed. Do not leave a decision-bearing assumption unresolved.
- No UX change without owner permission. Preserve the current system
when it already does the job. Before proposing work, inspect how that
job is done today and call that path. A new surface or flow needs owner
permission; it is not local implementation freedom.
- In-use stack, not factory default. What this repo installed and
actually runs is the system to use. The original stack, the textbook stack,
and a more common library are not. Before a store, query, or API enters
the spec, find the package and entry already used for that job and call
it.
- Ask the human in plain speech. Questions, stop reasons, and the
final summary are for a person, not a glossary. Say the choice in
everyday words and what happens if they pick each option. If they would need
to ask "what are you saying?", rewrite before sending.
- Question protocol at every stage. Parent, child, reviewer, or commit agent
may raise a necessary question. Preserve its substance, ask in plain speech,
and wait. Continue the conversation until the issue is resolved or the owner
chooses
stop; do not treat the first answer as sufficient when it leaves the
issue open. Freeze the resolved answers and resume from the earliest phase
whose output must be regenerated; if no output was invalidated, resume the
interrupted phase. Do not ask what available evidence can decide, and do not
silently answer or discard another agent's question.
Spawn
Every spawn carries exact authority, the frozen boundary, and the rules above.
The parent adds no task-specific bans or commentary.
- The parent preserves a child's concrete question, evidence, viable choices,
and consequences, but does not decide for the human. Asking pauses this run;
it does not end it or require a new
omp-task-to-spec call.
- After resolution, route by invalidation: changed task outcome, scope, owner,
or Outcome lock →
task-groundwork; changed or incomplete spec contract →
to-spec; commit-only issue → commit; review-only issue with unchanged
committed artifacts → the affected review. If nothing was invalidated,
resume the interrupted phase. Stop only on PASS + READY, owner stop, or a
missing reviewer/sonic.
- Carry artifacts and complete reports. Do not summarize or filter.
- Only
to-spec writes spec bytes. Parent, reviewer, and ad-hoc fix-up do
not. Reviews are read-only. OMP "trivial inline" does not apply to spec.
- Todos only for the active phase. Do not preallocate numbered review rounds.
Pair
Every pair is parallel and isolated. Gate is PASS and READY together against
the same committed spec revision. The parent does not force incremental.
- PASS + READY → stop. No rewrite. Reviews score the committed spec; do
not review uncommitted spec bytes.
- After any FAIL/NOT READY, read both complete reports before rewriting. If
either raises a necessary question, enter the question protocol first. Once
resolved, route from the first affected phase using the invalidation rule
above.
- If no question remains and
Next: to-spec, pass both complete reports to
to-spec, same spec identity. Require one root-complete rewrite operation
that closes every current in-lock root family, commit it, then rerun both
gates. Continue while current evidence proves a P0/P1 or structural Blocker;
do not stop or continue because of the number of prior reviews.
- Unsupported child-owned architecture or a parallel machine whose removal or
existing owner/path is already decided by the frozen lock →
to-spec; do
not ask.
Missing or contradictory authority for a real lock enlargement, durable
store, or create/replace/cancel choice → question protocol. A reviewer's
opinion is not that authority.
- A groundwork question uses the same protocol. After resolution, rerun
task-groundwork when its authority changed; otherwise continue from the
interrupted point.
Spec commit
This skill authorizes a spec commit via commit + commit-work after
each completed to-spec write, before the next review pair. Inspect the exact
to-spec output before committing. If it raises a question, enter the question
protocol and do not commit. After resolution, rerun task-groundwork or
to-spec when the answer invalidated their artifact; otherwise resume the
commit. Reviews measure the committed spec. No further commit after PASS +
READY or after owner stop.
Final summary
Plain speech, same bar as the ask rule. Purpose, boundary, ready?, used the
existing path or built a second one, absorbed neighboring work, open choice.
No file, table, lifecycle list, or glossary.
1---2name: omp-task-to-spec3description: Use only when the user explicitly names omp-task-to-spec. OMP parent spec gate under orchestrate: run the spec path until the same committed revision has adversarial PASS and readiness READY, then stop. Not the child skill to-spec (four-file author). Triggers: omp-task-to-spec; OMP spec gate; orchestrate until the spec is ready. Do not use to write spec files or to implement.4---56# OMP Task to Spec78OMP parent spec gate. Constrains `orchestrate`; does not replace it. The9word `orchestrate` in this file is not a trigger. Children do not read this10skill. This skill is not `to-spec`.1112Stop when the same committed spec revision has adversarial PASS and readiness13READY. Implementation, PR, and merge are out of scope. This is spec work: do14not implement even if a named spec exists, and do not skip `to-spec` when15groundwork says the task is already narrow.1617Read `references/outcome-lock.md`. Carry the frozen boundary on every spawn.18Do not paste that reference into a child.1920## Convergence2122```mermaid23flowchart TD24 gw["task-groundwork (task)"]25 verify["verify assumptions<br/>use MCP or web when needed"]26 toSpec["to-spec (task)"]27 commit["commit (commit)"]28 gate["PASS + READY?"]29 stopNode["stop"]3031 subgraph reviewStage [review-stage]32 direction LR33 adv["adversarial-spec-review (reviewer)"]34 ready["spec-readiness (sonic)"]35 end3637 gw --> verify38 verify --> toSpec39 toSpec --> commit40 commit --> adv41 commit --> ready42 adv --> gate43 ready --> gate44 gate -->|"PASS + READY"| stopNode45 gate -->|"FAIL or NOT READY"| toSpec4647 subgraph questionProtocol [question protocol — available at every stage]48 question["a necessary question arises"]49 talk["ask and wait"]50 resolved["issue resolved?"]51 resume["freeze answers<br/>resume first affected phase"]52 question --> talk53 talk --> resolved54 resolved -->|"no; continue the conversation"| talk55 resolved -->|"yes"| resume56 talk -->|"owner says stop"| stopNode57 end5859 gw -.->|"question"| question60 verify -.->|"question"| question61 toSpec -.->|"question"| question62 commit -.->|"question"| question63 adv -.->|"question"| question64 ready -.->|"question"| question65 gate -.->|"question"| question66```6768This is an evidence-bounded convergence loop, not a round ladder. Apply no69numeric review or rewrite limit. Every rewrite keeps the same spec identity and70invalidates both prior verdicts.7172## Agents7374Use these OMP agent types:7576- `task-groundwork` and `to-spec` → `task`77- `adversarial-spec-review` → `reviewer`78- `spec-readiness` → `sonic` (more mechanical)79- spec commit → `commit`8081If `reviewer` or `sonic` is missing, stop before review. Do not substitute82`reviewer` with `task`.8384## Rules8586Standing rules. Carry them on every spawn with the frozen boundary. They are87not task-specific bans.8889- **Verify, do not assume.** Treat assumptions as dangerous. Use the90 authoritative source appropriate to the claim; use MCP or web search when91 needed. Do not leave a decision-bearing assumption unresolved.92- **No UX change without owner permission.** Preserve the current system93 when it already does the job. Before proposing work, inspect how that94 job is done today and call that path. A new surface or flow needs owner95 permission; it is not local implementation freedom.96- **In-use stack, not factory default.** What this repo installed and97 actually runs is the system to use. The original stack, the textbook stack,98 and a more common library are not. Before a store, query, or API enters99 the spec, find the package and entry already used for that job and call100 it.101- **Ask the human in plain speech.** Questions, stop reasons, and the102 final summary are for a person, not a glossary. Say the choice in103 everyday words and what happens if they pick each option. If they would need104 to ask "what are you saying?", rewrite before sending.105- **Question protocol at every stage.** Parent, child, reviewer, or commit agent106 may raise a necessary question. Preserve its substance, ask in plain speech,107 and wait. Continue the conversation until the issue is resolved or the owner108 chooses `stop`; do not treat the first answer as sufficient when it leaves the109 issue open. Freeze the resolved answers and resume from the earliest phase110 whose output must be regenerated; if no output was invalidated, resume the111 interrupted phase. Do not ask what available evidence can decide, and do not112 silently answer or discard another agent's question.113114## Spawn115116Every spawn carries exact authority, the frozen boundary, and the rules above.117The parent adds no task-specific bans or commentary.118119- The parent preserves a child's concrete question, evidence, viable choices,120 and consequences, but does not decide for the human. Asking pauses this run;121 it does not end it or require a new `omp-task-to-spec` call.122- After resolution, route by invalidation: changed task outcome, scope, owner,123 or Outcome lock → `task-groundwork`; changed or incomplete spec contract →124 `to-spec`; commit-only issue → `commit`; review-only issue with unchanged125 committed artifacts → the affected review. If nothing was invalidated,126 resume the interrupted phase. Stop only on PASS + READY, owner `stop`, or a127 missing `reviewer`/`sonic`.128- Carry artifacts and complete reports. Do not summarize or filter.129- Only `to-spec` writes spec bytes. Parent, reviewer, and ad-hoc fix-up do130 not. Reviews are read-only. OMP "trivial inline" does not apply to spec.131- Todos only for the active phase. Do not preallocate numbered review rounds.132133## Pair134135Every pair is parallel and isolated. Gate is PASS and READY together against136the same committed spec revision. The parent does not force incremental.137138- PASS + READY → stop. No rewrite. Reviews score the committed spec; do139 not review uncommitted spec bytes.140- After any FAIL/NOT READY, read both complete reports before rewriting. If141 either raises a necessary question, enter the question protocol first. Once142 resolved, route from the first affected phase using the invalidation rule143 above.144- If no question remains and `Next: to-spec`, pass both complete reports to145 `to-spec`, same spec identity. Require one root-complete rewrite operation146 that closes every current in-lock root family, commit it, then rerun both147 gates. Continue while current evidence proves a P0/P1 or structural Blocker;148 do not stop or continue because of the number of prior reviews.149- Unsupported child-owned architecture or a parallel machine whose removal or150 existing owner/path is already decided by the frozen lock → `to-spec`; do151 not ask.152 Missing or contradictory authority for a real lock enlargement, durable153 store, or create/replace/cancel choice → question protocol. A reviewer's154 opinion is not that authority.155- A groundwork question uses the same protocol. After resolution, rerun156 `task-groundwork` when its authority changed; otherwise continue from the157 interrupted point.158159## Spec commit160161This skill authorizes a spec commit via `commit` + `commit-work` after162each completed `to-spec` write, before the next review pair. Inspect the exact163`to-spec` output before committing. If it raises a question, enter the question164protocol and do not commit. After resolution, rerun `task-groundwork` or165`to-spec` when the answer invalidated their artifact; otherwise resume the166commit. Reviews measure the committed spec. No further commit after PASS +167READY or after owner `stop`.168169## Final summary170171Plain speech, same bar as the ask rule. Purpose, boundary, ready?, used the172existing path or built a second one, absorbed neighboring work, open choice.173No file, table, lifecycle list, or glossary.