PluginBench
Skill
Review
Audit score 70

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
Prerequisites
  • Rust skills installed in ~/.claude/skills/
  • agent-browser CLI or WebFetch tool available for fetching documentation
  • Write permissions to skill directories
Claude Code
Cursor
Windsurf
Cline

How to use core-fix-skill-docs

  1. 1.Run /fix-skill-docs with optional crate name to scan skills
  2. 2.Use --check-only flag to report issues without making changes
  3. 3.Review the status report showing which files are missing or invalid
  4. 4.Run without --check-only to automatically fetch missing documentation from docs.rs
  5. 5.Use --remove-invalid flag to remove references that cannot be fetched instead of creating files

Use cases

Good for
  • 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
Who it's for
  • Skill maintainers and developers
  • Internal automation systems managing skill repositories
  • Documentation quality assurance workflows

core-fix-skill-docs FAQ

When should I use this skill?

Use this skill only when explicitly invoked via /fix-skill-docs command. It is an internal maintenance tool for managing Rust skill documentation references.

What's the difference between agent mode and inline mode?

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.

Can I fix a specific crate instead of all skills?

Yes, provide the crate_name argument (e.g., /fix-skill-docs tokio) to check and fix only that specific skill.

What happens if documentation cannot be fetched from docs.rs?

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.

What tools does this skill use to fetch documentation?

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

  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)

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

ErrorCauseSolution
Agent not availableSkills-only installUse inline mode
Skills directory emptyNo skills installedRun /sync-crate-skills first
docs.rs unavailableNetwork issueRetry or use --remove-invalid
Permission deniedDirectory issueCheck ~/.claude/skills/ permissions
Invalid SKILL.md formatCorrupted skillRe-generate skill