core-fix-skill-docs
actionbook/rust-skills
Internal maintenance tool for checking and fixing Rust skill documentation references.
What is core-fix-skill-docs?
This is an internal skill for maintaining generated Rust skill documentation. It scans skill directories, verifies that referenced documentation files exist, and can fetch missing files from docs.rs or remove invalid references. Use only when explicitly invoked via /fix-skill-docs.
- Scans skill directories and parses SKILL.md for documentation references
- Checks existence of referenced files in the references/ directory
- Reports missing or invalid documentation files in a structured format
- Fetches missing documentation from docs.rs using agent-browser or WebFetch
- Optionally removes invalid references from SKILL.md with --remove-invalid flag
- Supports both agent mode (background agents) and inline mode (direct execution)
How to install core-fix-skill-docs
npx skills add https://github.com/actionbook/rust-skills --skill core-fix-skill-docs- Rust skills installed in ~/.claude/skills/
- agent-browser CLI or WebFetch tool available for fetching documentation
- Write permissions to skill directories
How to use core-fix-skill-docs
- 1.Run /fix-skill-docs with optional crate name to scan skills
- 2.Use --check-only flag to report issues without making changes
- 3.Review the status report showing which files are missing or invalid
- 4.Run without --check-only to automatically fetch missing documentation from docs.rs
- 5.Use --remove-invalid flag to remove references that cannot be fetched instead of creating files
Use cases
- Verify documentation completeness after generating new Rust skills
- Automatically fetch and populate missing reference files from docs.rs
- Audit all installed skills to find broken or incomplete documentation
- Clean up invalid documentation references when source material is unavailable
- Maintain documentation consistency across a collection of Rust skills
- Skill maintainers and developers
- Internal automation systems managing skill repositories
- Documentation quality assurance workflows
core-fix-skill-docs FAQ
Use this skill only when explicitly invoked via /fix-skill-docs command. It is an internal maintenance tool for managing Rust skill documentation references.
Agent mode uses background agents to fetch documentation when agent infrastructure is available. Inline mode executes directly using agent-browser CLI or WebFetch when agent infrastructure is not available.
Yes, provide the crate_name argument (e.g., /fix-skill-docs tokio) to check and fix only that specific skill.
By default, the skill will report the missing file. Use --remove-invalid flag to remove the invalid reference from SKILL.md instead of creating an empty file.
It prioritizes agent-browser CLI for fetching, falls back to WebFetch if unavailable, and uses Edit tool only for removing invalid references when --remove-invalid is set.
Full instructions (SKILL.md)
Source of truth, from actionbook/rust-skills.
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
Fix Skill Documentation
Version: 2.1.0 | Last Updated: 2025-01-27
Check and fix missing reference files in dynamic skills.
Usage
/fix-skill-docs [crate_name] [--check-only] [--remove-invalid]
Arguments:
crate_name: Specific crate to check (optional, defaults to all)--check-only: Only report issues, don't fix--remove-invalid: Remove invalid references instead of creating files
Execution Mode Detection
CRITICAL: Check if agent infrastructure is available.
This skill can run in two modes:
- Agent Mode: Uses background agents for documentation fetching
- Inline Mode: Executes directly using agent-browser CLI or WebFetch
Agent Mode (Plugin Install)
When agent infrastructure is available, use background agents for fetching:
Instructions
1. Scan Skills Directory
# If crate_name provided
skill_dir=~/.claude/skills/{crate_name}
# Otherwise scan all
for dir in ~/.claude/skills/*/; do
# Process each skill
done
2. Parse SKILL.md for References
Extract referenced files from Documentation section:
## Documentation
- `./references/file1.md` - Description
3. Check File Existence
if [ ! -f "{skill_dir}/references/{filename}" ]; then
echo "MISSING: {filename}"
fi
4. Report Status
=== {crate_name} ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
Action needed: 1 file missing
5. Fix Missing Files (Agent Mode)
Launch 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"
)
Inline Mode (Skills-only Install)
When agent infrastructure is NOT available, execute directly:
Step 1: Scan Skills Directory
# List all skills
ls ~/.claude/skills/
# Or check specific skill
ls ~/.claude/skills/{crate_name}/
Step 2: Parse SKILL.md for References
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
Step 3: Check File Existence
# Check each referenced file
for ref in references; do
if [ ! -f "~/.claude/skills/{crate_name}/references/${ref}.md" ]; then
echo "MISSING: ${ref}.md"
fi
done
Step 4: Report Status
Output format:
=== {crate_name} ===
SKILL.md: OK
references/:
- sync.md: OK
- runtime.md: MISSING
Action needed: 1 file missing
Step 5: Fix Missing Files (Inline)
For 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>)
Step 6: Update SKILL.md (if --remove-invalid)
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="")
Tool Priority
- agent-browser CLI - Primary tool for fetching documentation
- WebFetch - Fallback if agent-browser unavailable
- Edit SKILL.md - For removing invalid references (--remove-invalid only)
Examples
Check All Skills (--check-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 Specific Crate
/fix-skill-docs tokio
# Fetches missing runtime.md from docs.rs
# Reports success
Remove Invalid References
/fix-skill-docs tokio --remove-invalid
# If runtime.md cannot be fetched:
# Removes reference from SKILL.md instead
Error Handling
| 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 |
Related skills
More from actionbook/rust-skills and the wider catalog.

domain-cli
Build ergonomic CLI tools with type-safe argument parsing, config layering, and user feedback.

domain-cloud-native
Build cloud-native Rust apps with stateless design, graceful shutdown, and observability patterns.

domain-embedded
Embedded Rust development constraints: no_std, no heap, interrupt safety, and hardware ownership patterns.

domain-fintech
Fintech domain constraints and patterns for Rust: precision, immutability, and audit trails.

domain-iot
Design IoT apps with offline-first, power-efficient, and secure patterns in Rust.

domain-ml
Build ML/AI applications in Rust with efficient tensor operations, GPU acceleration, and model inference.