Add URL verification script and fix broken URLs#40
Merged
Conversation
|
👋 thodges-gh, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
thodges-gh
force-pushed
the
fix/broken-urls
branch
from
June 17, 2026 13:25
eaa2924 to
cdf7a4c
Compare
andrejrakic
previously approved these changes
Jun 17, 2026
thodges-gh
force-pushed
the
fix/broken-urls
branch
from
June 17, 2026 14:39
cdf7a4c to
4ecc7a4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a URL validation script and an advisory CI workflow that check every
http(s)link referencedin the skills' markdown, and fixes the broken links it surfaced.
.github/scripts/check-urls.sh— extracts every URL from skill*.mdfiles (skippingplaceholders like
localhost/example.comand vendorednode_modules), checks each withcurl,and prints a
file:linereport grouped into three tiers: OK (2xx/3xx), warn(401/403/405/429 — reachable but refused), and broken (404/5xx and connection failures, which
exit non-zero). Includes a live progress counter, GitHub
::errorannotations in CI, and amoderate default concurrency (8) so it doesn't trip docs.chain.link rate limiting. A full scan runs
in ~40s.
.github/url-check-endpoints.txt— a reachability-only allowlist for API/RPC/WebSocketendpoints (e.g.
svr-bid-endpoint.chain.link) that legitimately return 404 to a plain GET.Matching URLs pass as long as the server completes a connection; only a true connection failure
(code 000) is treated as broken.
.github/workflows/url-check.yml— runs the script on PRs touching*-skill/**(plus manualdispatch). Advisory only:
continue-on-errormeans it never blocks a merge; broken links surfaceas inline annotations and in the job summary.
cre-prediction-market-demo→cre-gcp-prediction-market-demo; CRE…/reference/cre-cli→…/reference/cli.md; ACE…/tree/main/script→…/tree/main/scriptsand removed the deadraw.githubusercontent.com/.../chainlink-ace/main/base URL. Bumpedchainlink-cre-skillto0.0.11andchainlink-ace-skillto0.0.6Justification
The skills' usefulness depends on their reference URLs being correct — agents fetch and cite these
links at runtime, so a dead link silently degrades answers or sends users to a 404. These links rot
over time (repos rename paths, docs restructure) with no signal until someone trips over one by
hand, which is exactly how the original
cre-prediction-market-demobreak was caught. A singlescan across all skills turned up several more stale links beyond the reported one. This makes the
check fast and repeatable so broken URLs are caught on the PR that introduces them — without
blocking merges, since link availability can be transient or depend on external services.