AgentStack
SKILL verified MIT Self-run

Mimo Code

skill-onsails-cc-mimo-code · by onsails

Use when delegating a coding task to mimo (the mimo CLI / Xiaomi opencode fork) — offloading implementation to mimo, resuming a mimo session, or running work on a chosen provider/model. Triggers on "/mimo-code", "run mimo", "delegate to mimo", "resume the mimo session", "offload this to mimo".

No reviews yet
0 installs
11 views
0.0% view→install

Install

$ agentstack add skill-onsails-cc-mimo-code

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Mimo Code? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

mimo-code

Overview

Delegate a write-capable coding session to mimo, staying the conductor. Heavy work and tokens move to mimo; you orchestrate and review the diff.

When to use

  • The user invokes /mimo-code [provider/model] [variant] or asks to run/resume mimo.
  • A prior mimo session needs continuation (it asked something or was cut off).

The rule that shapes everything

Never run mimo in the main thread. ALWAYS dispatch the mimo-delegate subagent (model sonnet) so the live NDJSON stream and any blocking stay out of the main context. You only ever receive its distilled summary.

Parse the invocation

Raw slash-command arguments: $ARGUMENTS

Interpret as [provider/model] [variant] (empty when triggered by description match rather than /mimo-code — then read intent from the user's message):

  • A leading xxx/yyy token → model. A following minimal|low|medium|high|max → variant.
  • The rest is the task; resume/continue → resume the recorded session (see Resume). Natural-language requests map the same way.

Resolve the model — ASK, do not default (only when no model was given, fresh runs only)

  1. Gather options via the mimo-resolve subagent (model sonnet). It runs the

resolve-models launcher and returns the authenticated provider∩model options and variants — keeping the catalogue output out of the conductor's context. Empty options (no authenticated provider) → STOP and tell the user to run mimo providers login.

  1. Using the returned options (the authenticated intersection — count models,

not providers): Exactly one usable model → auto-pick (asking is pointless). ≤4 → one AskUserQuestion listing them. >4 (the common real case — a single provider can expose dozens) → narrow, never dump: AskUserQuestion the provider first (the authenticated set is small), then AskUserQuestion ≤4 models for that provider — lead with mimo-resolve's recommended id, and rely on the auto-added Other free-text for the long tail. One authenticated provider offering several models is still "more than one" → ASK; "low-risk"/"mechanical"/cost or proactivity never justify a silent pick, and printing the whole catalogue for the user to retype an id verbatim is the anti-pattern to avoid.

  1. Ask effort/variant with a ≤4 menu — AskUserQuestion caps at 4 options, so

you cannot list all five variants + a default. Offer default (omit --variant) plus a few variants, each with a one-line description (default is the safe recommendation for a one-shot delegation); minimal/medium reach via Other.

The conductor does the asking/auto-pick itself — mimo-resolve only gathers, never asks.

Pick a handle — unique per delegation

Generate a UNIQUE slug per fresh delegation: a task-derived stem plus a short random suffix, e.g. json-logger-a1b2 ([a-z0-9_-]). The handle is the registry key (.sessionid/.lock/.ndjson); a unique handle is what keeps parallel or repeated runs from clashing. Record the handle you used — resume reuses THAT exact handle, never a freshly re-derived bare slug.

Dispatch

Dispatch mimo-delegate with: handle, cwd (absolute), model/variant (fresh only), the prompt, and mode: fresh. (The subagent resolves the launcher path itself.) Relay its summary; never echo raw NDJSON.

Resume

Re-dispatch mimo-delegate with the SAME handle, mode: resume, and the continuation prompt. Do NOT re-ask for a model (the session remembers it). The launcher resumes by recorded session id — never --continue.

Parallel runs

Concurrent tasks → distinct handles, one mimo-delegate each (dispatch in one message to run in parallel). Concurrent write tasks → give each its own git worktree under .worktrees/ and pass it as cwd; the registry is safe regardless, but two mimos editing one tree is a workspace hazard.

Common mistakes (counters to real failures)

| Tempting move | Why it's wrong | |---|---| | "Asking the model is annoying — just default / omit -m." | The user wants to choose. Resolve the intersection and ASK (unless exactly one usable). Silent defaults are a violation, not a convenience. | | Bare task-slug handle (json-logger) | Two runs of the same task collide on the lock/state. Always add a unique suffix. | | Skipping effort selection | Offer a ≤4 variant menu (default that omits --variant, + a few with one-line descriptions; minimal/medium via Other). | | Dumping the whole model list for the user to type an id (when >4) | Narrow provider-first: ASK the provider, then ≤4 of its models (recommended id first, Other for the tail). Never a wall of ids to retype. | | Running mimo inline to "keep it simple" | Pollutes the main context. Always the subagent. | | Resuming with --continue | Attaches to "the last session" → cross-task pollution. Resume is by recorded session id only. |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.