🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub✦ BytesAgain

Link Checker

by @xueyetianya

Crawl web pages and detect broken links, redirects, and HTTP errors. Use when auditing site links, finding 404 errors, validating URLs before launch.

Versionv2.1.0
Downloads1,332
Installs13
TERMINAL
clawhub install link-checker

πŸ“– About This Skill


version: "2.1.0" name: link-checker description: "Crawl web pages and detect broken links, redirects, and HTTP errors. Use when auditing site links, finding 404 errors, validating URLs before launch." author: BytesAgain homepage: https://bytesagain.com source: https://github.com/bytesagain/ai-skills

Link Checker

Check URLs for HTTP status codes, find broken links in documents, and track link health over time. Feed it a single URL, a file full of links, or a batch of addresses β€” it hits each one with curl, records the status code, and tells you what's alive and what's dead. Results are stored in ~/.link-checker/ so you can review history, pull stats, and export reports.

Commands

check

Check a single URL. Sends an HTTP HEAD request and returns the status code.

link-checker check 

Output includes status code, a human-readable label (OK, REDIRECT, CLIENT_ERROR, etc.), and an icon.

scan

Extract all URLs from a file (markdown, HTML, plain text β€” anything with http:// or https:// links) and check each one.

link-checker scan 

Uses grep to pull URLs, deduplicates them, then checks each. Prints a summary at the end with pass/fail counts.

batch

Check multiple URLs in one go. Pass them as arguments.

link-checker batch    ...

report

Generate a report from the current session's results. Supports three formats.

link-checker report [txt|csv|json]

Default format is txt. Reports are saved to ~/.link-checker/report..

history

Display the last 50 check results from the history log.

link-checker history

Shows timestamp, status code, status label, and URL for each entry.

broken

Filter results to show only failed links β€” status codes 4xx, 5xx, timeouts, and connection errors.

link-checker broken

stats

Show statistics across all checks: total count, breakdown by status category (2xx, 3xx, 4xx, 5xx, timeout, error), success rate percentage, and the most common status codes.

link-checker stats

export

Export the full history log to a file. Supports csv, json, and txt.

link-checker export 

Exported files are timestamped and saved to ~/.link-checker/.

config

View current configuration or change settings.

link-checker config
link-checker config set  

Available keys: timeout (seconds per request), retries (retry count on failure), user_agent.

help

Show usage information and available commands.

link-checker help

version

Print the current version.

link-checker version

Examples

# Check if a URL is reachable
link-checker check https://example.com

Scan a markdown file for broken links

link-checker scan ./README.md

Batch check several URLs

link-checker batch https://example.com https://httpstat.us/404 https://httpstat.us/500

See only the broken ones

link-checker broken

Get a stats overview

link-checker stats

Generate a JSON report

link-checker report json

Export full history as CSV

link-checker export csv

Set request timeout to 15 seconds

link-checker config set timeout 15

Set retry count to 3

link-checker config set retries 3

Configuration

Settings are stored in ~/.link-checker/config as key-value pairs.

| Key | Default | Description | |-----|---------|-------------| | timeout | 10 | Connection timeout in seconds per request | | retries | 2 | Number of retry attempts on timeout/error | | user_agent | LinkChecker/1.0.0 | User-Agent header sent with requests |

Change any setting with link-checker config set .

Data Storage

All data lives in ~/.link-checker/:

| File | Purpose | |------|---------| | results.log | Current session results (pipe-delimited) | | history.log | Cumulative log of all checks ever run | | config | Configuration key-value file | | report.* | Generated reports (txt/csv/json) | | export_*.* | Timestamped exports |

Log format: timestamp|url|status_code|status_label

Status Categories

| Icon | Category | Codes | |------|----------|-------| | βœ… | OK | 2xx | | πŸ”„ | Redirect | 3xx | | ❌ | Client Error | 4xx | | ⚠️ | Server Error | 5xx | | ⏱️ | Timeout | Connection timed out | | 🚫 | Error | DNS failure, connection refused |

Requirements

  • bash (4.0+)
  • curl
  • grep, sort, awk (standard Unix tools)
  • *Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*

    πŸ’‘ Examples

    # Check if a URL is reachable
    link-checker check https://example.com

    Scan a markdown file for broken links

    link-checker scan ./README.md

    Batch check several URLs

    link-checker batch https://example.com https://httpstat.us/404 https://httpstat.us/500

    See only the broken ones

    link-checker broken

    Get a stats overview

    link-checker stats

    Generate a JSON report

    link-checker report json

    Export full history as CSV

    link-checker export csv

    Set request timeout to 15 seconds

    link-checker config set timeout 15

    Set retry count to 3

    link-checker config set retries 3

    βš™οΈ Configuration

    Settings are stored in ~/.link-checker/config as key-value pairs.

    | Key | Default | Description | |-----|---------|-------------| | timeout | 10 | Connection timeout in seconds per request | | retries | 2 | Number of retry attempts on timeout/error | | user_agent | LinkChecker/1.0.0 | User-Agent header sent with requests |

    Change any setting with link-checker config set .