Skip to content

Add URL verification script and fix broken URLs#40

Merged
thodges-gh merged 1 commit into
mainfrom
fix/broken-urls
Jun 17, 2026
Merged

Add URL verification script and fix broken URLs#40
thodges-gh merged 1 commit into
mainfrom
fix/broken-urls

Conversation

@thodges-gh

@thodges-gh thodges-gh commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a URL validation script and an advisory CI workflow that check every http(s) link referenced
in the skills' markdown, and fixes the broken links it surfaced.

  • .github/scripts/check-urls.sh — extracts every URL from skill *.md files (skipping
    placeholders like localhost/example.com and vendored node_modules), checks each with curl,
    and prints a file:line report 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 ::error annotations in CI, and a
    moderate 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/WebSocket
    endpoints (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 manual
    dispatch). Advisory only: continue-on-error means it never blocks a merge; broken links surface
    as inline annotations and in the job summary.
  • Broken links fixed (all found by the script): CRE cre-prediction-market-demo
    cre-gcp-prediction-market-demo; CRE …/reference/cre-cli…/reference/cli.md; ACE
    …/tree/main/script…/tree/main/scripts and removed the dead
    raw.githubusercontent.com/.../chainlink-ace/main/ base URL. Bumped chainlink-cre-skill to
    0.0.11 and chainlink-ace-skill to 0.0.6

Justification

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-demo break was caught. A single
scan 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.

@thodges-gh
thodges-gh requested review from a team, Nalon and andrejrakic as code owners June 11, 2026 14:58
@github-actions

Copy link
Copy Markdown

👋 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!

andrejrakic
andrejrakic previously approved these changes Jun 17, 2026

@rgottleber rgottleber left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@thodges-gh
thodges-gh merged commit 3b17e59 into main Jun 17, 2026
9 checks passed
@thodges-gh
thodges-gh deleted the fix/broken-urls branch June 17, 2026 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants