Launch5-point gate · Any stack
Config is code, environments are honest
One command boots it; a missing variable fails loudly; staging is production-shaped.
Use this when
Config values pasted in code 'for now'
Staging on SQLite, production on Postgres
A feature flag older than the feature
The quality gate
- All config via environment; .env.example lists every variable with a comment
- A missing/invalid env var fails at boot with a named error — not deep at runtime
- Staging is production-shaped: same services, same migrations, same flags
- Feature flags have owners and expiry dates — no immortal if-statements
- A fresh machine boots the app from README alone, no tribal knowledge
Prove it: Fresh machine, README, one command — the app boots with no tribal knowledge.
Install or copy
Save the download as env-config-parity/SKILL.md in your agent's supported skills directory, or copy the complete package below. Load it only when its description matches the work.
Portable SKILL.md
--- name: env-config-parity description: "Applies “Config is code, environments are honest” as a repeatable product-quality gate. Use during launch work when one command boots it; a missing variable fails loudly; staging is production-shaped." --- # Config is code, environments are honest Apply this skill during **Launch** work. It supports Any stack. One command boots it; a missing variable fails loudly; staging is production-shaped. ## Instructions Treat configuration as part of the codebase. Every setting comes from the environment, documented in a committed .env.example with a one-line comment per variable. Validate all env vars at boot against a schema and fail loudly with the variable's name — a missing key discovered at 2am deep in a request handler is a design failure. Keep staging production-shaped: same services, same migration state, same flag defaults; 'works in staging' must mean something. Give every feature flag an owner and an expiry — flags without funerals become permanent forks in your logic. The acceptance test is brutal and simple: a fresh machine, the README, one command — the app boots. ## Detect the problem - Config values pasted in code 'for now' - Staging on SQLite, production on Postgres - A feature flag older than the feature ## Hold the gate Do not declare this phase complete until every item passes: - [ ] All config via environment; .env.example lists every variable with a comment - [ ] A missing/invalid env var fails at boot with a named error — not deep at runtime - [ ] Staging is production-shaped: same services, same migrations, same flags - [ ] Feature flags have owners and expiry dates — no immortal if-statements - [ ] A fresh machine boots the app from README alone, no tribal knowledge ## Verify the result Fresh machine, README, one command — the app boots with no tribal knowledge.
More launch skills
Want this quality gate applied to a real product decision?
Start a First Loop