coding-guidelines
Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT,…
Internal maintenance support for checking and fixing generated Rust skill documentation references. Use only when explicitly invoked by /fix-skill-docs.
$ npx -y skills add zhanghandong/rust-skills --skill core-fix-skill-docs --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/core-fix-skill-docsContext preview
The summary Claude sees to decide when to auto-load this skill.
Internal maintenance support for checking and fixing generated Rust skill documentation references. Use only when explicitly invoked by /fix-skill-docs.
name: core-fix-skill-docs description: "Internal maintenance support for checking and fixing generated Rust skill documentation references. Use only when explicitly invoked by /fix-skill-docs." disable-model-invocation: true argument-hint: "[crate_name] [--check-only]" context: fork agent: general-purpose
> **Version:** 2.1.0 | **Last Updated:** 2025-01-27
Check and fix missing reference files in dynamic skills.
/fix-skill-docs [crate_name] [--check-only] [--remove-invalid]
**Arguments:**
**CRITICAL: Check if agent infrastructure is available.**
This skill can run in two modes:
---
**When agent infrastructure is available, use background agents for fetching:**
# If crate_name provided
skill_dir=~/.claude/skills/{crate_name}
# Otherwise scan all
for dir in ~/.claude/skills/*/; do
# Process each skill
doneExtract referenced files from Documentation section:
## Documentation - `./references/file1.md` - Description
if [ ! -f "{skill_dir}/references/{filename}" ]; then
echo "MISSING: {filename}"
fi=== {crate_name} ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
Action needed: 1 file missingLaunch background agent to fetch documentation:
Task(
subagent_type: "general-purpose",
run_in_background: true,
prompt: "Fetch documentation for {crate_name}/{module} from docs.rs.
Use agent-browser CLI to navigate to https://docs.rs/{crate_name}/latest/{crate_name}/{module}/
Extract the main documentation and save to ~/.claude/skills/{crate_name}/references/{module}.md"
)---
**When agent infrastructure is NOT available, execute directly:**
# List all skills
ls ~/.claude/skills/
# Or check specific skill
ls ~/.claude/skills/{crate_name}/Read SKILL.md and extract all `./references/*.md` patterns:
# Using Read tool
Read("~/.claude/skills/{crate_name}/SKILL.md")
# Look for lines like:
# - `./references/sync.md` - Sync primitives
# - `./references/runtime.md` - Runtime configuration# Check each referenced file
for ref in references; do
if [ ! -f "~/.claude/skills/{crate_name}/references/${ref}.md" ]; then
echo "MISSING: ${ref}.md"
fi
doneOutput format:
=== {crate_name} ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
Action needed: 1 file missingFor each missing file:
**Using agent-browser CLI:**
agent-browser open "https://docs.rs/{crate_name}/latest/{crate_name}/{module}/"
agent-browser get text ".docblock"
# Save output to ~/.claude/skills/{crate_name}/references/{module}.md
agent-browser close**Using WebFetch fallback:**
WebFetch("https://docs.rs/{crate_name}/latest/{crate_name}/{module}/",
"Extract the main documentation content for this module")Then write the content:
Write("~/.claude/skills/{crate_name}/references/{module}.md", <fetched_content>)If `--remove-invalid` flag is set and file cannot be fetched:
# Read current SKILL.md
Read("~/.claude/skills/{crate_name}/SKILL.md")
# Remove the invalid reference line
Edit("~/.claude/skills/{crate_name}/SKILL.md",
old_string="- `./references/{invalid_file}.md` - Description",
new_string="")---
1. **agent-browser CLI** - Primary tool for fetching documentation 2. **WebFetch** - Fallback if agent-browser unavailable 3. **Edit SKILL.md** - For removing invalid references (--remove-invalid only)
---
/fix-skill-docs --check-only # Output: === tokio === SKILL.md: OK references/: - sync.md: OK - runtime.md: MISSING - task.md: OK === serde === SKILL.md: OK references/: - derive.md: OK Summary: 1 file missing in 1 skill
/fix-skill-docs tokio # Fetches missing runtime.md from docs.rs # Reports success
/fix-skill-docs tokio --remove-invalid # If runtime.md cannot be fetched: # Removes reference from SKILL.md instead
---
| Error | Cause | Solution | |-------|-------|----------| | Agent not available | Skills-only install | Use inline mode | | Skills directory empty | No skills installed | Run /sync-crate-skills first | | docs.rs unavailable | Network issue | Retry or use --remove-invalid | | Permission denied | Directory issue | Check ~/.claude/skills/ permissions | | Invalid SKILL.md format | Corrupted skill | Re-generate skill |
AI-powered Rust development assistant with meta-cognition framework
Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT,…
Internal support skill for actionbook MCP selectors used by Rust documentation research workflows. Use only when another rust-skills workflow explicitly…
Internal support skill for agent-browser CLI workflows used by rust-learner, docs-researcher, and crate-researcher. Use only when browser automation is…
Internal command support for dynamic Rust crate skill management. Use only when explicitly invoked by /sync-crate-skills, /clean-crate-skills, or…
Use when building CLI tools. Keywords: CLI, command line, terminal, clap, structopt, argument parsing, subcommand, interactive, TUI, ratatui, crossterm,…
Use when building cloud-native apps. Keywords: kubernetes, k8s, docker, container, grpc, tonic, microservice, service mesh, observability, tracing, metrics,…