skills/release-changelog/SKILL.md
Keep CHANGELOG.md idiomatic (Keep a Changelog) and cut a tag-based GitHub release that triggers npm publish CI.
npx skillsauth add mikeyobrien/rho release-changelogInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this SOP to run a clean release process for rho:
CHANGELOG.md (Keep a Changelog + SemVer),package.json version, git tag, and changelog section match,This SOP is designed for the existing workflow in .github/workflows/publish.yml (release.published trigger).
v prefix (example: 0.1.8)YYYY-MM-DD): Release date for changelog headerCHANGELOG.md): Path to changelog filemain): Branch to release fromtrue): Run validation tests before releasetrue): Create GitHub Release with notes from changelogfalse): Push branch/tag after explicit confirmationConfirm version/date and whether this is a stable release.
Constraints:
version as SemVer (X.Y.Z)tag as v{version}Verify the local repository is safe to release.
Constraints:
git status --short){release_branch}git fetch --tags origin)tag already exists locally or on origingh auth status succeeds before attempting release creationCreate/normalize CHANGELOG.md using Keep a Changelog format.
Constraints:
{changelog_path} does not exist, you MUST create it with:
# Changelog## [Unreleased]## [Unreleased]## [{version}] - {date}### Added### Changed### Fixed### Removed### SecurityUnreleased into [{version}][Unreleased]: ...compare/{tag}...HEAD[{version}]: ...compare/{previous_tag}...{tag} (or repo root page for first release)Validate the release contract expected by CI.
Constraints:
package.json version equals {version}## [{version}] - {date}{version} is non-empty{run_tests}=true, you MUST run project test gates before taggingCommit version/changelog updates before tagging.
Constraints:
CHANGELOG.md, plus version bumps)chore(release): v{version}Create the release tag from the release commit.
Constraints:
v{version}git show v{version} --no-patch)Push release artifacts and create release notes from changelog.
Constraints:
{push_tag_and_branch}=true, you MUST push branch and tag to origin{create_github_release}=true, you MUST create GitHub Release with notes from {version} changelog sectionv{version})--verify-tag when creating the GitHub ReleaseSuggested command shape:
gh release create "v{version}" \
--title "v{version}" \
--notes-file /tmp/release-notes-v{version}.md \
--verify-tag
Confirm CI and package publication status.
Constraints:
v{version}npm view @rhobot-dev/rho versionWhen complete, report:
package.json mismatch with tag: update version and re-commit before creating releasepublish.yml run logs and npm environment permissions## [{version}] section onlydata-ai
Install and configure Rho from scratch (Doom-style init.toml + sync). Only prereq: a coding agent that can run shell commands.
documentation
Detect and resolve orphaned notes in the vault. Use during heartbeat maintenance or when vault status shows orphans. Finds notes with no inbound wikilinks and either connects them to the graph or flags them for cleanup.
testing
Update the pi-coding-agent npm package to the latest version. Use when the user wants to update pi, upgrade pi, or get the latest version of the coding agent.
development
Run a curiosity-driven explore-and-build loop to ship one useful improvement.