plan-release-cycle
关于
This Claude Skill helps developers create a structured release plan by defining milestones, freezes, and quality gates using either calendar-based or feature-based strategies. It generates a `RELEASE-PLAN.md` artifact to coordinate multi-team efforts and transition from ad-hoc to a formal release cadence. Use it to initiate major/minor release planning with clear go/no-go criteria and rollback procedures.
快速安装
Claude Code
推荐npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/plan-release-cycle在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Plan Release Cycle
Plan structured release cycle: pick strategy (calendar or feature), set milestones, freeze criteria, RCs, go/no-go, rollback. Output: RELEASE-PLAN.md artifact guiding team dev → release.
Use When
- Major/minor release planning starts
- Ad-hoc → structured release cadence
- Multi-team or multi-component release coord
- Quality gates + criteria for regulated project
- First public release (v1.0.0)
In
- Required: Target version (e.g., v2.0.0)
- Required: Release date or window
- Required: Planned features/scope (backlog, roadmap, desc)
- Optional: Team size + availability
- Optional: Strategy pref (calendar or feature)
- Optional: Regulatory/compliance reqs
- Optional: Past release velocity or cycle data
Do
Step 1: Determine Strategy
Two primary strategies:
Calendar-based (time-boxed):
- Fixed schedule (e.g., 4 wks, quarterly)
- Not-ready features → next release
- Predictable for users + downstream
- Best for: libraries, frameworks, tools w/ external consumers
Feature-based (scope-driven):
- Release when defined scope done
- Date adjusts to scope
- Risk: scope creep, indefinite delays
- Best for: internal tools, first releases, major rewrites
Most projects → hybrid: target date + defined scope, 1-2 week buffer. Scope not met by buffer → defer remaining.
Doc strategy choice w/ rationale.
→ Strategy doc'd w/ rationale matching project context.
If err: team can't agree → default calendar-based w/ feature-priority list. Time-box forces prioritization.
Step 2: Define Milestones
Phases w/ 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 durations:
- Development: 50-70% of cycle
- Stabilization: 15-25% of cycle
- RC testing: 10-20% of cycle
→ Milestone table: dates, durations, descriptions per phase.
If err: timeline too compressed (stabilization < 1 wk) → extend release date or reduce scope. Never skip stabilization.
Step 3: Set Feature Freeze Criteria
Define "feature freeze" 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 → blocks release. P1 → in if ready. P2 → deferred w/o delay.
→ Freeze rules doc'd w/ exception process + prioritized list.
If err: P0 at risk of missing freeze → escalate immediately. Options: extend dev phase, split feature smaller, defer to point release (v2.0.1).
Step 4: Plan RC Process
How RCs are produced + 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"
-
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
- R:
-
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
-
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
-
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"
→ RC process doc'd: tagging convention, distribution, testing checklist, escalation.
If err: RC skipped (release pressure) → doc the risk. Untested releases → higher rollback prob.
### Step 5: Define Go/No-Go Checklist
Criteria 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
→ Go/no-go checklist w/ clear pass/fail + decision rules.
If err: meeting → no-go → ID blockers, assign owners, new target (typically 1-2 wks later), update plan.
Step 6: Document Rollback Plan
Roll back if release causes critical prod issues:
### 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 plan → RELEASE-PLAN.md or RELEASE-PLAN-v2.0.0.md.
→ Rollback plan doc'd: triggers, procedure, comm template, point release policy. Complete RELEASE-PLAN.md written.
If err: rollback not feasible (DB migration applied) → doc forward-fix instead. Every release needs recovery path.
Check
- Strategy (calendar/feature/hybrid) doc'd w/ rationale
- Milestone table all phases: dev, freeze, stabilization, RC, release
- Freeze criteria w/ allowed/disallowed change types
- Feature priority list (P0 / P1 / P2)
- RC process doc'd: tagging, distribution, testing, escalation
- Go/no-go has "must pass" + "should pass" sections
- Rollback plan: triggers, procedure, comm template
- RELEASE-PLAN.md created + saved
- Timeline realistic (stabilization ≥ 15% of cycle)
Traps
- No stabilization phase: Direct dev → release. Even 3-day stabilization catches issues active dev masks.
- Scope creep after freeze: "Just one more feature" → resets testing, regression risk.
- Ignore P0 risks: Not escalating early. Earlier scope adjust = less timeline disruption.
- Skip RC for "small" releases: Even minor → benefit from 1 RC. Day of RC < post-release hotfix.
- No rollback plan: Assume success. Every plan answers "what if this goes wrong?" before publish.
- Calendar pressure > quality: Release on promised date despite failing go/no-go. Delayed release = minor inconvenience; broken release = trust violation.
→
apply-semantic-versioning— determine version for planned releasemanage-changelog— maintain changelog feeding release notesplan-sprint— sprint planning within dev phasedraft-project-charter— may define release roadmap + success criteriagenerate-status-report— track progress vs milestones
GitHub 仓库
相关推荐技能
executing-plans
设计该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
requesting-code-review
设计该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
connect-mcp-server
设计这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
web-cli-teleport
设计该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
