Deploy flow
Skill kennyolofsson23-netizen/claude-code-config/skills/deploy-flow
Deploy code to production via feature branch → test → staging → PR → merge. Use when deploying changes, pushing to production, or when the user says "deploy", "push to prod", "merge to main", "stage this", or "ship it".From its SKILL.md
npx -y skills add kennyolofsson23-netizen/claude-code-config --skill deploy-flowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.3 KB, 868 tokens by cl100k_base, as published. Nobody here has run it
Deploy Flow
Safe, tested deployment from local to production. Never skip steps.
Flow
1. Branch → 2. Test Local → 3. Push → 4. CI Green → 5. Playwright vs Staging → 6. PR → 7. Merge
Step 1: Feature Branch
git checkout -b <branch-name>
# Stage ONLY relevant files — never git add -A
git add <specific-files>
git commit -m "type(scope): description"
Rules:
- Never commit
.env,.pkl,.png, credentials, temp scripts - Use conventional commits:
feat|fix|refactor|test|docs(scope): lowercase description - Subject line ≤ 72 chars
Step 2: Test Locally (ALL suites)
Run every test suite. If ANY fail, fix before proceeding.
# Backend
pytest backend/tests/ -v --tb=short --cov=backend --cov-report=term
# Frontend unit
pnpm --filter web test
# Lint
ruff check backend/ scripts/
pnpm --filter web lint
# E2E (if dev server available)
pnpm --filter web test:e2e
Gate: 0 failures across all suites. Coverage must meet threshold.
Step 3: Push Feature Branch
git push -u origin <branch-name>
Step 4: CI Must Be Green
gh pr checks <pr-number>
# Wait for ALL checks to pass
# If lint fails: fix locally, commit, push
# If tests fail: fix locally, commit, push
# NEVER merge with red CI
Step 5: Playwright Against Staging/Preview
Run E2E tests against the Vercel preview or staging URL:
cd apps/web && BASE_URL=<preview-url> npx playwright test e2e/ --project=chromium --reporter=list
Verify:
- All navigation flows work
- Content renders correctly (prices, game types, "Avd" not "Lopp")
- Data integrity (odds positive, AI% sums to ~100%, dates chronological)
- No console errors
- Mobile responsive
Step 6: Create PR
gh pr create --title "type(scope): description" --body "$(cat <<'EOF'
## Summary
- <bullet points>
## Test plan
- [ ] pytest: X passed, 100% coverage
- [ ] vitest: X passed
- [ ] playwright: X passed
- [ ] Staging E2E verified
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Step 7: Merge
Only after ALL checks green + staging verified:
gh pr merge <number> --merge --delete-branch
git checkout main && git pull
Post-Deploy Verification
After merge deploys to production:
# Health check
curl -s https://api.<domain>/health | jq .
# Smoke test production
cd apps/web && BASE_URL=https://<domain> npx playwright test e2e/smoke.spec.ts --project=chromium
# If model was updated: flush Redis cache
curl -X POST https://api.<domain>/api/v1/cache/flush-predictions -H "Authorization: Bearer <admin-token>"
Emergency Rollback
If production breaks after merge:
# Revert the merge commit
git revert HEAD --no-edit
git push origin main
# This triggers a new deploy with the previous code
Anti-Patterns (NEVER do these)
- Push directly to main
- Merge with failing CI
- Skip E2E tests "because unit tests pass"
- Deploy on Friday evening
git push --forceto main- Lower test thresholds to make CI pass
- Commit secrets, screenshots, or model files
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.