site-auditlisted
Install: claude install-skill mattbutlerengineering/mattbutlerengineering
# Site Audit
Inventory-tracked 3-mode audit: smoke (regression), sweep (zone rotation), scout (improvements).
## Inventory
`.audit-state/inventory.json` tracks surfaces, check times, scores via agent-core: `buildInventory()`, `loadInventory()`, `saveInventory()`, `mapFilesToSurfaces()`, `findStalestZone()`, `updateSurfaceScore()`, `detectRegression()`.
```bash
cat .audit-state/inventory.json 2>/dev/null || echo "No inventory"
```
## Environment Reachability (preflight — run FIRST, before any live check)
The agent proxy gateway in remote (claude.ai/code) containers may reject CONNECT
tunnels to the live site with HTTP 403 ("policy denial or upstream failure").
This is a **sandbox egress limitation, not a site defect** — the site is healthy;
this container simply has no route out. It surfaces as a curl **connection**
failure (exit 56 / `http_code == 000`), NOT an HTTP 403 _body_ (which is the
separate Cloudflare case — see [Access Restrictions](#access-restrictions)).
```bash
PROBE=$(curl -sS -o /dev/null -w "%{http_code}" --max-time 20 "https://mattbutlerengineering.com" 2>/dev/null)
PROBE_EXIT=$?
if [ "${PROBE:-000}" = "000" ]; then
echo "ENVIRONMENT-BLOCKED: sandbox cannot reach the live site (proxy/CONNECT denial, curl exit ${PROBE_EXIT})."
echo "The site is NOT down and NOT restricted — this container has no egress."
echo "Run the audit from a local checkout instead (no agent proxy):"
echo " /site-audit <mode>"
# Do NOT file 'site unreachable' / regressio