mco-cli
GitHub用于协调多模型Agent调用、流式输出结果及持久化文件制品的CLI技能。支持多Provider调度、只读审查模式及详细的状态与元数据管理。
Trigger Scenarios
Install
npx skills add mco-org/mco --skill mco-cli -g -y
SKILL.md
Frontmatter
{
"name": "mco-cli",
"description": "Use `mco` to run explicit multi-provider Agent invocations, stream raw answers, persist file-backed artifacts, and coordinate read-only chain\/debate\/synthesis stages."
}
MCO CLI Skill
Use this Skill when an upstream Agent needs to dispatch one task to one or more coding Agents and preserve their raw operational answers.
Before execution
Confirm the provider/model team with the user in natural language. Do not infer consent from installed binaries. Use either:
--agent [alias=]provider:modelonce per invocation; or--providers provider,...for one default-model invocation per provider.
--agent is the model-qualified form. It supports repeated models from one provider when each repeated invocation has a distinct alias:
mco run --repo . --prompt "Inspect the parser." \
--agent fast=pi:fast-model \
--agent careful=pi:careful-model \
--result-mode stdout
--providers pi,codex is an invocation-native shorthand. MCO resolves each provider's configured/default model and runs the resulting invocations through the same runtime; it is not a legacy execution path.
If MCO returns provider_selection_required, ask the user which Agents to use and retry with an explicit --providers or --agent selection.
Execution defaults
mco rundefaults to--execution-mode write.mco reviewis a thin read-only preset and defaults to--execution-mode read_only.- Review passes the explicit prompt unchanged. With no prompt, it uses a short natural-language review prompt; it does not inject a findings schema.
- Use
--execution-mode yoloonly after the user explicitly requests unrestricted execution.
Output and status
MCO returns raw Agent answer text plus operational metadata. It does not infer findings, severity, confidence, consensus, or decisions from answer prose.
- Default text mode streams answer deltas to stdout. With multiple invocations it adds source labels between answers but does not rewrite answer content.
--jsonprints one final JSON envelope.--stream jsonlprints JSONL events; each invocation'soutput_deltavalues concatenate to its formal answer.- Progress, warnings, and provider diagnostics go to stderr. stdout remains answer text or the selected machine protocol.
statusiscomplete,partial, orfailed; exit codes are0,1, and2respectively. A cancelled or timed-out invocation is recorded inside the corresponding task status.
For example, if fast succeeds and slow times out, the final envelope is status: partial, exit_code: 1, and still contains fast's complete answer plus slow's explicit timeout record.
Use --result-mode stdout|artifact|both. Temporary runs clean up their task directory and return artifact_root: null. Persistent modes write deterministic artifacts:
<artifact-base>/<task-id>/
result.md
run.json
stages/<stage>/invocations/<invocation-id>.md
stages/<stage>/context/manifest.json # chain/debate/synthesis inputs
stages/<stage>/result.md # staged result
stages/<stage>/run.json # staged operational record
--save-artifacts is shorthand for upgrading the default stdout mode to both. Answer Markdown preserves the Agent's answer body as returned by the transport decoder. Root result.md groups actual stages, places the synthesis group first when present, and retains all raw answers and explicit failures.
Multi-stage workflows
--chainruns invocations sequentially. Each next Agent receives a manifest and paths to the complete prior Markdown answer; MCO does not summarize, sample, truncate, or paste the previous answer into the prompt.--debateadds a read-only stage over the prior raw answer files.--synthesizeadds a read-only stage using--synth-providerwhen specified, otherwise the first selected invocation. Its manifest keeps run and (when present) debate records, including failed or missing invocations, but never reads synthesis output itself.- Debate and synthesis prompts mark earlier files as untrusted reference material. If a prior stage partially fails, later stages continue when a valid answer exists, including a run answer after debate failed; otherwise the dependent stage records an explicit failure.
--perspectives-jsonprepends a named Provider prompt focus.--divide filesexcludes ignored/local/build directories and round-robins the remaining sorted repository files without overlap;--divide dimensionsrotates fixed review lenses in invocation declaration order without changing target paths. Dry-run shows the full resolved prompts and target paths. These are coordination only: they do not parse, rank, or rewrite invocation answers.--divideis mutually exclusive with--chainand--debate.
Parallel writing safety
Parallel writing is an explicit user choice. MCO does not create or manage worktrees and does not silently prohibit multiple write invocations.
Before dispatching parallel writers, ask the upstream Agent to partition ownership into non-overlapping --target-paths and state the edit-conflict risk. Use distinct aliases and task IDs, and warn the user if two writers may touch the same file. Prefer a read-only comparison before choosing one implementation when ownership cannot be partitioned safely.
Progressive references
- Installation and Skill sync
- Provider selection
- Execution modes
- Multi-model and write ownership
- Troubleshooting and recovery
Breaking migration
The findings command, findings schema, semantic decision/consensus pipeline, Markdown-PR and SARIF renderers, content-based INCONCLUSIVE, and findings-driven memory surfaces were removed. Old flags such as --format, --strict-contract, --memory, --space, and diff-only review flags return migration guidance instead of being silently ignored.
Migrate callers to raw prompts plus --result-mode, --json, --stream jsonl, and file-backed chain/debate/synthesis stages.
Version History
- 9eff964 Current 2026-08-12 08:59


