问题
lark-cli update 和 lark-cli init 都把 25+ 个 lark-* skill 强制装到全局
~/.agents/skills/,且没有 opt-out。这污染了被 Claude Code、Codex、Warp 等
多个 agent 共享的全局 skill 命名空间——即使在跟飞书完全无关的项目里工作,
所有 agent 也会看到这些 skill 的触发描述。
根因
底层 npx skills add 默认就是 project 级安装,-g 是显式覆盖项
(见 npx skills --help)。但 lark-cli 两处都硬编码了 -g:
internal/selfupdate/updater.go:178 → npx -y skills add <source> -g -y
scripts/install-wizard.js:278 → npx -y skills add <source> -y -g
相当于绕过了上游工具的默认值。
建议
给 update 和 init 都加 --project flag(命名与 npx skills 的
-p/--project 保持一致),传入时不要再附加 -g:
// internal/selfupdate/updater.go
args := []string{"-y", "skills", "add", source, "-y"}
if !u.ProjectScope {
args = append(args, "-g")
}
默认行为保持不变(仍为 -g),向后兼容。让用户可以选择把 lark-* skill
限定在实际用到飞书的项目里,而不是强制注入全局命名空间。
环境
@larksuite/cli 1.0.38 / 1.0.39(main 分支同样行为)
- macOS / Apple Silicon
问题
lark-cli update和lark-cli init都把 25+ 个lark-*skill 强制装到全局~/.agents/skills/,且没有 opt-out。这污染了被 Claude Code、Codex、Warp 等多个 agent 共享的全局 skill 命名空间——即使在跟飞书完全无关的项目里工作,
所有 agent 也会看到这些 skill 的触发描述。
根因
底层
npx skills add默认就是 project 级安装,-g是显式覆盖项(见
npx skills --help)。但 lark-cli 两处都硬编码了-g:internal/selfupdate/updater.go:178→npx -y skills add <source> -g -yscripts/install-wizard.js:278→npx -y skills add <source> -y -g相当于绕过了上游工具的默认值。
建议
给
update和init都加--projectflag(命名与npx skills的-p/--project保持一致),传入时不要再附加-g:默认行为保持不变(仍为
-g),向后兼容。让用户可以选择把 lark-* skill限定在实际用到飞书的项目里,而不是强制注入全局命名空间。
环境
@larksuite/cli1.0.38 / 1.0.39(main 分支同样行为)