| name | db-env-switch |
| description | Switch between local and production database environments by updating .env.local, killing running processes, and providing restart instructions. Use when user says "switch to local database", "switch to production database", or "change database environment". |
| allowed-tools | Read, Write, Bash, AskUserQuestion |
| version | 2.1.0 |
Database Environment Switch
Safely switch between local and production database configurations with process restart.
<when_to_use>
When to Use
Invoke when user says:
- "switch to local database"
- "switch to production database"
- "use local Supabase"
- "connect to production"
- "change database environment"
</when_to_use>
## Workflow Overview
| Phase | Action | Reference |
|---|
| 1 | Detect current environment | Read .env.local |
| 2 | Safety check (production requires approval) | AskUserQuestion |
| 3 | Update .env.local | Comment/uncomment sections |
| 4 | Kill running processes | Vite + Worker PIDs |
| 5 | Verify + provide restart instructions | Summary report |
For detailed steps: references/workflow-phases.md
<safety_rules>
Critical Safety Rules
- ALWAYS confirm production switch - Use AskUserQuestion before switching TO production
- Verify local Supabase is running - Check
npx supabase status before switching TO local
- Kill ALL processes - Dev server and worker cache env vars; updating .env.local alone is NOT enough
</safety_rules>
## Environments
| Environment | URL | Safe to Experiment |
|---|
| LOCAL | http://127.0.0.1:54321 | Yes |
| PRODUCTION | https://<production-project-id>.supabase.co | NO - Real user data! |
<approval_gates>
Approval Gates
| Gate | Phase | Question |
|---|
| Production Confirm | Switching TO production | "Switch to PRODUCTION? All queries affect REAL USER DATA." |
| Local Supabase | Switching TO local (not running) | "Start local Supabase now?" |
</approval_gates>
<quick_reference>
Quick Reference
grep "^VITE_SUPABASE_URL" .env.local
wmic process where "commandline like '%vite%'" get processid 2>nul
taskkill //F //PID [pid]
npm run dev
npm run worker:dev
For detailed commands: references/commands-reference.md
For error recovery: references/error-recovery.md
For safety reminders: references/safety-reminders.md
</quick_reference>
## References
<version_history>
Version History
-
v2.1.0 (2025-01-18): AI optimization updates
- Add blockquote summary after title
-
v2.0.0 (2025-12-28): Refactored to follow skill-authoring-patterns
- Added XML tags for structure
- Created references/ for detailed content
- Reduced from 916 to ~120 lines
-
v1.0.0 (2025-11-03): Initial release
</version_history>