每次对话都得先say hi,之后才能正常调用skill,就…影响不大,但有点烦。不知道佬友们有遇到类似问题吗?

以下是claude的回答,看起来好像还很难解决(不是专业程序员)?

原因找到了:这是桌面 app 的一个 bug,不是你的配置问题。新对话发出第一条消息之前,斜杠菜单里的命令列表是另一条途径取来的,而这条途径没有加载账号 skill。

原因

账号 skill 在本地有缓存。 桌面 app 每 20 分钟把 claude.ai 上的 skill 同步到:

%APPDATA%\Claude\local-agent-mode-sessions\skills-plugin\<org>\<account>\

然后作为一个插件传给 Claude Code,所以菜单里显示的名字带 anthropic-skills: 前缀。

新对话在发第一条消息时才真正启动。 本次对话的日志 %LOCALAPPDATA%\Claude\logs\main.log 显示,同一时刻(23:11:44)依次出现:

LocalSessions.start
[CCD] Using skills plugin at: ...skills-plugin\...
Passing 1 plugin(s) to SDK (skills: 1 ...)

也就是说,账号 skill 是在第一条消息发出时、会话启动的那一刻才挂上去的。

发第一条消息之前,菜单列表来自一个"临时查询",它漏掉了这个插件。 在新对话里,app 会临时启动一个 CLI 查询来获取命令列表(代码中的 withTemporaryQuery)。我读了当前版本(2.19675.0.0)的 app 代码:

正式启动会话时,插件列表里有账号 skill 插件,外加远程插件;
临时查询只传了远程插件(你这里是 0 个),没有账号 skill 插件。

所以第一条消息之前,菜单里看不到 anthropic-skills:*。会话启动后,列表换成完整版,它们就出现了。

还有一点:这个 bug 只影响斜杠菜单的显示,不影响模型能不能用。本次对话在第一条消息时,我这边就已经拿到了全部账号 skill。

能否修复

app 本身改不了:它装在系统保护的 WindowsApps 目录里,是签名的安装包,每次更新也会覆盖。能做的有三种:

A. 不改任何东西(现在就能用): 第一条消息里直接用自然语言点名,例如"用 paper-revision 修改第 3 节",我会直接调用这个 skill。直接输入 /anthropic-skills:paper-revision 大概率也行,但我没测试过。
B. 本地链接(推荐,如果你习惯用斜杠菜单): 在 ~/.claude/skills/ 下为你常用的 skill 建目录联接(junction),指向上面的同步目录。临时查询会读取用户级 skill 目录,所以新对话一打开菜单里就会有。因为是链接而不是复制,claude.ai 上改了 skill,这里会自动跟着更新。

代价一:对话启动后,每个链接过的 skill 会出现两次(/paper-revision 和 /anthropic-skills:paper-revision),内容相同。
代价二:skill 描述重复计入上下文,多占一点 token。所以建议只链接你自己常用的几个,不链接 pdf、docx 这类内置 skill。
菜单能出现是我从代码推断的,做完需要新开一个对话验证。

C. 向 Anthropic 反馈 bug: 可以把上面的原因附上,由他们在 app 里修复。