Agent skill
publish-release
Publish a new release to GitHub Packages. Use when ready to release, after tests pass and version is updated. Creates git tag and pushes to trigger GitHub Actions.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/publish-release
SKILL.md
publish-release
Publishes a new release to GitHub Packages via GitHub Actions.
Canonical Source: This skill is maintained at stoicstudio/ClaudeSkills. Run
/update-skill publish-releaseor see Updating This Skill below.
Prerequisites
Before running, ensure:
- All code changes are complete
dotnet testpassesVersionInfo.cshas been updated with new version numberCHANGELOG.mdhas been updated with release notes- PROJECT_NAME is determined for the current project
Steps
-
Read current version info from
src/_PROJECT_NAME_/VersionInfo.cs:- Extract
Version(e.g., "1.3.0") - Extract
VersionName(e.g., "Agent Adoption Guidance")
- Extract
-
Check git status to see what files have changed
-
Stage all changes:
bashgit add -A -
Create commit with version in message (use HEREDOC for proper formatting):
bashgit commit -m "$(cat <<'EOF' v{Version}: {VersionName} {Brief summary of changes from CHANGELOG.md} 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )" -
Create git tag:
bashgit tag v{Version} -
Push to origin (triggers GitHub Actions NuGet publish):
bashgit push origin master --tags -
Announce completion: "As Above, so Below" - the local changes now manifest in the remote repository.
Workflow Monitoring
After push, monitor the GitHub Actions workflow until completion:
-
Determine check interval by querying the last successful workflow duration:
bashgh run list --repo {owner}/{repo} --status success --limit 5 --json databaseId,updatedAt,createdAt- Calculate average duration from recent successful runs
- Use
duration / 3as the check interval (minimum 30 seconds, maximum 2 minutes) - If no previous runs, default to 1 minute interval
-
Get the triggered workflow run ID:
bashgh run list --repo {owner}/{repo} --limit 1 --json databaseId,status,conclusion,headBranch- Verify the run is for the correct tag/branch (v{Version})
-
Poll workflow status at the calculated interval:
bashgh run view {run_id} --repo {owner}/{repo} --json status,conclusion- Continue polling while
statusisqueued,in_progress, orwaiting - Stop when
statusiscompleted
- Continue polling while
-
Report final result:
- If
conclusionissuccess: Report success with package availability - If
conclusionisfailure: Report failure and provide link to logs:bashgh run view {run_id} --repo {owner}/{repo} --web
- If
Post-Release
After workflow completes successfully:
- Package will be available at: https://github.com/{owner}/{repo}/packages
- Users can update with:
dotnet tool update --global {package-name}
Updating This Skill
This skill is distributed from the canonical repository. To update your local copy:
Manual Update
# From your project root
curl -sL https://raw.githubusercontent.com/stoicstudio/ClaudeSkills/main/skills/publish-release/SKILL.md \
-o .claude/skills/publish-release/SKILL.md
Check for Updates
Compare your local version with canonical:
# Get canonical version
curl -sL https://raw.githubusercontent.com/stoicstudio/ClaudeSkills/main/skills/publish-release/SKILL.md | head -5
# Check local version
head -5 .claude/skills/publish-release/SKILL.md
Bulk Update (All Projects)
Use the sync script from the canonical repo:
# Clone or update ClaudeSkills repo
cd /path/to/ClaudeSkills
git pull
# Run sync to update all configured projects
./sync.sh
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?