Skip to content

lark-cli update makes npx skills update skip Lark skills as Well-known skill #1125

@zhyuzhyu

Description

@zhyuzhyu

问题描述

lark-cli update 会同步更新 npm 包和 Lark/Feishu skills。更新完成后,原本可用的 npx skills update -g -y 不再能自动检查这些 skills 的更新,而是把所有 Lark skills 标记为 Well-known skill 并跳过。

这会导致两个更新入口的行为不一致:

  • lark-cli update 能更新 CLI 和 skills
  • 但之后 npx skills update -g -y 不能再自动检查/更新这些 skills

复现步骤

  1. 安装 Lark/Feishu skills:
npx skills add https://open.feishu.cn -g -y
  1. 执行:
lark-cli update
  1. 再执行:
npx skills update -g -y

实际结果

skills CLI 输出如下:

Checking for skill updates...

26 skill(s) cannot be checked automatically:
  • lark-base, lark-calendar, lark-contact, lark-doc, lark-drive, lark-event, lark-im,
    lark-mail, lark-minutes, lark-openapi-explorer, lark-shared, lark-sheets,
    lark-skill-maker, lark-task, lark-vc, lark-whiteboard, lark-wiki,
    lark-workflow-meeting-summary, lark-workflow-standup-report, lark-approval,
    lark-attendance, lark-markdown, lark-okr, lark-slides, lark-apps, lark-vc-agent
    (Well-known skill)
      To update: npx skills add https://open.feishu.cn -g -y

检查 ~/.agents/.skill-lock.json 后可以看到这些 skills 都变成了:

{
  "source": "open.feishu.cn",
  "sourceType": "well-known",
  "sourceUrl": "https://open.feishu.cn/.well-known/skills/lark-base/SKILL.md",
  "skillFolderHash": ""
}

skills@1.5.7update 逻辑会跳过缺少 skillFolderHash / skillPath 的条目,因此这些 well-known skills 只能提示用户重新执行 npx skills add https://open.feishu.cn -g -y,无法自动 update。

期望结果

希望 lark-cli update 同步 skills 后,不要破坏 npx skills update -g -y 的自动更新能力。

可选方向:

  1. lark-cli update 调用/复用 npx skills add https://open.feishu.cn -g -y 的安装逻辑,并确保 lock 元数据与 skills update 兼容。
  2. 或者在同步 skills 后写入 skills update 可识别的 tracking metadata,例如必要的 hash/path 字段。
  3. 或者如果 well-known skills 目前按设计无法被 skills update 检查,文档和提示里需要明确推荐统一使用 lark-cli update,并避免用户继续使用 npx skills update -g -y

环境

  • lark-cli version 1.0.41
  • skills version 1.5.7
  • macOS
  • 全局 skills lock:~/.agents/.skill-lock.json

影响

用户更新 lark-cli 后,通用的 skills 更新命令会退化为“无法自动检查”,看起来像 skills 状态损坏或安装源丢失。对已经习惯使用 npx skills update -g -y 管理全局 skills 的用户比较困惑。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdomain/coreCLI framework and core libraries

    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