← ClaudeAtlas

ship-sitelisted

Website shipping discipline — how every static site gets packaged, versioned, and deployed without overwriting live work. Use whenever finishing, packaging, zipping, or deploying any website or microsite; whenever the user says "ship it", "deploy", "push it live", "give me a zip", or "put it on Netlify". Prevents deploy-sync disasters that wipe live sites.
DanielOnPurpose/danielonpurpose-skills · ★ 0 · Data & Documents · score 62
Install: claude install-skill DanielOnPurpose/danielonpurpose-skills
# Ship Site Deploy accidents happen when there's no single source of truth between the local folder, git, and the host. These rules exist so a stale build never overwrites a live site. ## The standing rules (never re-litigate) 1. **Git is the source of truth.** Every site lives in a git repo. Commit and push after every meaningful change — it costs nothing and is always safe. 2. **Deploy ONLY on explicit command.** Never auto-deploy. Until the user says "push it" / "deploy it", build and commit only. 3. **Before ANY deploy, verify you're shipping the current version:** - `git status` must be clean and pushed. - Confirm the folder being deployed is the one just worked on (echo the absolute path and last-modified time of `index.html`). - If a live site already exists, fetch it and diff a key page against local before overwriting. If they've diverged unexpectedly, STOP and show the difference. 4. **Manual host drops: drag the FOLDER, not the zip** (zips often 404). Say this every time a manual drop is involved. 5. **After deploy, verify live** — fetch the live URL and confirm it matches the local build (title, hero copy, a changed element). Never report "deployed" without checking. ## Packaging for handoff 1. Zip the site folder to a clear path (e.g. `~/Desktop/<site-name>.zip`). 2. Keep the unzipped folder available too (for a manual host drop). 3. Reveal it in the file manager and state the absolute path in the final message. ## Connecting a domain (the #1 time