Problem
Many setups share a generic skill directory across tools (for example ~/.agents/skills/). Those directories often contain skills that are useful for other agents but should not appear in Kimi at all — not in the model listing, not via the Skill tool, and not in the slash menu.
Today the closest options are incomplete for that case:
- Skill frontmatter
disableModelInvocation: true only blocks automatic model invocation; the skill can still be slash-invoked and still shows up in listings.
- A permission deny rule for
Skill(...) can block the tool call, but the skill name can still remain visible in the model listing.
- Removing or renaming files on disk breaks other tools that intentionally share the same directory.
Proposed solution
Add an optional top-level disabled_skills array in config.toml:
disabled_skills = ["grok-delegation", "pi-delegation"]
Behavior when a name matches (case-insensitive):
- Hidden from model skill listing
- Rejected by the
Skill tool
- Hidden from the slash menu / user activation paths
- Files remain on disk for other tools
After editing, /reload or a new session applies the change.
Scope note
disabled_skills only covers the Skill surface. The agent may still reimplement a skill's workflow with other tools (for example Bash running a helper binary). Users who need that blocked should pair this with existing permission deny rules, which still apply in YOLO mode.
Why this fits Kimi Code
- Opt-in, empty default — no behavior change for existing users
- Complements rather than replaces
disableModelInvocation and permission rules
- Supports shared multi-tool skill directories without forking the skill tree per product
- Same config surface for agent-core v1 and v2
Willingness to implement
I can open a focused PR with v1/v2 implementation, tests, bilingual docs, and a changeset if maintainers are open to this direction.
Problem
Many setups share a generic skill directory across tools (for example
~/.agents/skills/). Those directories often contain skills that are useful for other agents but should not appear in Kimi at all — not in the model listing, not via theSkilltool, and not in the slash menu.Today the closest options are incomplete for that case:
disableModelInvocation: trueonly blocks automatic model invocation; the skill can still be slash-invoked and still shows up in listings.Skill(...)can block the tool call, but the skill name can still remain visible in the model listing.Proposed solution
Add an optional top-level
disabled_skillsarray inconfig.toml:Behavior when a name matches (case-insensitive):
SkilltoolAfter editing,
/reloador a new session applies the change.Scope note
disabled_skillsonly covers the Skill surface. The agent may still reimplement a skill's workflow with other tools (for exampleBashrunning a helper binary). Users who need that blocked should pair this with existing permission deny rules, which still apply in YOLO mode.Why this fits Kimi Code
disableModelInvocationand permission rulesWillingness to implement
I can open a focused PR with v1/v2 implementation, tests, bilingual docs, and a changeset if maintainers are open to this direction.