release-manager
Ship features safely with progressive rollouts, feature flags, and canary deployments. Use when deploying risky features or need gradual rollouts.
What this skill does
# Release Manager
Ship features safely with progressive rollouts.
## Progressive Rollout Strategy
```yaml
Phase 1 - Internal (Day 1):
- 100% to internal team
- Test thoroughly
- Fix critical bugs
Phase 2 - Beta (Day 2-3):
- 5% to beta users
- Monitor errors/performance
- Collect feedback
Phase 3 - Gradual (Day 4-7):
- 25% of users
- Watch metrics closely
- 50% of users if good
- 100% if still good
Phase 4 - Full Release:
- 100% of users
- Remove feature flag
- Announce publicly
```
## Feature Flags
```typescript
// Feature flag implementation
const featureFlags = {
newDashboard: {
enabled: true,
rollout: 0.25, // 25% of users
userGroups: ['beta-testers'], // Always on for beta
}
}
function isFeatureEnabled(feature, user) {
const flag = featureFlags[feature]
// Check user group
if (user.groups.some(g => flag.userGroups.includes(g))) {
return true
}
// Check rollout percentage
const hash = hashUserId(user.id)
return (hash % 100) < (flag.rollout * 100)
}
// Usage
{isFeatureEnabled('newDashboard', user) ? (
<NewDashboard />
) : (
<OldDashboard />
)}
```
## Deployment Strategies
### Blue-Green Deployment
```yaml
Process: 1. Deploy to "green" environment
2. Test green thoroughly
3. Switch traffic to green
4. Keep blue as rollback
Pros: Instant rollback
Cons: 2x infrastructure cost
```
### Canary Deployment
```yaml
Process: 1. Deploy to 5% of servers
2. Monitor for 1 hour
3. If good, deploy to 25%
4. Monitor for 1 hour
5. If good, deploy to 100%
Pros: Gradual, safe
Cons: Slower rollout
```
## Rollback Plan
```yaml
Criteria for Rollback:
- Error rate > 1%
- Performance degradation > 20%
- Critical bug discovered
- Negative user feedback
Rollback Process: 1. Disable feature flag immediately
2. Notify team
3. Investigate issue
4. Fix and redeploy
```
## Release Checklist
### Pre-Release
- [ ] Code reviewed
- [ ] Tests passing
- [ ] Staging tested
- [ ] Feature flag configured
- [ ] Rollback plan ready
- [ ] Monitoring alerts set
### During Release
- [ ] Deploy to 5% first
- [ ] Watch error rate
- [ ] Monitor performance
- [ ] Check user feedback
- [ ] Gradually increase
### Post-Release
- [ ] Monitor for 24 hours
- [ ] Collect feedback
- [ ] Remove feature flag
- [ ] Document learnings
## Monitoring
```yaml
Key Metrics During Release:
- Error rate
- Response time p95
- CPU/memory usage
- User-reported issues
Alerts:
- Error rate > 1% → Pause rollout
- Response time > 2s → Investigate
- Memory spike > 90% → Rollback
```
## Communication
```yaml
Internal:
- Slack announcement
- Deploy log updated
- Engineering team notified
External:
- Changelog updated
- Email to power users (if major)
- Blog post (if significant)
```
## Summary
Safe releases:
- ✅ Start small (5%)
- ✅ Monitor closely
- ✅ Rollback readily
- ✅ Feature flags everywhere
- ✅ Document process
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.