Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[Feature Request] enabledSkills 支持白名单模式 / default-off 选项 #178

Open

Description

当前 enabledSkills 的设计是纯黑名单模式:未配置的 Skill 默认启用,只能通过设 false 逐个关闭。每次 CLI
启动时,所有扫描路径((削除) /.deepcode/skills/、 (削除ここまで)/.agents/skills/、./.deepcode/skills/、./.agents/skills/ 以及内置
Bundled Skill)下的 Skill 会全部注入到系统提示中。

这带来两个问题:

  1. 上下文臃肿:用户可能安装了多个 Skill(比如通过 npx skills add 安装了 8~10
    个),但当前任务只用得到其中一两个。其余 Skill 的 SKILL.md 仍然会占用大量 token,浪费上下文窗口和推理成本。

  2. 无法精确控制:用户如果想让「只有我明确开启的 Skill 才加载」,目前无法做到。只能逐个关闭,且以后每新增一个 Skill
    又会被自动注入,需要再去关一次。

期望行为

希望能有一个白名单模式,例如新增一个顶层配置项:

[json]
{
"defaultSkillsEnabled": false,
"enabledSkills": {
"solidworks-cad": true,
"solidworks-automation": true
}
}

  • defaultSkillsEnabled 默认值为 true(保持向后兼容)。
  • 当设为 false 时,只有 enabledSkills 中显式设为 true 的 Skill 才会被加载。
  • 未在 enabledSkills 中出现的 Skill 视为禁用。

替代方案

如果不想新增独立字段,也可以让 enabledSkills 支持一个特殊键 "*" 来控制默认行为:

[json]
{
"enabledSkills": {
"*": false,
"solidworks-cad": true
}
}

使用场景

用户在 ~/.agents/skills/ 下通过 npx skills add 安装了多个跨项目 Skill(如 code-review、find-skills、ida-pro-mcp
等),但在特定项目或会话中只需要其中少数几个,希望其余 Skill 完全不参与上下文注入。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /