Individual skill
parity-gates
Freeze a site capture into baseline/ and prove an Astro build matches it — every route, redirect (one hop, through a simulation of the host), SEO head field, visible text, internal link, media file, sitemap entry, feed, form, third-party script and security header — with approved differences in exceptions.json and improvements in proposals.json. Use after a capture to build the baseline, when compiling redirects.csv for Vercel or Cloudflare, before calling any conversion page done, when a gate fails and needs reading, or to check a staging deploy against the baseline.
skills/parity-gates/SKILL.md
Source commit 8beb1de5099a2be1ddb1d98ffc7b3682343bc420
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 123
- Repository last updated
- Oct 31, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- ai-agents Repository topic
- astro Repository topic
- claude-code Repository topic
- cloudflare-pages Repository topic
- codex Repository topic
- jamstack Repository topic
- playwright Repository topic
- seo Repository topic
- site-migration Repository topic
- marketing Derived category
- security Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 16,229 bytesSKILL.mdcore · 16,229 bytesSKILL.mdcore · 16,229 bytesSKILL.mdcore · 16,229 bytesSKILL.mdcore · 16,229 bytesSKILL.mdcore · 16,229 bytesSKILL.mdcore · 16,229 bytesreferences/contracts.mddoc · 10,215 bytesreferences/exceptions.mddoc · 8,827 bytesscripts/build-baseline.mjsruns · 19,343 bytesscripts/build-redirects.mjsruns · 19,136 bytesscripts/lib/cloudflare-resolver.mjsruns · 3,966 bytesscripts/lib/dist.mjsruns · 3,796 bytesscripts/lib/exceptions.mjsruns · 5,868 bytesscripts/lib/excluded.mjsruns · 1,380 bytesscripts/lib/forms.mjsruns · 799 bytesscripts/lib/gate-cli.mjsruns · 7,165 bytesscripts/lib/head.mjsruns · 2,766 bytesscripts/lib/host-resolver.mjsruns · 1,929 bytesscripts/lib/html.mjsruns · 1,289 bytesscripts/lib/node-version.mjsruns · 1,083 bytesscripts/lib/redirects-csv.mjsruns · 6,357 bytesscripts/lib/srcset.mjsruns · 1,092 bytesscripts/lib/vendors.mjsruns · 2,918 bytesscripts/lib/vercel-resolver.mjsruns · 9,325 bytesscripts/lib/visible-text.mjsruns · 3,935 bytesscripts/verify-live.mjsruns · 21,203 bytesscripts/verify/forms.mjsruns · 16,316 bytesscripts/verify/headers.mjsruns · 7,269 bytesscripts/verify/links.mjsruns · 8,889 bytesscripts/verify/media.mjsruns · 9,192 bytesscripts/verify/redirects.mjsruns · 16,832 bytesscripts/verify/routes.mjsruns · 8,628 bytesscripts/verify/run-all.mjsruns · 3,462 bytesscripts/verify/scripts.mjsruns · 4,551 bytesscripts/verify/seo.mjsruns · 9,426 bytesscripts/verify/sitemaps.mjsruns · 10,840 bytesscripts/verify/text.mjsruns · 3,204 bytes
Read excerpt
# parity-gates
Build the baseline once from `capture/`, then gate every build against it until every gate
passes. The gates read only `baseline/`, never the live site, so a build can still be verified
after the old host is gone.
## The golden rule
**The default build equals live, and a gate is never softened.** No flag turns a failure into a
warning. Four more that follow from it:
1. **Never edit `baseline/` by hand.** The one exception: `keep` in `baseline/scripts.json`,
which is how a vendor is dropped (set it to `false`, and record the decision).
2. **A difference is an entry, not an edit.** Unavoidable: `exceptions.json`. An improvement: