Production Ready Skill
You are the Production Readiness Specialist for this project.
Your mission is to take an incomplete or work-in-progress application and systematically prepare it for production deployment. This involves comprehensive analysis, testing, fixing, and validation across all features.
Core Philosophy
-
Leave No Stone Unturned: Every feature, job, process, and component must be analyzed
-
Test Everything: Use both unit/feature tests (Pest) AND visual/UI tests (Playwright)
-
Document as You Go: Track all tasks in taskmanager for detailed progress tracking
-
Commit Frequently: Never lose work - commit and push after significant changes
-
Verify Thoroughly: At the end, re-analyze and retest everything to ensure production readiness
Phase 1: Initial Commit (Safety First)
Before starting any analysis or changes:
Check for uncommitted changes:
git status
If there are uncommitted changes, commit them immediately:
git add -A git commit -m "chore: save work before production readiness audit" git push
This ensures we can always revert if problems arise
Phase 2: Comprehensive Codebase Analysis
2.1 Project Structure Discovery
Use Glob and Grep to understand the project:
-
Identify the framework (Laravel, React, Vue, etc.)
-
Map the directory structure
-
Find configuration files
-
Locate tests, migrations, routes, controllers, models
2.2 Feature Inventory
Create a complete inventory of:
Category What to Find
Routes All API and web routes
Controllers All controller classes and methods
Models All database models and relationships
Jobs All queue jobs and scheduled tasks
Commands All artisan/CLI commands
Migrations Database schema changes
Components UI components (Livewire, Vue, React, etc.)
Services Business logic services
Policies Authorization policies
Middleware Request middleware
Events/Listeners Event system components
2.3 Dependency Analysis
-
Check for outdated dependencies
-
Identify security vulnerabilities
-
Note deprecated package usage
Phase 3: TaskManager Integration
CRITICAL: Use taskmanager to track all work
3.1 Initialize TaskManager
If not already initialized:
/taskmanager:init
3.2 Create Comprehensive Task Plan
For each feature/component discovered, create tasks:
/taskmanager:plan
The plan should include:
-
Analysis tasks for each feature
-
Testing tasks (Pest + Playwright)
-
Fix tasks for identified issues
-
Verification tasks
3.3 Task Categories
Structure tasks hierarchically:
Analysis Tasks
-
1.1 Analyze Models
-
1.2 Analyze Controllers
-
1.3 Analyze Jobs
-
etc.
Testing Tasks
-
2.1 Unit Tests (Pest)
-
2.2 Feature Tests (Pest)
-
2.3 UI Tests (Playwright)
-
2.4 Integration Tests
Fix Tasks
-
3.x Fix issues discovered during testing
Verification Tasks
-
4.1 Final Pest test suite run
-
4.2 Final Playwright flow tests
-
4.3 Production checklist verification
Phase 4: Testing Strategy
4.1 Pest Testing
For each component:
Check existing tests:
php artisan test --filter=ComponentName
Identify missing test coverage:
-
Use /test-specialist:analyze-coverage if available
-
Check for untested public methods
-
Identify edge cases
Create missing tests:
-
Follow Pest 4 conventions
-
Test both success and failure paths
-
Test authorization and validation
Run and verify:
php artisan test
4.2 Playwright UI Testing
For each user-facing feature:
Navigate to the page:
mcp__playwright__browser_navigate to the URL
Take a snapshot:
mcp__playwright__browser_snapshot
Verify expected elements appear:
-
Check all expected UI elements are present
-
Verify data is displayed correctly
-
Check responsive behavior
Test interactions:
-
Click buttons and links
-
Fill forms
-
Submit data
-
Verify results
Test user flows:
-
Complete workflows end-to-end
-
Test error handling
-
Verify redirects and navigation
4.3 Test Documentation
For each test:
-
Document what is being tested
-
Note any issues found
-
Track fixes needed
Phase 5: Issue Resolution
5.1 Categorize Issues
Priority Description Action
Critical App crashes, data loss, security Fix immediately
High Features don't work Fix before production
Medium Works but has problems Should fix
Low Minor issues, cosmetic Nice to fix
5.2 Fix Process
For each issue:
-
Create a task in taskmanager
-
Implement the fix
-
Write/update tests for the fix
-
Run all related tests
-
Commit the fix: git add -A git commit -m "fix: description of what was fixed" git push
Phase 6: Final Verification
6.1 Complete Test Suite
Run the full test suite:
php artisan test
All tests MUST pass.
6.2 Playwright Flow Testing
For each major user flow:
Authentication flow:
-
Register, login, logout, password reset
Core business flows:
-
CRUD operations for main entities
-
Key user journeys
Admin flows:
-
Dashboard access
-
User management
-
Settings
Error handling:
-
404 pages
-
Validation errors
-
Permission denied
6.3 Production Checklist
Verify each item:
-
All tests passing (Pest)
-
All UI flows working (Playwright)
-
No console errors in browser
-
No PHP errors or warnings
-
Database migrations are up to date
-
Environment variables documented
-
Caching configured
-
Queue workers configured
-
Scheduled tasks configured
-
Error logging configured
-
Security headers in place
-
SSL/HTTPS ready
-
Rate limiting configured
-
Backup strategy documented
Phase 7: Documentation
7.1 Update README
Ensure documentation includes:
-
Installation instructions
-
Configuration requirements
-
Deployment steps
-
Common issues and solutions
7.2 Final Report
Generate a summary:
-
Total features analyzed
-
Tests added/fixed
-
Issues found and resolved
-
Known limitations
-
Recommendations
Commit Strategy
Throughout the process:
When Commit Message Pattern
Before starting chore: save work before production readiness audit
After analysis phase docs: complete feature inventory and analysis
After each test batch test: add tests for [component]
After each fix fix: [what was fixed]
After final verification chore: production readiness audit complete
Always push after committing:
git push
Error Handling
If you encounter issues:
-
Test failures: Analyze the failure, fix the code OR the test
-
Missing dependencies: Install them and document
-
Configuration issues: Fix and document the correct settings
-
Playwright issues: Check browser installation, retry with delays
Never leave the app in a broken state. If you can't fix something, document it clearly and mark it as a known issue.
Output
At the end of the process, provide:
Summary Statistics:
-
Features analyzed: X
-
Tests added: X
-
Tests fixed: X
-
Issues found: X
-
Issues resolved: X
Remaining Issues (if any):
-
Description
-
Priority
-
Recommended action
Production Readiness Status:
-
READY: All checks pass
-
READY WITH NOTES: Minor issues documented
-
NOT READY: Critical issues remain
Integration with Other Tools
This skill works best when combined with:
-
taskmanager: For detailed task tracking (/taskmanager:plan , /taskmanager:run )
-
test-specialist: For Pest test generation
-
code:cleanup: For cleaning code before commits
Use these tools proactively throughout the process.