其他
在 Rust 项目中按 Cargo.toml 依赖自动生成…
适用于需要为 Rust/Cargo 项目依赖批量创建、清理或更新本地 crate 技能时。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 57/100 ×0.15
适用场景
在 Rust 项目中按 Cargo.to特定
解决思路
- 动态技能维护在本地 `~/.claude/skills/`,基于 Cargo.toml 依赖,使用 docs.rs 的 llms.txt,可版本化更新,不提交到 rust-skills 仓库。
- Prompt-on-Open:检测 Cargo.toml(单个或 workspace)。
- Prompt-on-Open:解析依赖列表。
- Prompt-on-Open:检查哪些 crate 缺少 skills。
- Prompt-on-Open:若缺失,提示「Found X dependencies without skills. Sync now?」。
- Prompt-on-Open:若确认,运行 `/sync-crate-skills`。
- 手动命令:运行 `/sync-crate-skills` 同步所有依赖。
- 手动命令:运行 `/clean-crate-skills [crate]` 删除 skills。
- 手动命令:运行 `/update-crate-skill <crate>` 更新特定 skill。
- 执行模式检测:尝试读取 `../../agents/` 目录。
- 执行模式检测:检查 `/create-llms-for-skills` 和 `/create-skills-via-llms` 命令是否可用。
- Agent Mode 架构:解析 Cargo.toml 依赖。
- Agent Mode 架构:对每个 crate,检查 `~/.claude/skills/{crate}/` 是否存在。
- Agent Mode 架构:若缺失,检查 actionbook 获取 llms.txt。
- Agent Mode 架构:若找到 llms.txt,运行 `/create-skills-via-llms`。
- Agent Mode 架构:若未找到 llms.txt,先运行 `/create-llms-for-skills`。
- Agent Mode 架构:加载 skill。
- Workflow Priority:优先检查 actionbook MCP 是否有预生成 llms.txt。
- Workflow Priority:其次运行 `/create-llms-for-skills` 从 docs.rs 生成 llms.txt。
- Workflow Priority:然后运行 `/create-skills-via-llms` 从 llms.txt 创建 skills。
- Sync 命令:运行 `/sync-crate-skills [--force]`。
- Sync 命令:解析 Cargo.toml 依赖。
- Sync 命令:对每个依赖检查 skill 是否存在于 `~/.claude/skills/{crate}/`。
- Sync 命令:若缺失或传入 `--force`,生成 skill。
- Sync 命令:报告结果。
- Inline Mode:在 agent/command 基础设施不可用时,手动执行以下步骤。
- Inline Step 1:用 `cat Cargo.toml | grep -A 100 '\[dependencies\]' | grep -E '^[a-zA-Z]'` 读取依赖,或用 Read tool 解析 Cargo.toml 并提取 `[dependencies]`、`[dev-dependencies]`(可选)、workspace members(若是 workspace 项目)。
- Inline Step 2:用 `ls ~/.claude/skills/` 列出已有 skills,与依赖比较找出缺失。
- Inline Step 3:对每个缺失 crate,用 `agent-browser open "https://docs.rs/{crate}/latest/{crate}/"` 和 `agent-browser get text ".docblock"` 获取并保存 crate 文档。
- Inline Step 3:用 `mkdir -p ~/.claude/skills/{crate}` 和 `mkdir -p ~/.claude/skills/{crate}/references` 创建 skill 目录。
- Inline Step 3:使用 rust-skill-creator inline mode 模板创建 SKILL.md。
- Inline Step 3:对关键模块,用 `agent-browser open "https://docs.rs/{crate}/latest/{crate}/{module}/"` 和 `agent-browser get text ".docblock"` 获取内容,保存到 `~/.claude/skills/{crate}/references/{module}.md`,最后执行 `agent-browser close`。
- Inline 回退:使用 `WebFetch("https://docs.rs/{crate}/latest/{crate}/", "Extract API documentation overview, key types, and usage examples")`。
- Inline Workspace:解析根 Cargo.toml 的 workspace members:`cat Cargo.toml | grep -A 10 '\[workspace\]'`。
- Inline Workspace:对每个 member 解析 Cargo.toml:`for member in members; do cat ${member}/Cargo.toml | grep -A 100 '\[dependencies\]'; done`。
- Inline Workspace:聚合并去重依赖。
- Inline Workspace:为缺失 crates 生成 skills。
- Clean Inline:删除特定 crate:`rm -rf ~/.claude/skills/{crate_name}`。
- Clean Inline:删除所有生成 skills:`rm -rf ~/.claude/skills/*`。
- Update Inline:先删除旧 skill:`rm -rf ~/.claude/skills/{crate_name}`。
- Update Inline:重新生成(按 Step 3 对单个 crate 执行)。
- 本地 skills 目录结构:`~/.claude/skills/` 下每个 crate 有 `SKILL.md` 和 `references/` 子目录(例如 tokio、serde、axum)。
- Error Handling:若报错 Commands not found(原因:Skills-only install),使用 inline mode。
- Error Handling:若报错 Cargo.toml not found(原因:Not in Rust project),导航到项目根目录。
- Error Handling:若报错 docs.rs unavailable(原因:网络问题),重试或跳过该 crate。
- Error Handling:若报错 Permission denied(原因:目录问题),检查 `~/.claude/skills/` 权限。
- Related Commands:`/sync-crate-skills` 主同步命令。
- Related Commands:`/clean-crate-skills` 清理命令。
- Related Commands:`/update-crate-skill` 更新命令。
- Related Commands:`/create-llms-for-skills` 生成 llms.txt(仅 Agent Mode)。
- Related Commands:`/create-skills-via-llms` 从 llms.txt 创建 skills(仅 Agent Mode)。
适用边界 · 注意事项
- 不要由模型自行触发;仅在显式调用 /sync-crate-skills、/clean-crate-skills 或 /update-crate-skill 时使用。
- 非 Rust/Cargo 项目或找不到 Cargo.toml 时不适用。
- 没有 agent/command 基础设施时不要按 Agent Mode 执行,应改用 Inline Mode。