Use whenever the user asks about MiMoCode itself: features, TUI or CLI commands, configuration, file locations, providers, models, authentication, or custom OpenAI-compatible or Anthropic-compatible API endpoints. Especially trigger when a prompt supplies or asks to configure a base URL/baseURL, API key/apiKey, model name or ID, provider, Anthropic Messages API, or global/project mimocode.json/jsonc. Use this skill to inspect existing config safely, make minimal changes, and verify them without guessing schema fields or model capabilities.
77
96%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
You are MiMoCode. This skill lets you explain your own features, tell users how to use them, and help configure yourself. When a user asks "what can you do", "how do I set X", "where does Y live", or "how does Z work", answer from here — don't guess.
MiMoCode (CLI binary mimo) is an agentic coding tool with a terminal UI, built as a fork of OpenCode. Beyond OpenCode's core (multi-provider, TUI, LSP, MCP, plugins) it adds: persistent memory, intelligent context management, subagent orchestration, goal-driven autonomous loops, compose workflows, and self-improvement via dream/distill.
| Feature | What it is | How to reach it |
|---|---|---|
| Agents / modes | build (default, full tools), plan (read-only analysis), compose (specs-driven orchestration), plus custom modes you define. Mode locks after the first message (Build↔Plan still switch freely; Compose is isolated) | Tab cycles primary agents; add your own via .mimocode/agent/<name>.md (see @reference/guide.md) |
| Subagents | Primary agent spawns general/explore helpers, parallel + background, with lifecycle/cancel | automatic; actor tooling |
| Persistent memory | Markdown-backed memory with indexed search across MEMORY.md, checkpoint.md, notes.md, and tasks/<id>/progress.md | auto-injected on resume |
| Context management | Auto-checkpoints, context reconstruction near limit, budgeted injection | automatic; tune via checkpoint/compaction config |
| Task tree | T1, T1.1… tree, integrated with checkpoints | task tooling |
| Goal / stop condition | Judge model verifies a stop condition before the agent halts | /goal |
| Compose mode | Structured spec→ship lifecycle; recommended entry is the /compose-next skill on Build | /compose-next (see @reference/guide.md) |
| Voice input | Streaming ASR (TenVAD + MiMo ASR); needs sox | /voice |
| Dream | Consolidates recent traces into project memory | /dream |
| Distill | Packages repeated manual workflows into skills/subagents/commands | /distill |
| Scheduled prompts | Cron/loop: inject a prompt on a schedule or repeating loop (UTC, 5-field) | cron tool · /loop · /loops |
| Dynamic workflows | JS scripts that orchestrate many subagents deterministically (fan-out, pipelines, nesting); built-ins include compose, deep-research, fact-check, and research-experiment | .mimocode/workflows/*.js + workflow tool |
| Skills / self-extension | Add tools, hooks, skills under .mimocode/ | see the evolve skill |
| Skill discovery | /skill-name slash invocation (2+ in one message auto-load with an orchestration plan); skill_search tool matches by exact name/alias + BM25 and auto-loads high-confidence hits; some builtins (claude-code, codex) only appear when their CLI is installed | / autocomplete · automatic |
| MCP | Local & remote Model Context Protocol servers | mcp config + mimo mcp |
Config file (JSON or JSONC), discovered by walking up from cwd:
.mimocode/mimocode.json (or .jsonc)~/.config/mimocode/mimocode.jsonc (preferred for new files) or mimocode.jsonAdd "$schema": "https://mimo.xiaomi.com/mimocode/config.json" for editor validation. All top-level keys are optional; project config merges over global.
{
"$schema": "https://mimo.xiaomi.com/mimocode/config.json",
"model": "provider/model",
"permission": { "external_directory": { "/tmp/**": "allow" } }
}Read only the reference needed for the request, but read it before changing files:
For task-oriented walkthroughs — signing in & choosing a model, making memory remember project rules, writing custom slash commands, remapping keybinds, adding MCP servers, scheduling prompts (cron/loop), and using compose mode — see @reference/guide.md. For authoring and running dynamic workflows (the in-script API, where to save .js workflow files, and the workflow tool) see @reference/workflows.md.
Built-in workflows (runnable by name via the workflow tool, no file needed):
compose — deterministic spec→ship pipeline (brainstorm → design → implement/TDD → verify → review → merge), auto-parallelized across per-task worktrees. Pass args.task.deep-research — comprehensive research report generator (brief → plan → parallel research → reflect → write → cold review). Pass args: { dir, question, today, depth?, context? }. Convergent/resumable.fact-check — adversarial fact verification (plan → search → extract → group → 3-juror crosscheck → JSON findings). Pass the question as args.research-experiment — autonomous metric-improvement loop with baseline, guarded iterations, audit, and report. It requires an eval command, metric extraction rule, and editable-file scope.Base dirs follow MIMOCODE_HOME (if set, absolute) else XDG. Data typically lives at ~/.local/share/mimocode/ (memory, logs, extracted builtin skills), config at ~/.config/mimocode/, cache at ~/.cache/mimocode/. See @reference/config.md for the full layout and env vars.
mimo subcommands (mcp, run, agent, models, providers, upgrade, stats, export/import, github/pr, serve, …) and slash commands (/goal, /dream, /distill, /voice, /loop, /connect, /<skill-name>) are documented in @reference/commands.md.
When asked to change a behavior:
.jsonc file and preserve comments, $schema, unrelated providers, and other settings.apiKey, token, secret, and password; never dump the whole unredacted file merely to find its shape.model; if it only says add, leave the current selection unchanged.provider/model at the front of the TUI recent-model state so the user can switch to it immediately. Follow the merge procedure in @reference/providers.md; never replace favorites, variants, or unrelated recent models.Don't invent config keys, model limits, context windows, output limits, modalities, reasoning support, or tool-call capabilities. Add optional model metadata only when the user supplied it or a current authoritative source verifies it. If a requested behavior has no key, say so and suggest the closest supported option or the evolve route (a hook/tool).
evolve skill rather than duplicating it.ff87d47
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.