MCP HubMCP Hub
스킬 목록으로 돌아가기

plan-release-cycle

pjt222
업데이트됨 Yesterday
7 조회
17
2
17
GitHub에서 보기
디자인general

정보

이 Claude Skill은 개발자들이 캘린더 기반 및 기능 기반 전략을 모두 지원하는 구조화된 소프트웨어 릴리스 주기를 계획하도록 돕습니다. 핵심 마일스톤, 기능 동결, 릴리스 후보 버전, 조정을 위한 진행/중단 기준을 정의합니다. 주요/부차적 릴리스를 시작하거나, 구조화된 주기로 전환하거나, 다중 팀 릴리스를 조정할 때 사용하세요.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/plan-release-cycle

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

Plan Release Cycle

Plan structured software release cycle. Define strategy (calendar-based or feature-based). Set milestones with target dates. Establish feature freeze criteria. Manage release candidates. Define go/no-go checklists. Document rollback plans. Produces RELEASE-PLAN.md artifact guiding team from development through release.

When Use

  • Starting planning for major or minor version release
  • Transitioning from ad-hoc releases to structured release cadence
  • Coordinating release across multiple teams or components
  • Defining quality gates and release criteria for regulated project
  • Planning first public release (v1.0.0) of a project

Inputs

  • Required: Target version number (e.g. v2.0.0)
  • Required: Desired release date or release window
  • Required: List of planned features or scope (backlog, roadmap, description)
  • Optional: Team size and availability
  • Optional: Release strategy preference (calendar-based or feature-based)
  • Optional: Regulatory or compliance requirements affecting release
  • Optional: Previous release velocity or cycle duration data

Steps

Step 1: Determine Release Strategy

Pick between two main strategies:

Calendar-based (time-boxed):

  • Release on fixed schedule (e.g. every 4 weeks, quarterly)
  • Features not ready get deferred to next release
  • Predictable for users and downstream projects
  • Best for: libraries, frameworks, tools with external consumers

Feature-based (scope-driven):

  • Release when defined set of features complete
  • Date adjusts to fit scope
  • Risk of scope creep and indefinite delays
  • Best for: internal tools, first releases, major rewrites

For most projects, hybrid works well: set target date with defined scope. Allow 1-2 week buffer. Scope not met by buffer deadline? Defer remaining features.

Document strategy choice with reason.

Got: Release strategy documented with reason matching project context.

If fail: Team can't agree on strategy? Default to calendar-based with feature-priority list. Time-boxing forces prioritization decisions.

Step 2: Define Milestones

Break release cycle into phases with target dates:

## Release Plan: v2.0.0

### Timeline

| Phase | Start | End | Duration | Description |
|---|---|---|---|---|
| Development | 2026-02-17 | 2026-03-14 | 4 weeks | Active feature development |
| Feature Freeze | 2026-03-15 | 2026-03-15 | 1 day | No new features merged after this date |
| Stabilization | 2026-03-15 | 2026-03-21 | 1 week | Bug fixes, documentation, testing only |
| RC1 | 2026-03-22 | 2026-03-22 | 1 day | First release candidate tagged |
| RC Testing | 2026-03-22 | 2026-03-28 | 1 week | Community/team testing of RC |
| RC2 (if needed) | 2026-03-29 | 2026-03-29 | 1 day | Second RC if critical issues found |
| Go/No-Go | 2026-03-31 | 2026-03-31 | 1 day | Final decision meeting |
| Release | 2026-04-01 | 2026-04-01 | 1 day | Tag, publish, announce |

Typical phase durations:

  • Development: 50-70% of total cycle
  • Stabilization: 15-25% of total cycle
  • RC testing: 10-20% of total cycle

Got: Milestone table with dates, durations, descriptions per phase.

If fail: Timeline too compressed (stabilization < 1 week)? Extend release date or reduce scope. NEVER skip stabilization.

Step 3: Set Feature Freeze Criteria

Define what "feature freeze" means for this release:

### Feature Freeze Criteria

After feature freeze (2026-03-15):
- **Allowed**: Bug fixes, test additions, documentation updates, dependency security patches
- **Not allowed**: New features, API changes, refactoring, dependency upgrades (non-security)
- **Exception process**: Feature freeze exceptions require written justification and approval from [release owner]

### Feature Priority List
| Priority | Feature | Status | Owner | Notes |
|---|---|---|---|---|
| P0 (must) | New export format | In progress | [Name] | Blocks release |
| P0 (must) | Security audit fixes | Not started | [Name] | Compliance requirement |
| P1 (should) | Performance optimization | In progress | [Name] | Defer if not ready |
| P2 (nice) | Dark mode support | Not started | [Name] | Defer to v2.1.0 if needed |

P0 features block release. P1 features included if ready. P2 features deferred without delay.

Got: Feature freeze rules documented with exception process and prioritized feature list.

If fail: P0 features at risk of missing freeze date? Escalate immediately. Options: extend development phase, split feature into smaller deliverable, defer to point release (v2.0.1).

Step 4: Plan Release Candidate Process

Define how release candidates produced and tested:

### Release Candidate Process

1. **RC1 Tag**: Tag from the stabilization branch after all P0 features merged and CI green
   ```bash
   git tag -a v2.0.0-rc.1 -m "Release candidate 1 for v2.0.0"
  1. RC Distribution: Publish RC to staging/testing channel

    • R: install.packages("pkg", repos = "https://staging.r-universe.dev/user")
    • Node.js: npm install pkg@next
    • Internal: Deploy to staging environment
  2. RC Testing Period: 5-7 business days

    • Run full test suite including integration tests
    • Verify all P0 features work as documented
    • Test upgrade path from previous version
    • Check for regressions in existing functionality
  3. RC Evaluation:

    • No critical/high bugs: Proceed to release
    • Critical bugs found: Fix, tag RC2, restart testing period
    • More than 2 RCs needed: Revisit scope and timeline
  4. RC2+ Tags: Only if critical issues found in previous RC

    git tag -a v2.0.0-rc.2 -m "Release candidate 2 for v2.0.0"
    

**Got:** RC process documented with tagging convention, distribution method, testing checklist, escalation criteria.

**If fail:** RC process skipped (pressure to release)? Document the risk. Untested releases have higher rollback probability.

### Step 5: Define Go/No-Go Checklist

Create criteria that must be met before release approval:

```markdown
### Go/No-Go Checklist

#### Must Pass (release blocked if any fail)
- [ ] All CI checks passing on release branch
- [ ] Zero critical bugs open against this version
- [ ] Zero high-severity security vulnerabilities
- [ ] All P0 features verified and documented
- [ ] Changelog complete and reviewed
- [ ] Upgrade path tested from previous version (v1.x -> v2.0.0)
- [ ] License and attribution files up to date

#### Should Pass (release proceeds with documented risk)
- [ ] Zero high bugs open (non-critical)
- [ ] All P1 features included
- [ ] Performance benchmarks within acceptable range
- [ ] Documentation reviewed and spell-checked
- [ ] External dependencies at latest stable versions

#### Decision
- **Go**: All "Must Pass" items checked, majority of "Should Pass" items checked
- **No-Go**: Any "Must Pass" item unchecked
- **Conditional Go**: All "Must Pass" checked, significant "Should Pass" items unchecked — document accepted risks

Got: Go/no-go checklist with clear pass/fail criteria and decision rules.

If fail: Go/no-go meeting results in no-go? Identify blocking items, assign owners, set new target date (usually 1-2 weeks later), update release plan.

Step 6: Document Rollback Plan

Define how to roll back if release causes critical issues in production:

### Rollback Plan

#### Rollback Triggers
- Critical bug affecting >10% of users
- Data corruption or loss
- Security vulnerability introduced by the release
- Breaking change not documented in changelog

#### Rollback Procedure
1. **Revert package registry**: Unpublish or yank the release
   - R/CRAN: Contact CRAN maintainers (cannot self-unpublish)
   - npm: `npm unpublish [email protected]` (within 72 hours)
   - GitHub: Mark release as pre-release, publish point fix

2. **Communicate**: Notify users via GitHub issue, mailing list, or social channels
   - Template: "v2.0.0 has been rolled back due to [issue]. Please use v1.x.y until a fix is released."

3. **Fix forward**: Prefer a v2.0.1 patch release over a full rollback when possible

4. **Post-mortem**: Conduct a post-mortem within 48 hours of rollback to identify process gaps

#### Point Release Policy
- v2.0.1 for critical bug fixes within 1 week of release
- v2.0.2 for additional fixes within 2 weeks
- Patch releases do not require full RC cycle but must pass CI and critical test suite

Write complete release plan to RELEASE-PLAN.md or RELEASE-PLAN-v2.0.0.md.

Got: Rollback plan documented with triggers, procedure, communication template, point release policy. Complete RELEASE-PLAN.md written.

If fail: Rollback not feasible (e.g. database migration already applied)? Document forward-fix procedure instead. Every release should have recovery path.

Checks

  • Release strategy (calendar/feature/hybrid) documented with reason
  • Milestone table includes all phases with dates: development, freeze, stabilization, RC, release
  • Feature freeze criteria defined with allowed/disallowed change types
  • Feature priority list categorized (P0 must / P1 should / P2 nice)
  • RC process documented: tagging convention, distribution, testing period, escalation
  • Go/no-go checklist has clear "must pass" and "should pass" sections
  • Rollback plan includes triggers, procedure, communication template
  • RELEASE-PLAN.md (or equivalent) file created and saved
  • Timeline realistic (stabilization at least 15% of total cycle)

Pitfalls

  • No stabilization phase: Going direct from development to release. Even 3-day stabilization catches issues active development masks.
  • Scope creep after freeze: Allowing "just one more feature" after feature freeze. Every post-freeze addition resets testing and introduces regression risk.
  • Ignore P0 risks: Not escalating early when P0 feature at risk. Earlier scope adjusted, less disruption to timeline.
  • Skip RC for "small" releases: Even minor releases benefit from at least one RC. Day of RC testing cheaper than post-release hotfix.
  • No rollback plan: Assuming release will succeed. Every release plan should answer "what if this goes wrong?" before publishing.
  • Calendar pressure overriding quality: Releasing on date because promised, despite failing go/no-go criteria. Delayed release is minor inconvenience. Broken release is trust violation.

See Also

  • apply-semantic-versioning -- Determine version number for planned release
  • manage-changelog -- Maintain changelog that feeds into release notes
  • plan-sprint -- Sprint planning within development phase of release cycle
  • draft-project-charter -- Project charter may define release roadmap and success criteria
  • generate-status-report -- Track progress against release milestones

GitHub 저장소

pjt222/agent-almanac
경로: i18n/caveman/skills/plan-release-cycle
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

executing-plans

디자인

executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.

스킬 보기

requesting-code-review

디자인

이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.

스킬 보기

connect-mcp-server

디자인

이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.

스킬 보기

web-cli-teleport

디자인

이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.

스킬 보기