← ClaudeAtlas

web-driftlisted

Use for the live-website agent-readiness audit, "run the web-drift loop", "audit our websites", "are our sites still readable by an agent", "web drift sweep", "check the public sites", or a scheduled site-audit cadence run. Enumerates every site the consumer declared in WEB_DRIFT_SITES, probes each over read-only HTTP with lib/webcheck (groundwork, page, and API tiers), verdicts each check with evidence, and files the fixes as board rows in the repo that owns the site's source plus a report. NOT for auditing docs or code inside a checkout (that is kit:doc-drift), NOT for CI and release state (that is kit:ci-drift), NOT for the kit's own feature registry (that is kit:topology-drift), NOT for page-speed, Lighthouse, or Core Web Vitals (a different tool and a different question), NOT for measuring whether answer engines cite the site (no engine probe ships here), NOT for fixing a site (this repo holds no website source; the loop files rows, it never edits a site).
dwarvesf/dwarves-kit · ★ 11 · Code & Development · score 77
Install: claude install-skill dwarvesf/dwarves-kit
# Web drift ## Overview Audit every declared public website against the agent-readiness contract and file the fixes. This is the live-site instance of `docs/patterns/audit-loop.md`: enumerate, verdict with evidence, apply, gate through the operator. `kit:ci-drift` already reaches the network, so reaching outward is not the novelty. What is new is the surface: no in-kit loop audits a public HTTP surface, and the fix lands in whichever repo builds that site, never here. The contract this measures: an agent that runs no JavaScript should be able to find the site, fetch a page, read its content, tell a dead URL from a live one, and call its API if it has one. A deploy can break any of those silently, and nothing in a repo notices. ## The four slots (per the audit-loop pattern) | Slot | This instance | |---|---| | Item set | one `(site, check)` pair. The site axis is `WEB_DRIFT_SITES`, enumerated by `python3 lib/webcheck/webcheck.py sites` (comma or whitespace separated, never colon: every URL carries one). The check axis is fixed by the contract below. A site is not the item: a site with one hard fail and eight warnings has no single verdict, and a tier that does not apply has to drop out of the denominator, which only works per check. `WEB_DRIFT_SITES` unset means no sites are declared: report that and stop. The kit ships no hostname. | | Contract | each site stays discoverable, fetchable, and understandable without JavaScript: the groundwork tier (robots, sitemap, llms.tx