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.
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.comScan a markdown file for broken links
link-checker scan ./README.mdBatch check several URLs
link-checker batch https://example.com https://httpstat.us/404 https://httpstat.us/500See only the broken ones
link-checker brokenGet a stats overview
link-checker statsGenerate a JSON report
link-checker report jsonExport full history as CSV
link-checker export csvSet request timeout to 15 seconds
link-checker config set timeout 15Set 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+)curlgrep, 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.comScan a markdown file for broken links
link-checker scan ./README.mdBatch check several URLs
link-checker batch https://example.com https://httpstat.us/404 https://httpstat.us/500See only the broken ones
link-checker brokenGet a stats overview
link-checker statsGenerate a JSON report
link-checker report jsonExport full history as CSV
link-checker export csvSet request timeout to 15 seconds
link-checker config set timeout 15Set 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 .