Core Fix Skill Docs

by actionbook5c40d3ad7851No license1.5K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 6 weeks ago

Internal maintenance support for checking and fixing generated Rust skill documentation references. Use only when explicitly invoked by /fix-skill-docs.

Instructions onlyAI & Agents
AI-generated overview

Checks generated Rust skill folders for missing reference files and fetches or removes them.

What it does
Scans installed skill directories, parses SKILL.md documentation sections for referenced files, and reports which references are missing. It can fetch missing documentation from docs.rs using a browser CLI or WebFetch, or remove invalid reference lines when asked. It supports a check-only mode and a specific crate argument.
When to use it
Use when maintaining generated Rust crate skill documentation and reference files need auditing or repair. It is intended for explicit invocation rather than automatic use.
Requirements
Runs in an agent environment with access to the skills directory, typically ~/.claude/skills. Needs either agent-browser CLI or WebFetch for fetching docs.rs pages, plus file read, write and edit tools. Network access to docs.rs is required for fetching. No scripts are shipped.

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
bash
# If crate_name providedskill_dir=~/.claude/skills/{crate_name}
# Otherwise scan allfor dir in ~/.claude/skills/*/; do    # Process each skilldone
2. Parse SKILL.md for References

Extract referenced files from Documentation section:

markdown
## Documentation- `./references/file1.md` - Description
3. Check File Existence
bash
if [ ! -f "{skill_dir}/references/{filename}" ]; then    echo "MISSING: {filename}"fi
4. Report Status
=== {crate_name} ===SKILL.md: OKreferences/:  - 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

bash
# List all skillsls ~/.claude/skills/
# Or check specific skillls ~/.claude/skills/{crate_name}/

Step 2: Parse SKILL.md for References

Read SKILL.md and extract all ./references/*.md patterns:

bash
# Using Read toolRead("~/.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

bash
# Check each referenced filefor ref in references; do  if [ ! -f "~/.claude/skills/{crate_name}/references/${ref}.md" ]; then    echo "MISSING: ${ref}.md"  fidone

Step 4: Report Status

Output format:

=== {crate_name} ===SKILL.md: OKreferences/:  - 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:

bash
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}.mdagent-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:

bash
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:

bash
# Read current SKILL.mdRead("~/.claude/skills/{crate_name}/SKILL.md")
# Remove the invalid reference lineEdit("~/.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)

bash
/fix-skill-docs --check-only
# Output:=== tokio ===SKILL.md: OKreferences/:  - sync.md: OK  - runtime.md: MISSING  - task.md: OK
=== serde ===SKILL.md: OKreferences/:  - derive.md: OK
Summary: 1 file missing in 1 skill

Fix Specific Crate

bash
/fix-skill-docs tokio
# Fetches missing runtime.md from docs.rs# Reports success

Remove Invalid References

bash
/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

Source and attribution

Source:actionbook/rust-skillsinskills/core-fix-skill-docsat commit5c40d3a

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal