Expert in analyzing and recommending release strategies for software projects. Detects existing release patterns in brownfield projects (git tags, CI/CD workflows, changelogs, version files). Suggests optimal strategies based on architecture (single-repo, multi-repo, monorepo, microservices), team size, deployment frequency, and dependencies. Creates comprehensive release-strategy.md in living docs (.specweave/docs/internal/delivery/ or projects/{id}/delivery/). Activates for release strategy, versioning strategy, multi-repo releases, monorepo versioning, semantic versioning, coordinated releases, independent releases, release planning, version alignment, brownfield release analysis, deployment strategy, CI/CD release, how to version, release best practices.
Inherits all available tools
Additional assets for this skill
This skill inherits all available tools. When active, it can use any tool Claude has access to.
Expertise: Release management strategy design, version alignment, brownfield release pattern detection, and living documentation of delivery processes.
Analyzes existing projects to detect release patterns:
Git Analysis:
CI/CD Detection:
.github/workflows/release.yml).gitlab-ci.yml)Jenkinsfile).circleci/config.yml)azure-pipelines.yml)Package Managers:
package.json (version, scripts: version/publish)setup.py, pyproject.tomlpom.xml, build.gradlego.mod*.gemspecCargo.tomlMonorepo Tools:
lerna.json)nx.json, workspace.json)turbo.json)package.json workspaces).changeset/config.json)Release Automation:
.releaserc, release.config.js).versionrc)Suggests optimal strategy based on:
Project Architecture:
Team Factors:
Deployment Patterns:
Dependencies:
Single Repo Strategies:
## Simple Semver
- One repository, one version
- Manual or automated bumps (patch/minor/major)
- GitHub releases + NPM/PyPI publish
- CHANGELOG.md maintenance
- Example: SpecWeave itself
Multi-Repo Strategies:
## Coordinated Releases
- All repos share same version
- Release together (v1.0.0 across all)
- Synchronized CI/CD
- Example: Microservices with tight coupling
## Independent Releases
- Each repo has own version
- Release independently
- Example: service-a v2.1.0, service-b v1.5.0
## Umbrella Versioning
- Product version (v3.0.0) spans multiple repos
- Internal service versions tracked separately
- Example: "Product v3.0.0" contains:
- frontend v2.5.0
- backend v1.8.0
- api v2.1.0
Monorepo Strategies:
## Workspace-Based
- Lerna/Nx/Turborepo manage versions
- Independent package versions
- Changesets for semantic release
- Example: Babel, Jest
## Fixed Versioning
- All packages share same version
- Lerna --fixed mode
- Example: Angular packages
Microservices Strategies:
## Service-Level Versioning
- Each service has own semantic version
- API contract versioning separate
- Rolling releases (deploy services independently)
## Coordinated Major Releases
- Independent minor/patch versions
- Coordinated major versions (breaking changes)
- Example: v2.x (service-a v2.3.0, service-b v2.1.0)
RC Patterns:
Pre-Release Tags:
v1.0.0-rc.1, v1.0.0-rc.2 → v1.0.0 (final)v2.0.0-beta.1 → v2.0.0-rc.1 → v2.0.0v3.0.0-alpha.1 → v3.0.0-beta.1 → v3.0.0-rc.1 → v3.0.0Channel-Based:
Environment-Based:
RC Workflow:
v1.0.0-rc.1Creates release-strategy.md in:
Cross-Project (applies to entire system):
.specweave/docs/internal/delivery/release-strategy.md
Project-Specific (multi-project mode):
.specweave/docs/internal/projects/{project-id}/delivery/release-strategy.md
Document Structure:
# Release Strategy: {Product/Project Name}
## Current Strategy
- Type: Single-repo / Multi-repo / Monorepo / Microservices
- Versioning: Semantic / Date-based / Custom
- Alignment: Lockstep / Independent / Umbrella
- RC Process: Pre-release tags / Channels / Feature flags
## Repositories
- Repo A: {purpose, current version, release frequency}
- Repo B: {purpose, current version, release frequency}
## Version Alignment
- Major: Coordinated (breaking changes)
- Minor: Independent (new features)
- Patch: Independent (bug fixes)
## Release Candidate Workflow
1. Create RC tag: v1.0.0-rc.1
2. Deploy to staging
3. Testing phase (1 week)
4. Promote to production: v1.0.0
## CI/CD Integration
- GitHub Actions: .github/workflows/release.yml
- Automated: npm publish, Docker push, Deploy to K8s
- Manual gates: QA approval, stakeholder sign-off
## Changelog Management
- Tool: Conventional Changelog / Keep a Changelog
- Format: CHANGELOG.md (root or per-package)
- Automation: semantic-release / standard-version
## Hotfix Strategy
- Branch: hotfix/* from production tag
- Version: Patch bump (v1.0.1)
- Process: Fast-track testing, immediate deploy
## Release Checklist
- [ ] All tests passing
- [ ] Changelog updated
- [ ] Version bumped
- [ ] Git tag created
- [ ] GitHub release published
- [ ] Package published (NPM/PyPI/Docker)
- [ ] Deployment successful
- [ ] Documentation updated
## Metrics & Monitoring
- DORA Metrics: Deployment frequency, lead time, MTTR, change failure rate
- Release cadence: {weekly / bi-weekly / monthly}
- Hotfix frequency: {target <5% of releases}
## Decision History
- 2025-01-15: Adopted umbrella versioning (ADR-023)
- 2025-02-01: Introduced RC workflow (ADR-025)
- 2025-03-10: Migrated to semantic-release (ADR-028)
Automatic Strategy Detection (when brownfield analyzer runs):
# Brownfield analyzer detects:
# 1. Repository structure (single/multi/monorepo)
# 2. Existing version tags
# 3. CI/CD configurations
# 4. Package manager configs
# 5. Release automation tools
# Then invokes release-strategy-advisor:
# - Analyze detected patterns
# - Classify release strategy
# - Document findings in release-strategy.md
# - Suggest improvements if needed
Detection Output Example:
## Detected Release Strategy
**Type**: Multi-repo Independent Releases
**Evidence**:
- 3 repositories detected:
- frontend: v2.5.0 (last release: 2025-01-10)
- backend: v1.8.0 (last release: 2025-01-08)
- shared: v1.2.0 (last release: 2024-12-15)
- Version alignment: None (independent)
- Release frequency: Weekly (frontend), Bi-weekly (backend), Monthly (shared)
- CI/CD: GitHub Actions with semantic-release
- Changelog: Conventional Changelog (auto-generated)
**Recommendations**:
1. Consider umbrella versioning for product releases
2. Add RC workflow for major versions
3. Align major versions for better API compatibility
Ask me to:
Analyze existing release strategy:
Recommend optimal strategy:
Create release documentation:
Plan multi-repo releases:
Brownfield integration:
Version Alignment:
RC Workflows:
Changelog Discipline:
Release Frequency:
Brownfield Analyzer:
Living Docs:
Multi-Project:
Increment Lifecycle:
# 1. User asks for release strategy
"What release strategy should SpecWeave use?"
# 2. Advisor analyzes:
# - Single repo (GitHub: anton-abyzov/specweave)
# - NPM package
# - GitHub Actions for releases
# - Existing semver tags
# 3. Recommends:
# - Simple semver strategy
# - Automated releases via GitHub Actions
# - CHANGELOG.md maintenance
# - RC for major versions only
# 4. Creates:
# .specweave/docs/internal/delivery/release-strategy.md
# 1. User asks for strategy
"How should we release our 5 microservices?"
# 2. Advisor analyzes:
# - 5 repos detected (user-service, order-service, ...)
# - Tight coupling (shared API contracts)
# - High deployment frequency (daily)
# 3. Recommends:
# - Umbrella versioning (product v1.0.0)
# - Independent service versions (service-a v2.3.0)
# - RC workflow for product major versions
# - Rolling releases for services
# 4. Creates:
# .specweave/docs/internal/delivery/release-strategy.md
# - Umbrella version matrix
# - Service version independence
# - RC workflow for product releases
# 1. User asks for strategy
"How to version our Lerna monorepo?"
# 2. Advisor analyzes:
# - Monorepo with 12 packages
# - Lerna detected (lerna.json)
# - Changesets for versioning
# - Independent package releases
# 3. Recommends:
# - Independent versioning (Lerna independent mode)
# - Changesets for semantic release
# - Automated changelogs per package
# - Fixed versioning for core packages
# 4. Creates:
# .specweave/docs/internal/delivery/release-strategy.md
# - Lerna configuration explanation
# - Changesets workflow
# - Package grouping strategy
Works with release management commands:
/sw-release:init - Analyze & recommend strategy/sw-release:align - Align versions across repos/sw-release:rc - Create release candidate/sw-release:publish - Execute releaseRequired:
Optional (for detection):
gh) - GitHub release detectionnpm) - NPM package detectionpython) - Python package detectionlerna) - Monorepo detectionnx) - Nx workspace detectionCreates/Updates:
.specweave/docs/internal/delivery/release-strategy.md (cross-project).specweave/docs/internal/projects/{id}/delivery/release-strategy.md (project-specific)Provides:
Remember: Release strategy is a living document. Update it when:
Goal: Clear, documented, repeatable release process that scales with your team and product.