About
This skill automates the complete release cycle for R packages, handling version bumps, NEWS.md updates, git tagging, and GitHub releases. It's designed for releasing patch, minor, or major versions and can create a matching GitHub release after CRAN acceptance. The process also sets up the subsequent development version increment post-release.
Quick Install
Claude Code
Recommendednpx 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/release-package-versionCopy and paste this command in Claude Code to install this skill
Documentation
Release Package Version
Execute full ver release cycle for R pkg.
Use When
- Ready to release new ver (bug fix, feature, breaking)
- After CRAN accept → matching GH release
- Set up post-release dev ver
In
- Required: Pkg w/ changes ready
- Required: Release type: patch (0.1.0 → 0.1.1), minor (0.1.0 → 0.2.0), major (0.1.0 → 1.0.0)
- Optional: Submit to CRAN? (default no, use
submit-to-cranseparate)
Do
Step 1: Determine Bump
Follow semantic versioning:
| Change Type | Version Bump | Example |
|---|---|---|
| Bug fixes only | Patch | 0.1.0 -> 0.1.1 |
| New features (backward compatible) | Minor | 0.1.0 -> 0.2.0 |
| Breaking changes | Major | 0.1.0 -> 1.0.0 |
→ Correct bump (patch/minor/major) determined by changes since last release.
If err: unsure → review git log since last tag + classify each change. Any breaking API → major.
Step 2: Update Ver
usethis::use_version("minor") # or "patch" or "major"
Updates Version in DESCRIPTION + adds heading to NEWS.md.
→ DESCRIPTION ver updated. NEWS.md has new section header for release ver.
If err: usethis::use_version() not available → manual update Version in DESCRIPTION + add # packagename x.y.z heading to NEWS.md.
Step 3: Update NEWS.md
Fill release notes under new ver heading:
# packagename 0.2.0
## New Features
- Added `new_function()` for processing data (#42)
- Support for custom themes in `plot_results()` (#45)
## Bug Fixes
- Fixed crash when input contains all NAs (#38)
- Corrected off-by-one error in `window_calc()` (#41)
## Minor Improvements
- Improved error messages for invalid input types
- Updated documentation examples
Use issue/PR numbers → traceability.
→ NEWS.md has complete summary of user-facing changes by category, w/ issue/PR numbers.
If err: changes hard reconstruct → git log --oneline v<previous>..HEAD lists all commits since last release + categorize.
Step 4: Final Checks
devtools::check()
devtools::spell_check()
urlchecker::url_check()
→ devtools::check() returns 0 errors, 0 warnings, 0 notes. Spell + URL clean.
If err: fix all errs + warns before release. Add false-positives to inst/WORDLIST. Replace broken URLs.
Step 5: Commit Release
git add DESCRIPTION NEWS.md
git commit -m "Release packagename v0.2.0"
→ Single commit w/ ver bump in DESCRIPTION + updated NEWS.md.
If err: other uncommitted changes → stage only DESCRIPTION + NEWS.md. Release commits = ver-related only.
Step 6: Tag Release
git tag -a v0.2.0 -m "Release v0.2.0"
git push origin main --tags
→ Annotated tag v0.2.0 created + pushed. git tag -l local; git ls-remote --tags origin confirms remote.
If err: push fails → check write access. Tag exists → verify points to correct commit git show v0.2.0.
Step 7: GitHub Release
gh release create v0.2.0 \
--title "packagename v0.2.0" \
--notes-file NEWS.md
Or:
usethis::use_github_release()
→ GH release created w/ notes visible on Releases page.
If err: gh release create fails → ensure gh auth (gh auth status). usethis::use_github_release() fails → create manual on GH.
Step 8: Set Dev Ver
After release, bump to dev:
usethis::use_dev_version()
Changes ver to 0.2.0.9000 → indicates dev.
git add DESCRIPTION NEWS.md
git commit -m "Begin development for next version"
git push
→ DESCRIPTION ver = 0.2.0.9000. NEWS.md has new heading for dev ver. Pushed.
If err: usethis::use_dev_version() not available → manual change to x.y.z.9000 in DESCRIPTION + add # packagename (development version) heading to NEWS.md.
Check
- Ver in DESCRIPTION matches intended
- NEWS.md complete + accurate
-
R CMD checkpasses - Git tag matches ver (e.g.
v0.2.0) - GH release exists w/ notes
- Post-release dev ver set (x.y.z.9000)
Traps
- Forget push tags:
git pushalone no push tags. Use--tagsorgit push origin v0.2.0 - NEWS.md format: Markdown headers matching pkgdown/CRAN format
- Tag wrong commit: Always tag after ver-bump commit, not before
- CRAN ver already exists: CRAN won't accept dup. Always increment.
- Dev ver in release: Never submit
.9000to CRAN
→
submit-to-cran— CRAN submission after releasecreate-github-release— general GH release creationsetup-github-actions-ci— triggers pkgdown rebuild on releasebuild-pkgdown-site— docs site reflects new ver
GitHub Repository
Frequently asked questions
What is the release-package-version skill?
release-package-version is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform release-package-version-related tasks without extra prompting.
How do I install release-package-version?
Use the install commands on this page: add release-package-version to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does release-package-version belong to?
release-package-version is in the Other category, tagged general.
Is release-package-version free to use?
Yes. release-package-version is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Related Skills
LlamaGuard is Meta's 7-8B parameter model for moderating LLM inputs and outputs across six safety categories like violence and hate speech. It offers 94-95% accuracy and can be deployed using vLLM, Hugging Face, or Amazon SageMaker. Use this skill to easily integrate content filtering and safety guardrails into your AI applications.
This Claude Skill helps developers optimize cloud costs through resource rightsizing, tagging strategies, and spending analysis. It provides a framework for reducing cloud expenses and implementing cost governance across AWS, Azure, and GCP. Use it when you need to analyze infrastructure costs, right-size resources, or meet budget constraints.
This skill quantizes LLMs to 8-bit or 4-bit precision using bitsandbytes, achieving 50-75% memory reduction with minimal accuracy loss. It's ideal for running larger models on limited GPU memory or accelerating inference, supporting formats like INT8, NF4, and FP4. The skill integrates with HuggingFace Transformers and enables QLoRA training and 8-bit optimizers.
This Claude Skill analyzes sports betting markets including spreads, over/unders, and prop bets by examining historical trends and situational statistics to identify value bets. It provides structured markdown output with actionable recommendations for educational purposes. Developers should use this for sports betting analysis tools while noting it's designed for entertainment/education only.
