release-skills
Release Skills
Standardized release workflow for the ian-skills repository.
Workflow
Step 1 — Detect Configuration
Scan the repo for version and changelog files:
- Check for version file (priority order):
package.json→$.versionVERSIONorversion.txt→ direct content
- Scan for changelogs:
CHANGELOG*.md - Display detected configuration
Step 2 — Analyze Changes Since Last Tag
LAST_TAG=$(git tag --sort=-v:refname | head -1)
git log ${LAST_TAG}..HEAD --oneline
Categorize by conventional commit type:
| Type | Changelog | Description |
|---|---|---|
feat |
✅ | New features |
fix |
✅ | Bug fixes |
docs |
✅ | Documentation |
refactor |
✅ | Code refactoring |
perf |
✅ | Performance |
chore |
❌ | Maintenance (skip in changelog) |
Breaking change detection:
- Commit contains
BREAKING CHANGE→ warn user, suggest--major
Step 3 — Determine Version Bump
Priority order:
- User flag
--major/--minor/--patch→ use specified - BREAKING CHANGE → major (1.x.x → 2.0.0)
feat:present → minor (1.2.x → 1.3.0)- Otherwise → patch (1.2.3 → 1.2.4)
Step 4 — Group Changes by Skill
Group commits by affected skill directory:
codex-agent:
- feat: add reasoning level selection
→ Commit: feat(codex-agent): add reasoning level selection
codex-review:
- fix: improve skeptic lens prompt
→ Commit: fix(codex-review): improve skeptic lens prompt
Step 5 — Generate Changelog
For each detected changelog file, generate entries in the file's language. Insert at file head, preserve existing content.
Format:
## {VERSION} - {YYYY-MM-DD}
### Features
- Description of feature
### Fixes
- Description of fix
Only include sections with changes. Omit empty sections.
Step 6 — Commit Each Skill Separately
For each skill with changes:
git add skills/<skill-name>/*
git commit -m "<type>(<skill-name>): <description>"
Step 7 — User Confirmation
Before creating release commit, show the user:
- Commits created
- Changelog preview
- Proposed version
Ask: confirm version bump and whether to push.
Step 8 — Create Release Commit and Tag
git add <version-file> CHANGELOG*.md
git commit -m "chore: release v{VERSION}"
git tag v{VERSION}
If user confirmed push:
git push origin main
git push origin v{VERSION}
Options
| Flag | Description |
|---|---|
--dry-run |
Preview changes without executing |
--major |
Force major version bump |
--minor |
Force minor version bump |
--patch |
Force patch version bump |
Dry-Run Mode
When --dry-run is specified, show full preview of what would happen
(commits, changelog, version bump) without making any changes.
More from ianchenx/ian-skills
ian-gemini-web
Image generation skill using Gemini Web. Generates images from text prompts via Google Gemini. Also supports text generation. Use as the image generation backend for other skills like cover-image, xhs-images, article-illustrator.
24handoff
Write HANDOFF.md before ending a complex session. Use when wrapping up, switching tasks, or when context is getting large and a fresh session would help.
8codex-agent
Delegate coding tasks to Codex CLI. Use when executing code changes, reviews, debugging, or parallelizing tasks via Codex.
7