用途
Rust Skill Creator 用于为 Rust crate 和标准库文档创建动态技能。它处理以下请求:为第三方 crate(tokio、serde、axum 等)创建技能、为 Rust 标准库(std::sync、std::marker 等)创建技能,以及从任意 Rust 文档 URL 创建技能。
执行模式检测
该技能依赖两个命令:/create-llms-for-skills 和 /create-skills-via-llms。需要先检查这些命令是否可用,以确定执行模式。
Agent 模式(插件安装)
当上述命令可用(完整插件安装)时,工作流程如下:
-
识别目标:根据用户请求判断目标类型。例如 "create tokio skill" 对应第三方 crate,URL 模式为 docs.rs/tokio/latest/tokio/;"create Send trait skill" 对应标准库,URL 模式为 doc.rust-lang.org/std/marker/trait.Send.html;"create skill from URL" 加 URL 对应自定义 URL。
-
执行命令:使用 /create-llms-for-skills <url> [requirements]。示例:
- 第三方 crate:/create-llms-for-skills https://docs.rs/tokio/latest/tokio/
- 标准库:/create-llms-for-skills https://doc.rust-lang.org/std/marker/trait.Send.html
- 带特定要求:/create-llms-for-skills https://docs.rs/axum/latest/axum/ "Focus on routing and extractors"
-
后续技能创建:在 llms.txt 生成后,使用 /create-skills-via-llms <crate_name> <llms_path> [version]。
Inline 模式(仅安装技能)
当上述命令不可用时,手动创建技能:
步骤 1:识别目标并构造 URL。URL 模板包括:crate 概览 https://docs.rs/{crate}/latest/{crate}/;crate 模块 https://docs.rs/{crate}/latest/{crate}/{module}/;标准库 trait https://doc.rust-lang.org/std/{module}/trait.{Name}.html;标准库 struct https://doc.rust-lang.org/std/{module}/struct.{Name}.html;标准库模块 https://doc.rust-lang.org/std/{module}/index.html。
步骤 2:获取文档。使用 agent-browser CLI:agent-browser open "<documentation_url>"、agent-browser get text ".docblock"、agent-browser close。或使用 WebFetch 回退:WebFetch("<documentation_url>", "Extract API documentation including types, functions, and examples")。
步骤 3:创建技能目录:mkdir -p ~/.claude/skills/{crate_name} 和 mkdir -p ~/.claude/skills/{crate_name}/references。
步骤 4:生成 SKILL.md。创建 ~/.claude/skills/{crate_name}/SKILL.md,使用模板包含 frontmatter(name、description)、概述、关键类型、常见模式、示例、文档引用和链接。
步骤 5:生成引用文件。对每个主要模块或类型创建引用文件,例如:agent-browser open "https://docs.rs/{crate}/latest/{crate}/{module}/"、agent-browser get text ".docblock" > ~/.claude/skills/{crate_name}/references/{module}.md、agent-browser close。
步骤 6:验证技能。检查技能结构:ls -la ~/.claude/skills/{crate_name}/ 和 cat ~/.claude/skills/{crate_name}/SKILL.md。
常用标准库路径
- Send、Sync、Copy、Clone:std/marker/trait.{Name}.html
- Arc、Mutex、RwLock:std/sync/struct.{Name}.html
- Rc、Weak:std/rc/struct.{Name}.html
- RefCell、Cell:std/cell/struct.{Name}.html
- Box:std/boxed/struct.Box.html
- Vec:std/vec/struct.Vec.html
- String:std/string/struct.String.html
- Option:std/option/enum.Option.html
- Result:std/result/enum.Result.html
示例交互
示例 1:创建 crate 技能(Agent 模式)。用户:"Create a dynamic skill for tokio"。流程:识别第三方 crate "tokio";执行 /create-llms-for-skills https://docs.rs/tokio/latest/tokio/;等待 llms.txt 生成;执行 /create-skills-via-llms tokio ~/tmp/{timestamp}-tokio-llms.txt。
示例 2:创建 crate 技能(Inline 模式)。用户:"Create a dynamic skill for tokio"。流程:识别第三方 crate "tokio";获取 agent-browser open "https://docs.rs/tokio/latest/tokio/";提取文档;创建 ~/.claude/skills/tokio/SKILL.md;创建 ~/.claude/skills/tokio/references/;保存关键模块(sync、task、runtime 等)的引用文件。
示例 3:创建标准库技能。用户:"Create a skill for Send and Sync traits"。流程:识别标准库 trait;(Agent 模式)执行 /create-llms-for-skills https://doc.rust-lang.org/std/marker/trait.Send.html https://doc.rust-lang.org/std/marker/trait.Sync.html;(Inline 模式)逐个获取 URL,手动创建技能;完成技能创建。
禁止事项
- 不要使用 best-skill-creator 进行 Rust 相关技能创建
- 不要未经验证猜测文档 URL
- 不要跳过文档获取步骤
输出位置
所有生成的技能保存到:~/.claude/skills/
错误处理
- 命令未找到:原因可能是仅安装技能,解决方案是使用 Inline 模式
- URL 未找到:原因可能是无效的 crate/模块,解决方案是验证 crate 是否存在于 crates.io
- 文档为空:原因可能是 API 变更,解决方案是使用替代选择器
- 权限被拒绝:原因可能是目录问题,解决方案是检查 ~/.claude/skills/ 权限