release
Create a new release โ bump version, tag, generate changelog, create GitHub Release
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Create a new release โ bump version, tag, generate changelog, create GitHub Release
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Run the daily AI tech news digest pipeline โ collect, deduplicate, summarize, deliver
Add a new news source (RSS or GitHub release) to ai-digest config
Validate sources.yml structure and check that all URLs/endpoints are reachable. Use when the user wants to check, verify, validate, or test the sources config, or after adding/modifying sources. Also use when the user mentions broken links, 404 errors, or source health checks.
| name | release |
| description | Create a new release โ bump version, tag, generate changelog, create GitHub Release |
| user_invocable | true |
| arguments | [{"name":"version","description":"Semver version to release (e.g., 1.0.0)","required":true}] |
Create a new release for ai-digest.
Before starting, validate ALL of the following. Stop and report if any check fails:
git status --porcelain returns emptymain: git branch --show-current returns main{version} is valid semver (MAJOR.MINOR.PATCH)v{version} does not exist: git tag -l "v{version}" returns emptygh CLI is authenticated: gh auth status succeedsUpdate version in these files:
.version โ replace contents with {version}package.json โ update "version" field to "{version}"README.md โ update any version referencesDetermine previous tag:
git describe --tags --abbrev=0 HEAD 2>/dev/null || echo ""
If previous tag exists, analyze commits since that tag:
git log {prev_tag}..HEAD --oneline
If no previous tag, analyze all commits:
git log --oneline
Update CHANGELOG.md in Keep a Changelog format:
## [{version}] - {YYYY-MM-DD} after the intro text and before the previous release sectionfeat: commits)fix: commits)refactor:, perf: commits)docs: commits)chore: commits)[{version}]: https://github.com/kalinichenko88/ai-digest/compare/v{prev_version}...v{version}
If no previous tag: [{version}]: https://github.com/kalinichenko88/ai-digest/releases/tag/v{version}git add .version package.json README.md CHANGELOG.md
git commit -m "release: v{version}"
git tag "v{version}"
Determine previous tag:
git describe --tags --abbrev=0 HEAD~1 2>/dev/null || echo ""
If previous tag exists, analyze commits between tags:
git log {prev_tag}..v{version} --oneline
If no previous tag, analyze all commits:
git log --oneline
Group changes into categories:
feat:)fix:)refactor:, perf:, chore:, docs:)Write a concise, human-readable description. Include:
ghcr.io/kalinichenko88/ai-digest:{version}curl -sL https://github.com/kalinichenko88/ai-digest/releases/latest/download/install.sh | bash./run.sh updategit push origin main
git push origin "v{version}"
Note:
gh release createrequires the tag to exist on remote, so push happens first. The race condition with CI is not a practical concern โ CI queue latency ensures the draft release is created before CI reaches the artifact upload step.
gh release create "v{version}" \
--title "v{version}" \
--notes "<generated description>" \
--draft
After push, CI will:
Report to user:
https://github.com/kalinichenko88/ai-digest/releases/tag/v{version}gh run list --limit 1