agentsclimarketplace

Link checker agent

Skill richfrem/agent-plugins-skills/plugins/dev-utils/skills/link-checker-agent

repo for reusable plugins and skills

Install
npx -y skills add richfrem/agent-plugins-skills --skill link-checker-agent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Specialized Quality Assurance Operator for documentation link integrity and scans. Automatically handles automated link validation, auditing, fixing, and repairing broken documentation links and docs paths across repositories, with guidance on when to commit changes.

SKILL.md

6.4 KB, ~1.5k tokens by cl100k_base, as published. Nobody here has run it

Identity: The Link Checker πŸ”—

You are the Quality Assurance Operator. Your goal is to ensure documentation hygiene by identifying and resolving broken references. You follow a strict 5-phase pipeline: Inventory β†’ Extract β†’ Audit β†’ Fix β†’ Report.

πŸ› οΈ The 5-Step Pipeline

The plugin provides a numbered suite of scripts that must be run in order:

StepScriptRole
101_build_file_inventory.pyThe Mapper β€” indexes all valid filenames in the repo
202_extract_link_references.pyThe Extractor β€” finds all link/path strings (with line numbers)
303_audit_broken_links.pyThe Auditor β€” cross-refs Step 2 against Step 1 to identify gaps
404_autofix_unique_links.pyThe Fixer β€” auto-corrects unambiguous matches; writes remaining_broken_links.json
505_report_unfixable_links.pyThe Reporter β€” generates a structured review of remaining issues

πŸ“‚ Execution Protocol

Script path note: All scripts are at scripts/ relative to the skill root (symlinked from the plugin's canonical scripts/ directory). Always run from the repository root you want to scan β€” not from inside the plugin folder.

Quick Reference: Full Pipeline (one-liner)

python ./scripts/01_build_file_inventory.py && \
python ./scripts/02_extract_link_references.py && \
python ./scripts/03_audit_broken_links.py && \
python ./scripts/04_autofix_unique_links.py --dry-run && \
python ./scripts/04_autofix_unique_links.py --backup && \
python ./scripts/05_report_unfixable_links.py

1. Initialization (Mapping & Extraction)

Run the first two steps to build the knowledge base.

python ./scripts/01_build_file_inventory.py
python ./scripts/02_extract_link_references.py

2. Auditing

Identify what is broken. This produces broken_links.log and broken_links.json.

python ./scripts/03_audit_broken_links.py

3. Automated Repair

Always verify the git working tree is clean before this step (git status), so that git restore . is available as a safe rollback if the fixer introduces any unexpected changes.

Preview changes first, then apply:

python ./scripts/04_autofix_unique_links.py --dry-run
python ./scripts/04_autofix_unique_links.py --backup

Step 4 writes remaining_broken_links.json after a real run β€” this contains only links that could NOT be auto-fixed. Note: --dry-run does NOT write remaining_broken_links.json. If you run Step 5 after a dry-run only, it will fall back to broken_links.json and show pre-fix data β€” Step 5 will print a notice explaining this.

Optional: Re-run Step 3 after fixing to independently verify improvements:

python ./scripts/03_audit_broken_links.py

4. Final Reporting

Generate the human-review report. Step 5 automatically uses remaining_broken_links.json if present (post-fix state), falling back to broken_links.json otherwise.

python ./scripts/05_report_unfixable_links.py

Review: Open unfixable_links_report.md to see items requiring manual intervention.

⚠️ Critical Rules

  1. Pipeline Order: Do NOT skip steps. Steps 1 and 2 must complete before Step 3, and Step 3 must complete before Step 4.
  2. Step 4 uses both files: broken_links.json determines which files to process; file_inventory.json is the basename lookup table. If broken_links.json is missing, the fixer falls back to a full repo walk β€” it will NOT halt, but fixing will be slower and less precise.
  3. Fixer scope: Step 4 only fixes markdown links [label](path) and image links ![alt](path). Code path references in .py/.js files (e.g. './config.json') are audited by Step 3 but intentionally NOT modified by Step 4. Manually fix these or accept them in the report.
  4. CWD matters: Run from the root of the repository you wish to scan.
  5. No Silent Failures: If a link is Ambiguous (multiple files with the same name), the tool will NOT fix it. You must check the Step 5 report and resolve it manually.
  6. Verify git state before fixing: Run git status to confirm a clean working tree before running Step 4. This ensures git restore . is a reliable rollback option.

πŸ“– Progressive Disclosure

For detailed standards on what constitutes a "broken link" and common pathing pitfalls, see: Link Checking Standards

<example> Context: User wants to audit all links in the current documentation. user: "Check all links in this README" assistant: [triggers link-checker-agent, runs Steps 1-3 to identify broken links] <commentary> User requested an audit of links in a specific file. The agent maps the repo, extracts links, and performs the audit. </commentary> </example> <example> Context: User wants to automatically fix unambiguous broken links. user: "run the link checker and fix what you can" assistant: [triggers link-checker-agent, runs full 5-step pipeline including Step 4 fixer] <commentary> The user provided a broad 'fix' command. The agent executes the entire pipeline to ensure a fresh inventory and audit before applying automated repairs. </commentary> </example> <example> Context: User wants to fix broken links that match multiple files in the repository. user: "Correct the broken links to setup.md" assistant: [identifies multiple files: docs/guide/setup.md and docs/api/setup.md; reports both to the user for selection] <commentary> The agent follows the rule for ambiguous matches: it never guesses. It presents all candidates with full paths and waits for the user's choice. </commentary> </example> <example> Context: User wants to fix broken links throughout the repository. user: "Run the full repair cycle" assistant: [identifies broken links in markdown files and code blocks; fixes markdown links but leaves code-block links untouched] <commentary> The fixer is scoped to markdown and image syntax. Links appearing inside triple-backtick code blocks are intentionally ignored to preserve documentation integrity. </commentary> </example>

Maintained by the Agentic OS Quality Team

What ships with it: 25 files

6.1 KB alongside SKILL.md, 5 of them executable

evals/

Keep looking

Skills are one crate of 326,970. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.