| name | vibe-production-mindset |
| description | Sets quality expectations for implementation — "imagine this serves 1 million users." Checks for observability, error handling, input validation, graceful degradation. |
| user-invocable | true |
vibe-production-mindset
The gap between "works on my machine" and "works in production" is where incidents live.
When to Use This Skill
- Starting any implementation that will run in production
- When implementing API endpoints, data processing, or user-facing features
- Before declaring a feature "done"
- When the user cares about production quality
When NOT to Use This Skill
- Prototypes or spikes explicitly marked as throwaway
- Internal scripts that run once
- Test code (different quality criteria)
- When the user says "just get it working"
The Checklist
Imagine this code serves 1 million users. Check:
1. Observability
2. Error Handling at System Boundaries
3. Input Validation
4. Graceful Degradation
5. Resource Management
Steps
- Read the implementation
- Run through the checklist — not every item applies to every feature
- Flag gaps — only for items that DO apply
- Recommend fixes — specific, not generic
Output Format
Production Readiness: [Feature Name]
Overall: READY / NEEDS_WORK / NOT_READY
| Category | Status | Gaps |
|---|
| Observability | ✓/◐/✗ | [count] |
| Error Handling | ✓/◐/✗ | [count] |
| Input Validation | ✓/◐/✗ | [count] |
| Graceful Degradation | ✓/◐/✗ | [count] |
| Resource Management | ✓/◐/✗ | [count] |
Critical Gaps
- [Gap with specific file:line and fix suggestion]
Note
This is NOT about over-engineering. It's about not under-engineering the critical paths. A simple feature should have simple production hardening — logging, error handling, and input validation. Not every feature needs circuit breakers.