Claude Code Plugins

Community-maintained marketplace

Feedback

Plan, coordinate, and execute software releases across environments. Manage versioning, rollout strategies, rollback procedures, and stakeholder communication for smooth deployments.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name release-planning
description Plan, coordinate, and execute software releases across environments. Manage versioning, rollout strategies, rollback procedures, and stakeholder communication for smooth deployments.

Release Planning

Overview

Release planning ensures coordinated deployment of features to production with minimal risk, clear communication, and established rollback procedures.

When to Use

  • Planning major feature releases
  • Coordinating multi-system deployments
  • Managing database migrations
  • Rolling out infrastructure changes
  • Planning go-live strategies
  • Coordinating customer communication
  • Preparing for high-traffic periods

Instructions

1. Release Planning Template

Release Plan:

Release: v2.5.0 - Customer Portal Redesign
Target Release Date: February 15, 2025
Status: Planning
Owner: Product Manager

---

## Executive Summary

This release delivers the redesigned customer portal with improved
UX, performance, and mobile experience. Includes database optimization
and infrastructure scaling.

Business Impact:
  - 25% improvement in user conversion
  - 40% faster load times
  - Mobile-first experience
  - Estimated $500K revenue impact

---

## Release Contents

Features (8 User Stories, 89 points):
  1. New dashboard UI
  2. Mobile responsive design
  3. Payment method management
  4. Account settings modernization
  5. Notification preferences
  6. Dark mode support
  7. Accessibility improvements
  8. Performance optimization

Breaking Changes:
  - API v1 deprecated (v2 required)
  - Database schema changes
  - Changed URL structure (/account → /user)

Deprecated Features:
  - Legacy payment processor integration
  - Old dashboard UI (30-day sunset period)

---

## Timeline & Milestones

Milestone 1: Code Complete (Feb 1)
  - All features developed
  - All tests passing (95% coverage)
  - Performance benchmarks met

Milestone 2: Release Candidate (Feb 8)
  - No new features, bug fixes only
  - UAT completed successfully
  - Security audit completed
  - Performance testing completed

Milestone 3: Release Ready (Feb 14)
  - Production checklist signed off
  - Monitoring and alerts configured
  - Support team trained
  - Communication plan executed

Milestone 4: Release (Feb 15)
  - Phased rollout begins
  - Monitoring active
  - Support team on standby

---

## Deployment Strategy

Phase 1: Canary Deployment (Feb 15)
  - 5% of traffic (100 users)
  - Region: US East
  - Duration: 2 hours
  - Success Criteria:
    - Error rate < 0.1%
    - Load time < 2 seconds
    - Conversion rate maintained

Phase 2: Regional Rollout (Feb 15, 4pm)
  - 25% of traffic (2,000 users)
  - Regions: US East + Europe
  - Duration: 4 hours
  - Monitoring: Every 30 minutes

Phase 3: Full Rollout (Feb 16, 2am)
  - 100% of traffic
  - All regions
  - Continue monitoring 24 hours

---

## Rollback Plan

Rollback Trigger:
  - Error rate > 0.5%
  - Response time > 3 seconds
  - Conversion rate drop > 5%
  - Any critical production issue

Rollback Procedure:
  1. Immediately notify incident commander
  2. Prepare rollback (15 minutes)
  3. Execute rollback (5 minutes)
  4. Verify stability (10 minutes)
  5. Post-mortem (within 24 hours)

Rollback Duration: <30 minutes to previous stable version

---

## Dependencies & Risks

Dependencies:
  - Database migration completion (Feb 1)
  - CDN refresh (Feb 14 night)
  - SSL certificate update (Feb 14)
  - API v2 gateway deployment (Feb 1)

Risk: Database Migration
  - Impact: Blocking risk
  - Probability: 40%
  - Mitigation: Parallel run for 1 week

Risk: Performance Degradation
  - Impact: Customer experience
  - Probability: 30%
  - Mitigation: Load testing, caching strategy

Risk: API Compatibility
  - Impact: Client breakage
  - Probability: 20%
  - Mitigation: Backwards compatibility layer

---

## Testing Requirements

Automated Testing:
  - Unit tests (95% coverage)
  - Integration tests (80% coverage)
  - API contract tests
  - Performance tests

Manual Testing:
  - UAT (5 business days)
  - Accessibility testing (WCAG 2.1 AA)
  - Security testing
  - Cross-browser testing

Load Testing:
  - 10x normal traffic (target: peak day)
  - Sustained load for 1 hour
  - Success: Response time <2s, errors <0.1%

---

## Communication Plan

Customer Communication:
  - Email: 1 week before (Feb 8)
    Subject: "Exciting updates to your customer portal"
  - In-app: 3 days before (Feb 12)
    Banner: "New portal experience launching soon"
  - Release day: Status page updates every 30 min

Internal Communication:
  - Support team briefing (Feb 14, 2pm)
  - Sales team briefing (Feb 14, 3pm)
  - Executive update (Feb 15, 9am)
  - Post-release retrospective (Feb 17)

Customer Support:
  - Support team on standby (24 hours)
  - Chat support 24/7 (Feb 15-16)
  - Email response SLA: 1 hour
  - Escalation line for critical issues

---

## Sign-Off & Approvals

Required Approvals:
  - [ ] Product Manager - Scope & timeline
  - [ ] Tech Lead - Architecture & risks
  - [ ] QA Lead - Test coverage & quality
  - [ ] DevOps Lead - Deployment & infrastructure
  - [ ] Security Lead - Security review
  - [ ] Support Manager - Support readiness
  - [ ] Executive Sponsor - Go/No-go decision

Final Release Approval: ___________________  Date: ________

2. Release Checklist

# Pre-release validation checklist

class ReleaseChecklist:
    CATEGORIES = {
        'Code Quality': {
            'items': [
                'All tests passing (unit, integration, e2e)',
                'Code coverage > 80%',
                'No critical security vulnerabilities',
                'No console errors or warnings',
                'Linting/formatting compliance'
            ]
        },
        'Performance': {
            'items': [
                'Load testing completed',
                'Baseline metrics established',
                'No regressions identified',
                'Caching configured',
                'Database queries optimized'
            ]
        },
        'Infrastructure': {
            'items': [
                'Staging deployment successful',
                'Database migration tested',
                'DNS/routing configured',
                'SSL certificates valid',
                'CDN/cache configured'
            ]
        },
        'Security': {
            'items': [
                'Security audit completed',
                'Penetration testing done',
                'All secrets rotated',
                'Access controls verified',
                'Compliance checks passed'
            ]
        },
        'Documentation': {
            'items': [
                'Release notes written',
                'API documentation updated',
                'Deployment guide prepared',
                'Rollback procedures documented',
                'Known issues documented'
            ]
        },
        'Communication': {
            'items': [
                'Customer comms drafted',
                'Support team briefed',
                'Sales team notified',
                'Status page prepared',
                'Stakeholders informed'
            ]
        }
    }

    def generate_release_checklist(self, release):
        checklist = {
            'release': release.name,
            'target_date': release.date,
            'categories': {}
        }

        for category, details in self.CATEGORIES.items():
            checklist['categories'][category] = {
                'items': [
                    {
                        'task': item,
                        'status': 'Pending',
                        'owner': None,
                        'dueDate': None,
                        'notes': ''
                    }
                    for item in details['items']
                ]
            }

        return checklist

    def validate_release_readiness(self, checklist):
        all_complete = all(
            item['status'] == 'Completed'
            for category in checklist['categories'].values()
            for item in category['items']
        )

        return {
            'release_ready': all_complete,
            'completion_percent': self.calculate_completion(checklist),
            'outstanding_items': self.get_outstanding_items(checklist),
            'blockers': self.identify_blockers(checklist),
            'recommendation': 'Proceed to release' if all_complete else 'Hold - address items'
        }

3. Versioning Strategy

Versioning Strategy:

Format: MAJOR.MINOR.PATCH

Examples:
  v2.5.1 - Patch release (bug fixes)
  v2.6.0 - Minor release (new features, backwards compatible)
  v3.0.0 - Major release (breaking changes)

---

Release Cadence:
  Major: Annually (Jan)
  Minor: Quarterly (Jan, Apr, Jul, Oct)
  Patch: Weekly or as-needed

---

Version Naming Convention:
  Feature Release: v2.5.0
  Hotfix: v2.5.1
  Release Candidate: v2.5.0-rc.1
  Beta: v2.5.0-beta.1
  Alpha: v2.5.0-alpha.1

---

Backwards Compatibility:
  - Maintain n-1 and n-2 major versions
  - Deprecate APIs 2 quarters before removal
  - Provide migration guide for breaking changes
  - Support API v1 through June 2025 (6-month sunset)

4. Rollout & Monitoring

// Phased rollout and monitoring

class ReleaseRollout {
  constructor(release) {
    this.release = release;
    this.phases = [];
    this.metrics = {
      errorRate: 0,
      responseTime: 0,
      userCount: 0,
      conversionRate: 0
    };
  }

  createPhases(strategy) {
    return [
      {
        phase: 1,
        name: 'Canary',
        rollout: '5%',
        duration: '2 hours',
        successCriteria: {
          errorRate: '<0.1%',
          responseTime: '<2s',
          conversionRate: 'No significant change'
        },
        gatekeeper: 'Automated checks + human approval'
      },
      {
        phase: 2,
        name: 'Early Access',
        rollout: '25%',
        duration: '4 hours',
        successCriteria: {
          errorRate: '<0.2%',
          responseTime: '<2.5s',
          conversionRate: 'No drop'
        },
        gatekeeper: 'Manual verification'
      },
      {
        phase: 3,
        name: 'General Availability',
        rollout: '100%',
        duration: 'Ongoing',
        successCriteria: {
          errorRate: '<0.1%',
          responseTime: '<2s',
          businessMetrics: 'Targets met'
        },
        gatekeeper: 'Continuous monitoring'
      }
    ];
  }

  monitorRollout() {
    return {
      metrics: {
        errorRate: this.getErrorRate(),
        responseTime: this.getResponseTime(),
        userCount: this.getUserCount(),
        conversionRate: this.getConversionRate()
      },
      health: this.calculateReleaseHealth(),
      alerts: this.checkForAnomalies(),
      recommendation: this.getRolloutRecommendation()
    };
  }

  calculateReleaseHealth() {
    const checks = [
      this.metrics.errorRate < 0.1,
      this.metrics.responseTime < 2000,
      this.metrics.conversionRate > -5,
      this.metrics.userCount > 0
    ];

    const healthScore = (checks.filter(Boolean).length / checks.length) * 100;
    return healthScore > 80 ? 'Healthy' : 'Degraded';
  }
}

Best Practices

✅ DO

  • Plan releases with clear timeline and milestones
  • Communicate early and often with stakeholders
  • Test thoroughly in staging environment
  • Use phased rollout to reduce risk
  • Monitor metrics continuously during rollout
  • Have clear rollback procedure
  • Document all changes and decisions
  • Conduct post-release review
  • Include support team in planning
  • Plan releases during lower-traffic periods

❌ DON'T

  • Release without adequate testing
  • Deploy Friday afternoon
  • Release without monitoring in place
  • Skip UAT/acceptance testing
  • Release all major changes together
  • Deploy without rollback plan
  • Surprise customers with breaking changes
  • Release without support team readiness
  • Make unreviewed last-minute changes
  • Ignore performance or error metrics

Release Planning Tips

  • Phased rollouts reduce blast radius from 100% to 5%
  • Monitor first 2 hours critically, then every 30 min
  • Have incident commander on call during rollout
  • Document lessons learned for next release
  • Celebrate successful releases with team