MoonshotAI / MoonshotAI/kimi-cli

Feature Request: Claude-compatible local plugin support

Open
#1,714 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
11.4k
Forks
1.3k
Avg merge
9h 47m
Merged PRs (30d)
2

Description

What feature would you like to see?

Add a Claude-compatible local plugin compatibility layer to Kimi Code CLI.

This is intended to address a real user need already raised in the repo, especially around whether Kimi can work with Claude-style plugins and local plugin ecosystems. Related discussion: #1566. It is also adjacent to skill/plugin discovery requests such as #1705.

Proposed v1 scope:

  • Load local Claude-compatible plugins via --plugin-dir /path/to/plugin
  • Auto-discover plugins from ~/.kimi/claude-plugins/
  • Recognize .claude-plugin/plugin.json
  • Support these plugin components on a best-effort basis:
    • skills/
    • commands/
    • agents/
    • hooks/hooks.json
    • .mcp.json
    • settings.json (agent key only)
  • Keep plugin hooks and MCP session-scoped only
  • Keep slash-command invocation for plugin commands/skills
  • Expose a concise plugin capability summary in model-visible context so goal-oriented user requests can benefit from installed plugin capabilities without relying on a broad natural-language hard router

Important non-goals for v1:

  • No marketplace / install / reload-plugins workflow
  • No .lsp.json
  • No mutation of persistent user MCP config such as ~/.kimi/mcp.json
  • No claim of full Claude runtime compatibility; unsupported fields should be warned and skipped or surfaced as advisory context

Why this seems valuable:

  • It would let Kimi interoperate with an existing local plugin ecosystem instead of requiring every plugin to be rewritten into Kimi's current lightweight plugin format
  • It helps users who already rely on Claude-style plugin layouts (commands, skills, hooks, .mcp.json) move workflows into Kimi more incrementally
  • It provides a practical compatibility path without forcing Kimi to adopt Claude-specific product workflows like marketplace/install upfront

I already have a working implementation in my fork and can open a draft PR if this aligns with the roadmap. The implementation currently covers:

  • local plugin loading and auto-discovery
  • namespaced plugin skill/command registration
  • plugin hooks and MCP loading as session-scoped runtime extras
  • plugin default agent handling from settings.json
  • model-visible capability summary for installed plugin skills/commands
  • tests for discovery / commands / agents / hooks / MCP / router / capability summary / slash-command integration

Latest local verification from the forked branch:

  • pytest: 99 passed
  • ruff: clean
  • pyright: clean

If this direction is acceptable, I can open a draft PR from my fork next.

Additional information

Fork branch with implementation:

  • GTC2080/kimi-cli:GTC/claude-plugin-compat

Behavior notes from the current implementation:

  • explicit slash commands remain the deterministic path
  • broad natural-language hard routing was intentionally removed in favor of a narrower bare-invocation fallback plus model-visible capability summaries
  • plugin agents are supported as selected default agents, but are not advertised as autonomous model-executable actions in the capability summary

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the proposed behavior and the existing implementation in the GTC2080/kimi-cli:GTC/claude-plugin-compat fork, since the issue names no repository files or entry points. Run the reported pytest suite and verify the v1 boundaries, including session-scoped hooks and MCP, supported plugin components, and the listed non-goals.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.