SuperAPI AI 工具集

rust-skill-creator

编程与开发

查看项目

更新于 10-15 10:31

技能介绍

用途

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 模式(插件安装)

当上述命令可用(完整插件安装)时,工作流程如下:

  1. 识别目标:根据用户请求判断目标类型。例如 "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。

  2. 执行命令:使用 /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"
  3. 后续技能创建:在 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/ 权限