skill 工具(T-06;出处 Keelson SkillTool.cs,借鉴 coxswain skill.ss)。
解决的是「几百字一条、只在特定活上用得着的操作手册全塞进系统提示是每轮白烧,全不给则每次现摸」: 工具说明里只列目录(名字 + 一句描述),模型对上了再调 skill 把整份装进对话。
目录由宿主给({:skills {:dirs ["/repo/.skills" "~/skills"]}},⛔ 库内写死 .claude/skills 一类位置),
按给的顺序同名先到的赢;每个目录下一层子目录各放一份 SKILL.md(frontmatter name / description;
没有 name 用目录名)。说明在 workspace-tools 时扫描一次(说明稳定 ⇒ 不打碎提示缓存前缀);调用时重扫。
skill 工具(T-06;出处 Keelson `SkillTool.cs`,借鉴 coxswain `skill.ss`)。
解决的是「几百字一条、只在特定活上用得着的操作手册全塞进系统提示是每轮白烧,全不给则每次现摸」:
工具说明里只列目录(名字 + 一句描述),模型对上了再调 skill 把整份装进对话。
目录由宿主给(`{:skills {:dirs ["/repo/.skills" "~/skills"]}}`,⛔ 库内写死 .claude/skills 一类位置),
按给的顺序同名先到的赢;每个目录下一层子目录各放一份 `SKILL.md`(frontmatter `name` / `description`;
没有 name 用目录名)。说明在 `workspace-tools` 时扫描一次(说明稳定 ⇒ 不打碎提示缓存前缀);调用时重扫。(description w)工具说明:列出全部技能(只取描述第一行,截到上限)。
工具说明:列出全部技能(只取描述第一行,截到上限)。
(parse-frontmatter text)只认最常见的写法(⛔ 不是 YAML 解析器):首行 --- 到下一个 ---;key: value,值去两头空白与成对引号; 以空白开头的行接到上一个值后面;> / | 块标记当空串;没闭合 ⇒ 当没有 frontmatter。⇒ [front-map body]
只认最常见的写法(⛔ 不是 YAML 解析器):首行 --- 到下一个 ---;key: value,值去两头空白与成对引号; 以空白开头的行接到上一个值后面;> / | 块标记当空串;没闭合 ⇒ 当没有 frontmatter。⇒ [front-map body]
(scan dirs)扫描技能目录:同名先到的赢;找不到的目录、读不动 / 名字不合规的 SKILL.md 跳过。 ⇒ [{:name :description :path :dir}]
扫描技能目录:同名先到的赢;找不到的目录、读不动 / 名字不合规的 SKILL.md 跳过。
⇒ [{:name :description :path :dir}](skill {:as args3788 :or {} :keys [name]})装载一份 skill(宿主准备好的操作手册)。(可用清单在绑定工作区时生成)
装载一份 skill(宿主准备好的操作手册)。(可用清单在绑定工作区时生成)
(valid-name? s)1–64 个字母 / 数字 / - _ .(免得带空格的目录名在说明里被读成两个词)。
1–64 个字母 / 数字 / `- _ .`(免得带空格的目录名在说明里被读成两个词)。
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |