
Swain Release
A release automation skill that reads your git history and project structure to figure out versioning conventions, generates human-readable changelogs from conventional commits, bumps version files, and creates tags. It works generically across repos rather than hardcoding assumptions, supports trunk+release branch workflows, and lets you drop in a project-specific override file to customize behavior. The changelog generation is opinionated: it synthesizes commits into thematic narratives instead of dumping raw git logs, distinguishing between shipped features, work-in-progress, roadmap items, and internal improvements. Useful when you want consistent release mechanics without hand-editing changelogs or remembering which files hold version numbers. The session check integration means it plays nice with the broader swain workflow system.
- skills.sh installs
- 126
- GitHub stars
- 2
- last updated
- Aug 21, 2026
Install
$ npx -y skills add cristoslc/swain --skill swain-release --agent claude-codeInstalls into .claude/skills of the current project.
Files
Release
Before proceeding with any state-changing operation, check for an active session:
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
bash "$REPO_ROOT/.agents/bin/swain-session-check.sh" 2>/dev/null
If the JSON output has "status" other than "active", inform the operator: "No active session — start one with /swain-init?" Proceed if they dismiss.
Cut a release by detecting the project's versioning context, generating a changelog, bumping versions, and tagging. Works across any repo by reading context from git history and project structure rather than hardcoding assumptions.
Override file
Before starting, read .agents/release.override.skill.md if it exists. This is a freeform markdown file authored by the project owner whose instructions layer on top of this skill — its contents take precedence where they conflict. It can narrow defaults, specify version file locations, set tag formats, add pre/post-release steps, or anything else.
If no override exists, proceed with context detection alone.
Workflow
1. Gather context
Sponsors
Details
- Repository
- github.com/cristoslc/swain
- Categories
- Git & Pull Requests, Release Management
- First seen
- Jun 3, 2026