Multi model review
Use when the user wants a cross-model Spec Kit workflow — authoring or refining spec.md/plan.md/tasks.md with another model (Codex, GPT, Opus, Claude, Gemini, Hermes, or a local OSS provider via Ollama or LM Studio), choosing or recording spec-author, heavy-spec, implementation, or review models, routing task slices to subagents, exporting a portable review package, or ingesting a review-report.md. Also use when the user invokes /speckit.multi-model-review.cross-review, /speckit.multi-model-review.spec-handoff, /speckit.multi-model-review.review-package, /speckit.multi-model-review.apply-review, or the legacy /multi-model-review:* commands, or gives detailed model specs such as codex-5.5:xhigh@normal, opus-4.7:1m@max, or sonnet-4.6@high.From its SKILL.md
npx -y skills add formin/multi-model-review --skill multi-model-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 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.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
29.3 KB, as published. Nobody here has run it
Multi-Model Spec Review
Coordinate a "spec author model -> implementation model -> reviewer model" workflow across different LLMs on top of GitHub Spec Kit artifacts. External models still move through portable handoff packages. Claude Code implementation work can additionally use the plugin's subagents so scout, planner, worker, and local review tasks run on situation-appropriate models.
When to activate
Activate when the user:
- asks to review with another model
- asks to write development specs with Codex, Opus, Claude, or another model
- asks to choose or record the model used for actual implementation
- asks to split work across subagents or automatically choose models for delegated tasks
- wants a second opinion from Codex, Gemini, Claude, or another CLI model
- asks to use Codex OSS mode, Ollama, LM Studio, or another local Codex provider for spec authoring or review
- mentions Spec Kit artifacts in a review context
- gives detailed model specs such as
codex-5.5:xhigh@normal,opus-4.7:1m@max,sonnet-4.6@high, orcodex-5.5:high@priority - invokes
/speckit.multi-model-review.cross-review,/speckit.multi-model-review.spec-handoff,/speckit.multi-model-review.review-package,/speckit.multi-model-review.apply-review, or the legacy/multi-model-review:*commands
Mental model
feature brief
|
v
spec-authoring-prompt.md
|
user runs the SPEC model
|
spec.md plan.md tasks.md
\ | /
\ | /
user runs the IMPLEMENTATION model
|
optional subagent routing
scout / planner / worker / checker
|
diff
|
+-------v--------+
| review-package |
+-------+--------+
|
user runs the REVIEWER model
|
+-------v-------+
| review-report |
+-------+-------+
|
implementation model ingests findings
The skill owns four directions:
- Spec handoff: gather feature context into a prompt for the configured spec author model
- Subagent routing: record how implementation slices should choose scout, planner, worker, or local checker models
- Review export: gather spec and git context into a compact review package
- Review ingest: parse the review report and drive remediation
Directory convention
.cross-review/
config.json
spec-handoffs/<timestamp>-<slug>/
spec-authoring-prompt.md
spec-output.md
metadata.json
packages/<timestamp>-<slug>/
review-package.md
review-report.md
metadata.json
.claude/agents/
mmr-*.md # optional project-local overrides for plugin subagents
Recommended config.json keys:
buildermodel_defaultsspec_author_modelspec_author_optionsspec_author_profilespec_heavy_modelspec_heavy_optionsspec_heavy_profileimplementation_modelimplementation_optionsreview_modelreview_optionsreview_profilereviewerbase_refspec_dirpackage_profilesubagent_routingcontext_compression
Plugin-provided subagents:
mmr-context-scout: fast read-only exploration, default Claude Code modelhaikummr-implementation-worker: scoped edits and tests, default Claude Code modelsonnetmmr-heavy-planner: cross-cutting or ambiguous planning, default Claude Code modelopusmmr-review-checker: local read-only preflight, default Claude Code modelsonnet
Detailed model specs
The /speckit.multi-model-review.* commands and their legacy /multi-model-review:* aliases are the only directive surfaces. Do not introduce another alias.
Accept detailed model specs in this grammar:
<model>[:<axis-a>][@<axis-b>]
Examples:
codex-5.5:xhigh@normalcodex-5.5:high@priorityopus-4.7:1m@maxsonnet-4.6@high
Provider mappings:
- Codex:
- model examples:
codex-5.5,gpt-5.5 - axis A:
low,medium,high,xhigh,very-high - axis B:
normal,fast,priority
- model examples:
- Claude:
- model examples:
opus-4.7,sonnet-4.6,haiku-4.5,claude-* - axis A:
standard,1m,1Mcontext when present - axis B:
low,normal,high,maxworkload
- model examples:
- Gemini or custom:
- preserve provider-specific axes without inventing mappings
Codex OSS/local provider handling:
- Treat Codex
--oss,oss_provider,model_provider, and[model_providers.<id>]as Codex CLI runtime configuration, not as extra values in the model spec grammar. - When the user asks for Ollama, LM Studio, or another local OSS Codex provider, keep the selected model string in handoff metadata and print command hints with
codex exec --oss -m <model>. - For custom Codex providers, assume the user has configured Codex
config.toml; preserve the raw model and note that provider selection happens outside this extension. - Do not write Codex provider IDs such as
openai,ollama,lmstudio, or custom Codex provider IDs into Claude Code subagent frontmatter unless the local Claude Code installation explicitly supports them.
Parsing rules:
- Preserve the original string as
raw. - Normalize
xhighto legacy displayintelligence=very-high, but keepreasoning=xhighinmodel_defaults. - Normalize
1mto1M. - Normalize
sonnet-4.6toclaude-sonnet-4.6. - For unknown/custom models, if the segment after
:is not one of the known axis values for that provider, treat the whole string as the native model ID. This preserves local-provider model tags such as<local-model>:<tag>. - Do not silently upgrade or downgrade any axis.
- Do not replace the selected implementation model with a stronger model unless the user explicitly requests it.
Model routing defaults:
model_defaults.spec:codex-5.5:xhigh@normal.model_defaults.spec_heavy:opus-4.7:1m@max.model_defaults.dev:sonnet-4.6@highwithallow_silent_upgrade=false.model_defaults.review:codex-5.5:high@normal.model_defaults.subagent_fast:haiku-4.5@normal.- Keep legacy fields updated from
model_defaultsfor older commands and templates. - Keep
builderas the execution surface, such asclaude-code, and keepimplementation_modelas the actual model descriptor. - Keep
reviewerseparate from both implementation model andreview_model.
Subagent auto-routing
Use subagent routing when the user wants implementation work divided into task slices or when subagent_routing.mode = "auto" in .cross-review/config.json.
Default role map:
- scout ->
mmr-context-scout, model keysubagent_fast - worker ->
mmr-implementation-worker, model keydev - heavy planner ->
mmr-heavy-planner, model keyspec_heavy - review checker ->
mmr-review-checker, model keyreviewonly for Claude-compatible review models, otherwisedev
Selection rules:
- Choose
scoutfor read-only codebase discovery, dependency mapping, and compact context summaries. - Choose
heavy plannerfor cross-cutting design, migrations, security-sensitive changes, unclear requirements, and large Spec Kit decomposition. - Choose
workerfor scoped code and test edits after the task slice is clear. - Choose
review checkerfor local read-only preflight after an implementation slice or before exporting a review package.
When Claude Code can pass a per-invocation model to the Agent tool, use the resolved model for that subagent call. Otherwise, prefer project-local .claude/agents/mmr-*.md overrides generated by /multi-model-review:cross-review init --subagents auto; project agents override plugin agents.
Do not write Codex, Gemini, or unknown provider IDs into Claude Code subagent frontmatter unless the local Claude Code installation explicitly supports that custom model. Preserve those models in handoff metadata and use the existing CLI/package path.
Work-assist orchestration (omo · UltraWork · lazycodex · Superpowers)
multi-model-review runs better when heavy, multi-step work is planned and distributed instead of carried by one linear pass. When these tools are installed and callable, use them as the preferred orchestration and methodology layer. When they are not, fall back to this plugin's own mmr-* subagents (see "Subagent auto-routing") or a plain sequential pass, and record the fallback reason in the completion report. They are work-assist tools, not token-savers: only RTK and Headroom report measured savings, and the footer lists these four as usage only.
Roles:
- Superpowers (methodology framework):
brainstorming->writing-plans->executing-plans, plustest-driven-development,systematic-debugging,subagent-driven-development, andverification-before-completion. Use it to structure a flow before acting — tighten an ambiguous spec brief, plan implementation before edits, and drive remediation with verification instead of guesswork. - UltraWork (
/ulw <task>,ultrawork-sanguo): a dispatcher that auto-routes independent task slices to specialized agent tiers. Use it to split work that has clear, independent slices. - omo (oh-my-openagent): a multi-agent execution harness with model routing and LSP/AST code intelligence. Use it to run research, implementation, and verification as parallel subagents over the codebase.
- lazycodex (omo's Codex edition): LSP/AST code exploration and project memory. Prefer it when the builder or reviewer surface is Codex.
Where to apply:
- Spec handoff: use Superpowers
brainstorming/writing-plansto tighten the brief and task slices, and/ulwor omo to research existingspec.md/plan.md/tasks.mdand project rules. Do not run the spec author model itself. - Export (review package): use omo or lazycodex for fast code exploration while reducing the package; an
mmr-review-checkerpreflight can run under omo or/ulw. - Ingest (apply review): use Superpowers
systematic-debuggingandsubagent-driven-developmentto plan accepted fixes,/ulwto batch independent findings, and omo to implement-and-verify. Keep every user confirmation gate intact. - cross-review (config/status): usually no orchestration; just record availability.
Rules:
- Probe availability first (for example
/ulworultraworkhelp, the omo and lazycodex CLIs, the Superpowers skills). If a tool is missing or unusable, fall back without stopping and note "not used / fallback reason". - Do not pass secrets, credentials, raw
.envcontent, or sensitive paths into any of these tools' prompts. Send masked summaries and verification commands only. - These tools do not reduce tokens. Their large outputs still pass through RTK and Headroom, and the footer reports them as usage only.
- Keep top-level control in the main conversation or slash command: these orchestrators and the
mmr-*subagents should not spawn deeper orchestration loops.
Headroom-aware context compression
Use Headroom as an optional context-compression layer for large review inputs when the current host exposes Headroom MCP tools. This is additive to the compact-first package design; it does not replace the diff manifest, focused excerpts, or reviewer context-sufficiency checks.
Headroom concepts to preserve in this skill:
- Content routing: choose different compression behavior for JSON/tool output, logs, diffs, code, search results, and prose.
- Structure preservation: keep file paths, line numbers, function and class signatures, public API names, errors, IDs, hashes, and acceptance criteria visible.
- CCR retrieval: compressed blocks may include a retrieval hash so the reviewer can request the original through
headroom_retrievewhen the same local Headroom store is available. - Observability:
headroom_statscan report savings and retrieval counts when available. - Local-first behavior: do not send raw package material to a hosted compressor and do not start long-running Headroom proxy or wrapper processes from the slash command.
Recommended config:
{
"context_compression": {
"provider": "headroom",
"mode": "auto",
"min_tokens": 2000,
"use_mcp": true,
"require_retrieval_access": false
}
}
Modes:
auto: use Headroom MCP compression when it is callable; otherwise fall back to manual summaries.off: do not use Headroom for package generation.required: abort package generation if Headroom MCP compression is not callable.
Headroom is most useful for oversized raw blocks left after manual reduction: verbose git diff, logs, JSON tool output, search results, long rules files, large source excerpts, and RAG-like context dumps. Do not use Headroom as a reason to omit review-critical evidence from the manifest or focused excerpts. If the reviewer cannot access the same local Headroom store, treat CCR hashes as optional hints and keep the package independently reviewable.
Externalized review state (Harness-1 pattern)
The .cross-review/ directory is a state-externalizing harness in the sense of
pat-jj/harness-1 ("Harness-1:
Reinforcement Learning for Search Agents with State-Externalizing Harnesses",
arXiv:2606.02373): recoverable state — candidate context, curated evidence,
evidence links, verification records, and budget-aware context — lives in
files, while each model keeps only the semantic decisions (what to inspect,
what to curate into the package, which claims to verify, and when the evidence
is sufficient). Apply it concretely:
- Curated evidence over raw dumps: the review package is the curated evidence set. Judge it by whether the evidence a reviewer needs made it in (recall of review-critical context), not by raw size.
- Evidence links: every finding should carry
locationplus anevidencepointer to material reachable inside the package (diff excerpt, manifest entry, or spec/plan/tasks/rules line). Ungroundable claims get lower confidence, not invented support. - Verification records: during ingest, write each finding's outcome
(
accepted,rejected,applied,skipped, plus the verifying command or a one-line reason) toverification_recordsin the packagemetadata.jsonso a later session can recover the review state from files alone. - Budget-aware context: compact-first reduction plus optional Headroom compression keep the package inside the reviewer's context budget; recoverable originals stay in local files and the CCR store, never only in conversation history.
- Sufficiency as an explicit decision:
Context sufficiencyis the "is the evidence sufficient" gate. Reviewers escalate toneeds-full-packageinstead of guessing; builders rerun with--fullor--pathsinstead of re-reviewing blindly.
Keep secrets out of state files. This layer is workflow design, not a compression layer: the completion token report still measures RTK and Headroom only.
Completion token report (RTK + Headroom)
Every multi-model-review flow ends by telling the user how many tokens the two compression layers actually saved. RTK reduces the shell output gathered while building a handoff (git diff, git log, grep, rules). Headroom compresses the large residual blocks that survive manual reduction. Report the two layers separately so the user can see what each one contributed; this is the same measured-reporting contract the companion token-saver skill uses.
Measure, never estimate:
- RTK: read
rtk gain(orrtk gain --format json). RTK counts asused=yesonly when shell output actually went throughrtk ...calls or an RTK hook. If only the built-in Read/Grep/Glob tools ran, or RTK is not installed, reportused=noand name the next command that would apply, such asrtk git difforrtk grep. - Headroom: sum the per-block
original_tokensandcompressed_tokensalready recorded in this run'smetadata.jsoncompressed_blocks, and/or read session totals fromheadroom_stats. If Headroom wasoff, unavailable, or compressed nothing, reportused=no. - If a source has no real statistics, write
used=no(orn/a) with a one-line reason. Do not fabricate a savings number, and do not blend the two layers into a single figure except as an explicit combined total when both are measured. - Keep secrets, sensitive paths, and raw evidence out of the report.
The work-assist tools (omo, UltraWork, lazycodex, Superpowers) and subagent routing (scout, worker, heavy-planner, review-checker) are orchestration, not a compression layer, so report them as usage only, never as a token-savings number.
Append this block at the very end of the final response for each completed flow (spec handoff written, review package exported, or review report ingested):
**Token, Headroom & RTK**
- **RTK**: used=<yes|no> — saved ≈ <N> tok (<P>%) · via `rtk gain`
- **Headroom**: used=<yes|no> — saved ≈ <N> tok (<P>%) · via `headroom_stats` / package `compressed_blocks`
- **Combined saved**: ≈ <RTK+Headroom> tok (only when both layers are measured)
- **Work-assist** (orchestration, usage only): ulw=<used|n/a>, omo=<used|n/a>, lazycodex=<used|n/a>, superpowers=<used|n/a>
- **Subagent routing** (usage only): scout=<used|n/a>, worker=<used|n/a>, heavy-planner=<used|n/a>, review-checker=<used|n/a>
When neither layer engaged — for example a small config-only cross-review status call — still print the block with used=no and the next command that would apply, so the report stays consistent across every flow.
Spec handoff flow
Use /multi-model-review:spec-handoff before implementation when the user wants another model to produce or refine Spec Kit artifacts.
When the work-assist orchestration layer is available, drive this flow through it (Superpowers to shape the brief, /ulw or omo to research artifacts); otherwise fall back to the mmr-* subagents or a sequential pass.
1. Resolve model routing
- Read
model_defaults,spec_author_model,spec_author_options, optionalspec_author_profile,implementation_model, andimplementation_optionsfrom.cross-review/config.json. - If the user passes
--spec-model <model[:axis]@axis>, use it for this handoff only. - If the user passes
--heavy, usemodel_defaults.spec_heavy. - If the user passes
--plan, keep using/multi-model-review:spec-handoffbut emphasizeplan.mdandtasks.mdoutput for implementation handoff planning. - If both
--spec-modeland--heavyare present, the explicit--spec-modelwins and you should say so. - If
model_defaultsis missing, infer it from legacy fields:codex-5.5orgpt-5.5->{ "intelligence": "very-high", "reasoning": "xhigh", "speed": "normal" }opus-4.7,claude-opus-4.7, orclaude-opus-4.7-1m->{ "context": "1M", "workload": "max" }
- If only legacy
spec_author_profileis present, preserve it and add a package note that options were inferred from the display profile when possible. - If
implementation_optionsis missing for a Claude implementation model, infer{ "workload": "high", "allow_silent_upgrade": false }. - If the user asks for Opus heavy mode, use
opus-4.7:1m@maxunless the user gives different model options. - Derive
spec_author_profilefromspec_author_optionsfor human-readable output, for exampleintelligence=very-high, reasoning=xhigh, speed=normal. - Resolve
subagent_routingfrom config. If absent, treat it asoffunless the user explicitly asks for subagent splitting. - If subagent routing is enabled, include the role map and selection rules in
SUBAGENT_ROUTING; do not invoke subagents while creating the spec handoff.
2. Gather spec inputs
- User feature brief from the command arguments or conversation
- Existing
spec.md,plan.md, andtasks.mdwhen refining an existing Spec Kit feature - Relevant project rules, README, and touched files when they affect constraints
- Any explicit non-goals, acceptance criteria, deadlines, or integration boundaries
3. Render the spec-authoring template
Use templates/spec-authoring-prompt.md.
The template must tell the spec author model to:
- produce or update
spec.md,plan.md, andtasks.md - optimize the artifacts for implementation by
implementation_model - create token-conscious task slices suitable for Claude Sonnet 4.6 when that is the implementation model
- add route hints to
tasks.mdsuch as[route:scout],[route:heavy-planner],[route:worker], or[route:review-checker]when subagent routing is enabled - avoid implementing code
- output file blocks with target paths
4. Write outputs
Write:
spec-authoring-prompt.mdmetadata.jsonwith the selected detailed spec model, spec author model/options/profile, selected detailed implementation model, implementation options, resolved subagent routing, timestamp, slug, original arguments, and source notes
Print the selected spec author model, implementation model, subagent routing mode, prompt path, and expected spec-output.md path.
Finish the response with the Completion token report described above.
Export flow
Build a self-contained markdown package. Default to compact-first packaging with optional Headroom-aware compression for large residual context.
When the work-assist orchestration layer is available, use omo or lazycodex for fast code exploration while reducing the package; otherwise proceed natively.
1. Resolve the feature
- If the user gave a slug, use
specs/<slug>/ - Else pick the most recently modified
specs/*/ - If no Spec Kit directory exists, fall back to ad-hoc diff-only mode
2. Resolve scope
- Base ref: config value or
main - Optional path filter from
--paths - Optional
--review-model <model[:axis]@axis>override for a single review package - Optional
--headroom auto|off|requiredoverride for a single review package - Reviewer mode:
codex-mcpimpliesmicrocodex-auto,codex-cli,claude-code,gemini-cli,hermesshould default tocompact--fulloverrides tofull
3. Resolve context compression
- Read
context_compressionfrom config; default to Headroomauto. - If the user passes
--headroom, it overrides config for this package only. - Prefer Headroom MCP tools when
headroom_compress,headroom_retrieve, andheadroom_statsare callable. - Treat the Headroom CLI as an install/status surface unless the current host exposes callable MCP tools; do not assume a direct CLI compression command.
- If mode is
requiredand Headroom MCP compression is unavailable, abort with a short reason. - If mode is
autoand Headroom is unavailable, continue with manual RTK-style reduction.
4. Gather raw inputs
spec.mdplan.mdtasks.mdgit diff <base>...HEADgit log <base>...HEAD --oneline- relevant
CLAUDE.mdfiles
5. Reduce the package before rendering
Use RTK-style reduction first:
- Filtering: drop generated noise, lockfile churn, snapshots, vendored paths unless the feature depends on them
- Grouping: create a grouped diff manifest before raw hunks
- Truncation: cap logs, long task lists, repeated rule text, and low-signal hunks
- Deduplication: collapse repeated context
Then, when Headroom is enabled and callable, compress large remaining blocks using headroom_compress. Keep the compressed content in the package, not the raw block, and record:
- source label
- original and compressed token estimates when available
- savings percentage when available
- transforms when available
- CCR retrieval hash when available
- query hints that help retrieve a smaller slice, such as file path, symbol, task ID, or error text
If a Headroom-compressed block hides context that is necessary to verify a finding, the reviewer should either use headroom_retrieve when available or set Context sufficiency: needs-full-package.
Create these placeholders:
CONTEXT_COMPRESSIONSPEC_AUTHOR_MODELSPEC_AUTHOR_OPTIONSSPEC_AUTHOR_PROFILEIMPLEMENTATION_MODELIMPLEMENTATION_OPTIONSSUBAGENT_ROUTINGREVIEW_MODELREVIEW_OPTIONSREVIEW_PROFILESPEC_BRIEFPLAN_BRIEFTASKS_BRIEFRULES_BRIEFLOG_BRIEFDIFF_MANIFESTDIFF_EXCERPTSPACKAGE_NOTES
Appendix placeholders:
SPEC_APPENDIXPLAN_APPENDIXTASKS_APPENDIXRULES_APPENDIXRAW_DIFF_APPENDIX
Rules:
- In
compactandmicro, appendices should be short omission notes, not raw dumps. - In
full, appendices may include the raw source material. - If RTK is installed, prefer RTK-assisted summaries when gathering shell output. If it is not installed, create equivalent summaries manually.
- If Headroom is available, use it only after manual reduction and never as the sole holder of review-critical evidence for reviewers that cannot access the same local CCR store.
6. Render the reviewer template
Use templates/<reviewer>-review-prompt.md.
The template must tell the reviewer to:
- validate spec-to-code alignment
- find real correctness, security, and rule issues
- score confidence 0-100
- report
Context sufficiency - write
review-report.mdusingtemplates/review-report.md
7. Write outputs
Write:
review-package.mdmetadata.jsonwith base/head, roles, selected detailed review model, spec author model, spec author options, implementation model, implementation options, subagent routing, context compression mode, Headroom availability, compressed block metadata, profile, and truncation notes
8. Print the next command
Print the exact reviewer command and the output path for review-report.md. For Codex review models, include the selected model ID in the command hint and preserve speed=priority in metadata even if the local CLI requires a separate priority mechanism.
If the report later says Context sufficiency: needs-full-package, tell the user to rerun:
/multi-model-review:review-package --full- or
/multi-model-review:review-package --paths <subset>
Finish the response with the Completion token report. This is the flow with the most concrete numbers: sum the compressed_blocks savings recorded in metadata.json for the Headroom line, and read rtk gain for the RTK line.
Ingest flow
Read the latest review-report.md unless the user points to a specific package directory.
When the work-assist orchestration layer is available, use Superpowers and /ulw or omo to plan and apply accepted fixes; otherwise fall back to the mmr-* subagents. Keep every user confirmation gate intact.
Parse:
Context sufficiencyVerdictSummaryFindings
Default handling:
- drop findings with confidence below 70
- group remaining findings by severity and file
- do not edit until the user accepts a finding
Special handling:
- if
Context sufficiency = needs-full-package, stop before making broad edits and recommend a--fullor--pathsrerun - never auto-apply a
criticalfinding without explicit approval
After summarizing applied versus skipped findings, write each finding's outcome (accepted, rejected, applied, or skipped, plus the verifying command or a one-line reason) to verification_records in the package metadata.json (Harness-1 verification records), then finish the response with the Completion token report.
Important constraints
- Do not run the reviewer model for the user.
- Do not package secrets.
- Do not dump raw artifacts in compact mode just because they are available.
- Preserve the reviewer's language when quoting findings back to the user.
- Do not silently upgrade the configured implementation model. If
model_defaults.devsayssonnet-4.6@high, keep that routing unless the user explicitly overrides it. - Automatic subagent routing may choose a different configured role model for a different kind of task, but record the selected role, agent, model key, and reason in metadata or the task plan.
- Subagents should not spawn subagents. Keep orchestration in the main conversation or slash command.
- End every completed flow with the Completion token report. Report RTK and Headroom savings separately, from
rtk gainandheadroom_stats/compressed_blocksmeasurements only; never estimate a number, and markused=nowhen a layer did not engage. - Treat the work-assist orchestration layer (omo, UltraWork, lazycodex, Superpowers) as optional. Use it when available, fall back to the
mmr-*subagents or sequential execution otherwise, report it as usage only (never a savings number), and never pass secrets into its prompts. - Keep review state externalized and recoverable (Harness-1): the package directory plus
metadata.json(includingverification_records) is the durable record, and a new session resumes from those files, not from conversation memory.
Related files
commands/cross-review.mdcommands/spec-handoff.mdcommands/review-package.mdcommands/apply-review.mdtemplates/spec-authoring-prompt.mdtemplates/review-report.mdtemplates/hermes-review-prompt.mdagents/mmr-context-scout.mdagents/mmr-implementation-worker.mdagents/mmr-heavy-planner.mdagents/mmr-review-checker.md