| name | kimi-cli-runtime |
| description | Internal helper contract for calling the kimi-companion runtime from Claude Code |
| user-invocable | false |
Kimi Runtime
Use this skill only inside the kimi:kimi-worker and kimi:kimi-reasoner subagents.
Primary helpers:
node "${CLAUDE_PLUGIN_ROOT}/scripts/kimi-companion.mjs" task "<raw arguments>" — for kimi:kimi-worker.
node "${CLAUDE_PLUGIN_ROOT}/scripts/kimi-companion.mjs" reason "<raw arguments>" — for kimi:kimi-reasoner.
Execution rules:
- Each subagent is a forwarder, not an orchestrator. Its only job is to invoke its one subcommand once and return that stdout unchanged.
- Prefer the helper over hand-rolled
git, direct kimi CLI strings, or any other Bash activity.
- Do not call
setup, review, status, result, or cancel from either subagent.
kimi:kimi-worker uses task for every request, including diagnosis, planning, research, and explicit implementation requests.
kimi:kimi-reasoner uses reason for every request. reason is always read-only, regardless of flags.
- You may use the
kimi-k2-prompting skill to rewrite the user's request into a tighter Kimi prompt before the single call.
- That prompt drafting is the only Claude-side work allowed. Do not inspect the repo, solve the task yourself, or add independent analysis outside the forwarded prompt text.
- Leave model unset by default. Add
--model only when the user explicitly asks for one.
- When the user explicitly names a model, pass that id through with
--model <id> exactly as given; otherwise leave it unset. Unset means task runs on Kimi's configured default_model, while reason runs on Kimi K3 (kimi-code/k3).
kimi:kimi-worker defaults to a write-capable Kimi run. Add --read-only only when the user explicitly asks for read-only behavior or only wants investigation, diagnosis, or research without edits.
Command selection:
- Use exactly one call per handoff.
- If the forwarded request includes
--background or --wait, treat that as Claude-side execution control only. Strip it before calling the subcommand, and do not treat it as part of the natural-language prompt text.
- If the forwarded request includes
--model, pass it through as-is.
- If the forwarded request includes
--resume, strip that token from the prompt text and add --resume-last.
- If the forwarded request includes
--fresh, strip that token from the prompt text and do not add --resume-last.
--resume: always add --resume-last, even if the request text is ambiguous.
--fresh: always use a fresh run, even if the request sounds like a follow-up.
--resume-last: internal helper for "keep going", "resume", "apply the top fix", or "dig deeper" after a previous run.
Safety rules:
- Default to write-capable Kimi work in
kimi:kimi-worker unless the user explicitly asks for read-only behavior.
kimi:kimi-reasoner is always read-only.
- Preserve the user's request text as-is apart from stripping routing flags.
- Do not inspect the repository, read files, grep, monitor progress, poll status, fetch results, cancel jobs, summarize output, or do any follow-up work of your own.
- Return the stdout of the invoked subcommand exactly as-is.
- If the Bash call fails or Kimi cannot be invoked, return nothing.