Original workflow 001 · Developer operations
Static release preflight
Give this workflow a built static export, a trusted baseline and an approved file scope. Get a JSON report of unexpected changes, canonical mistakes and missing local resources before preview.
Actual export replay
status PASS candidate_files 17,343 unchanged_files 17,159 changed 18 added 166 pages_checked 7 issues 0
Six guide pages + their guide index.
Local checks only; not a deployment.
Your build already exists. Keep the trusted baseline and report outside the candidate directory.
Hash files, compare scope and parse selected HTML. No network request or model call.
Resolve failures within your approved task, then do separate browser and live checks.
A focused check after an agent edits content
Use this when you already have a static export with routes such as /guides/example/index.html, a trusted prior export and a defined set of content changes. The report helps identify accidental changes before preview.
Our reference case is a Next.js static export. The checker is framework-independent but expects trailing-slash HTML routes and a public build directory. It does not validate server-rendered pages, authenticated flows, API responses or production infrastructure.
Download, inspect, then run the practice case
- Download and extract the ZIP. Open its static-release-preflight folder. Read SKILL.md and scripts/preflight.py before running them.
- Use Python 3.10 or later. The checker uses only the standard library: no package install, account or API key.
- From the extracted folder, run the command below. The included two-file practice website is synthetic and clearly marked as such.
python scripts/preflight.py audit --root practice/export --baseline practice/baseline.json --scope practice/scope.json
On Windows, py -3 can replace python. Expected: PASS, 2 candidate files, 1 checked page and 0 issues. Exit 0 means PASS, 1 means detected failures, and 2 means an input or execution error. If Python is unavailable, install it through your existing system setup first.
Let an agent use the same procedure
Keep the complete folder together. Ask a local agent with shell access to read its SKILL.md; automatic agent registration is not needed for this explicit-use route.
Read ./static-release-preflight/SKILL.md.
Run only its bundled practice audit and explain the JSON result.
Do not install dependencies, rebuild my site or publish anything.
Use your own export
Create a manifest from a trusted prior export, then define selected pages and the artifact paths allowed to change. Do not snapshot the candidate and call that a baseline.
python scripts/preflight.py snapshot --root ../prior-export > ../baseline.json
python scripts/preflight.py audit --root ../candidate-export --baseline ../baseline.json --scope ../scope.json > ../report.json
Example scope.json for one page:
{
"origin": "https://example.com",
"pages": ["/guides/example/"],
"allowed_changes": [
"guides/example/index.html",
"guides/example/index.txt"
]
}
Adjust paths to your build. Next.js route data, new hashed resources and a sitemap change may need their own entries. Exact paths are easiest to review; an asterisk in this checker's glob syntax matches across folders. Never widen scope just to hide a failure. Save the manifest and report outside both exports.
No trusted previous export? This workflow cannot prove that unrelated files stayed unchanged. Find a retained release artifact before claiming scope isolation.
Real result: replaying our six-guide release
On 25 October 2026, we ran this v1.0.0 checker against the retained, already-published AgentSkillsHub export for six guides. The comparison used the prior release manifest and approved artifact list. This is a new local replay of a real release; the downloadable package did not deploy those pages.
{
"status": "PASS",
"candidate_files": 17343,
"unchanged_files": 17159,
"changed": 18,
"added": 166,
"pages_checked": 7,
"issues": 0
}
The seven selected HTML pages are six guides and their guide index. Open the complete redacted JSON report for the file list, selected routes and limits. It contains public filenames and results; account logs and local filesystem paths are excluded.
The original release also passed 29 HTTP checks, 12 responsive page checks and 6 guide-entry clicks. Those are separate historical checks, not capabilities of this script. Public examples include the gws guide and MCP Tasks guide. Their existence alone does not prove the test counts; the report labels those counts as our recorded release evidence.
Does it detect a broken export?
In our synthetic negative test, a wrong canonical, a reference to a missing stylesheet and an unapproved extra file produced exit 1 with CANONICAL_MISMATCH, MISSING_RESOURCE and OUT_OF_SCOPE. Invalid route input produced exit 2. These are fixture tests, not customer incidents.
Try it safely: copy practice/export to a disposable folder, change its HTML canonical, and audit that copy against the original practice baseline and scope. Keep the bundled practice folder intact.
What the reusable workflow takes off your checklist
Compare the complete export. Instead of asking an agent to invent a file comparison, this package hashes the files and lists additions, changes and removals. You still choose the trusted baseline.
Keep the change in scope. A versioned allowlist check produces named failures. You still decide which artifact changes the task permits.
Check selected HTML consistently. The same parser checks canonical, one H1/main and local script, stylesheet and image references on each run. You still select coverage and judge content correctness.
Keep a reviewable result. A JSON report preserves counts, failures, exit status and gaps. You still verify browser behavior, live responses and publication permission.
This avoids re-specifying and reimplementing those checks each time. A capable model given a detailed prompt can produce a similar script. No controlled same-model A/B test has been performed, so time saved, error-rate reduction and model-cost reduction remain unmeasured.
Costs, permissions and coverage limits
- Checker cost: no network calls, paid API or model inference. Local CPU, disk reads and report storage are required. Your chosen agent's usual subscription/token costs are separate.
- File access: reads the export and two input JSON files. It writes JSON to standard output; shell redirection writes the report you request. It does not edit the site, commit, push or deploy.
- HTML coverage: selected pages only; canonical, one H1/main, meta noindex, script src, stylesheet href and image src. It does not cover srcset, CSS URLs, dynamic imports or all navigation links.
- Runtime coverage: no JavaScript execution, external link requests, live headers, redirects, CDN/Worker behavior or visual/accessibility assessment. Continue with actual preview checks.
- Test environment: Windows with Python 3.14. Python 3.10+ on other systems is intended by the standard-library implementation but not independently tested here.
- Outcome limits: PASS is neither publication permission nor proof of indexing, traffic growth or DR improvement. HTML outside the selected pages is not inspected.
Version, source and updates
v1.0.0 · 25 October 2026. First original release: local manifest comparison, selected-page checks, structured report, practice fixture and real export replay. There is no update service or recurring maintenance promise.
Agent Skills Hub authored this Skill and checker. The MIT license permits reuse and modification with its copyright and license notice. The ZIP includes readable source; no third-party Skills are repackaged.
For a later version, download into a separate folder, inspect the changes and run its practice case before replacing your copy. Report a problem through our contact page; include the version and sanitized failure code, not credentials or a private export.