first-deploy
Skill9 starsChanged 6 days agoMITView on GitHub
The one-time go-live checklist — everything between this repo building green and the site, package, and monitoring actually existing in public. Use when asked to go live, deploy for the first time, or set up the public phase.
In this repository33 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- accessibility-auditSkill
- animation-jump-checkSkill
- api-consistencySkill
- chat-qualitySkill
- checkpointSkill
- component-consistency-auditSkill
- component-doc-pageSkill
- content-auditSkill
- dependency-advisorySkill
- design-qaSkill
- dogfoodSkill
- drift-auditSkill
- landSkill
- link-rotSkill
- new-componentSkill
- new-pageSkill
- new-presetSkill
- new-templateSkill
- new-tokenSkill
- new-validatorSkill
- parkSkill
- pre-deploySkill
- release-postSkill
- releaseSkill
- responsive-sweepSkill
- security-auditSkill
- seo-auditSkill
- shipSkill
- super-shipSkill
- token-auditSkill
- token-renameSkill
- visual-reviewSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 15
Use this skill when asked to go live, do the first deploy, or start the public phase.
- Distinctive: line 55
Never work around a (owner) step with credentials or dashboard access you were not explicitly given
- Distinctive: line 56
Never publish before the identity decision in step 0 is made on purpose
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
first-deploy
The one-time sequence from a repo that builds green to a site, package, and monitoring that exist in public. Once every box here is ticked, this skill is history — the ship and release skills own everything recurring.
When invoked
Use this skill when asked to go live, do the first deploy, or start the public phase. Most of it is history: the site, the package, the chat and the public repo all exist. What remains is Chromatic, in step 4.
The governing idea
Order is the whole content of this checklist: the init bin stamps SITE_URL at package build time, the install surfaces are validator-held to the real package, and the smoke tests need a production to smoke — so each step below unlocks the ones after it, and doing one early ships a pointer at nothing. Steps marked (owner) happen in dashboards only the owner can reach; stop and hand over rather than working around them.
Instructions
0. Decide the identity first
DONE. The identity was settled on 2026-09-26: the brand is Rift DS, the package is the unscoped rift-ds, the domain is rift-ds.com and the repo matches. The reasoning stands for any future rename, so keep it: publishing under a name that is about to change burns version numbers on a placeholder, and a rename is far cheaper before a version exists than after. The PACKAGE_NAME doc block in scripts/brand.mjs owns the rename-day recipe.
1. The site exists — DONE
The Vercel project serves SITE_URL, Storybook serves STORYBOOK_URL (both in scripts/brand.mjs), and the hydration smoke proved the first deploy.
2. Monitoring wakes up — DONE
The cron in .github/workflows/uptime.yml runs on schedule against production, and the "inoperable until first deploy" notes in ship and pre-deploy are retired.
3. The package exists — DONE
rift-ds 1.0.0 published 2026-09-26, provenance-signed, tagged v1.0.0. The consumer path is proven: npx rift-ds init against the live site installed the agent skill and printed the MCP connect line.
The ordering trap this step existed to catch, worth keeping for any future new package: a trusted publisher can only be attached to a package that already exists, so a first publish cannot use OIDC however carefully it is registered. npm says so outright, returning 404 ... OIDC token exchange error - package not found. The workflow's bootstrap_token input covers exactly that case and is off by default; the registration happens after the name exists, and the token is revoked immediately.
4. The optional wiring, each its own decision (owner)
- Chat — DONE. An Upstash Redis is connected and the route's env vars are set, so the widget answers and its guardrails are armed.
- Analytics — DONE. The GA4 property exists and
GA_IDin brand.mjs holds its measurement ID, so the snippet is on and the privacy page's analytics section discloses it. - Chromatic: a project and its token secret; until then the dispatch-only workflow stays unused.
- Repo visibility — DONE. The repo is public, so SECURITY.md's advisory link resolves.
- README banner URL — DONE, but late: 1.0.0 published with the relative path still in place, so that version's package page carries a broken banner. The banner is now a generated region in
scripts/generate-readme-content.mjs, built from the repo URL in brand.mjs, so it cannot regress. Left here as the record of why the region exists.
5. Close the loop
Grep the repo for "until the first deploy" and "does not exist yet" phrasings and retire each one that stopped being true, then retire this skill: it is already unlisted in the registry, and once everything above is done it is deleted — a completed one-time setup left looking current is exactly the drift the audits exist to catch.
Guardrails
- Never work around a (owner) step with credentials or dashboard access you were not explicitly given
- Never publish before the identity decision in step 0 is made on purpose
- A 404 minutes after a green first publish is registry propagation — never re-run the workflow on it
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

