hex-release — community hex-release, jido_signal, community, ide skills, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Ideal for Elixir Agents managing package releases, particularly those leveraging GitHub Actions for automated workflows. Agent Communication Envelope and Utilities

agentjido agentjido
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The hex-release skill by agentjido is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Ideal for Elixir Agents managing package releases, particularly those leveraging GitHub Actions for automated workflows.

Core Value

Empowers agents to automate Hex package releases via GitHub Actions or manual local workflows, supporting version bumps, release preparations, and tag creations, while ensuring human-in-the-loop verification at each step.

Capabilities Granted for hex-release

Releasing new package versions to Hex
Automating package version bumps
Triggering release workflows via GitHub Actions

! Prerequisites & Limits

  • Requires GitHub Actions setup for automated release path
  • Needs local environment for manual release path
  • Specific to Elixir packages and Hex ecosystem
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

hex-release

Install hex-release, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Hex Release (Human-in-the-Loop)

Interactive workflow for releasing a Hex package with manual verification at each step. Supports two release paths: automated (via GitHub Actions) and manual (local).

When to Use

Use this skill when asked to:

  • Release a new version to Hex
  • Bump the package version
  • Prepare a release
  • Create a release tag
  • Trigger a release workflow

Pre-flight Checks

Before starting, run these checks automatically:

1. Identify the Package

Read mix.exs to determine:

  • Package name (from project():name or :app)
  • Current version (from @version or project():version)
  • Whether it has git_ops as a dependency (required for automated release)

2. Check for Git Dependencies

bash
1grep -E 'github:|git:|path:' mix.exs

Categorize any git/path deps found:

  • dev/test only (only: [:dev, :test]): Will not block Hex publish — note but continue
  • runtime deps: STOP — these block mix hex.publish. Tell the user which deps need to be published to Hex first or switched to Hex versions

3. Git Status

bash
1git status --porcelain

If dirty, STOP and ask user to commit or stash changes first.

4. Verify Branch

bash
1git branch --show-current

Confirm user is on main. Warn if on a different branch.

5. Check for Releasable Commits

bash
1git log --oneline $(git describe --tags --abbrev=0 2>/dev/null || echo "")..HEAD

If no commits since last tag, STOP — nothing to release.

Review commits and confirm they follow conventional commit format (feat:, fix:, chore:, etc.). Non-conventional commits won't be picked up by git_ops for the CHANGELOG.

6. Run Tests

bash
1mix test

If tests fail, STOP and show failures.

7. Run Quality Checks

bash
1mix quality

This typically runs: format check, compile with warnings-as-errors, credo, and dialyzer. If the alias doesn't exist, run mix format --check-formatted && mix compile --warnings-as-errors as a minimum. If any check fails, STOP and show the issues.

8. Hex Publish Dry Run

bash
1mix hex.publish --dry-run

Verify the package metadata and file list look correct. If this fails, STOP.

SHOW USER: Summary of all pre-flight results and current version.

ASK USER: "All checks passed. Which release path: automated (GitHub Actions) or manual (local)?"


Path A: Automated Release (GitHub Actions)

The AgentJido repos have a reusable release workflow triggered via workflow_dispatch.

Step 1: Confirm Workflow Exists

Check that .github/workflows/release.yml exists and calls:

yaml
1uses: agentjido/github-actions/.github/workflows/elixir-release.yml@main

Step 2: Explain Dispatch Options

TELL USER:

The release workflow supports these options:

  • dry_run: true     — Full dry run (no git push, no tag, no Hex publish)
  • hex_dry_run: true — Runs git_ops release + push, but skips actual Hex publish
  • skip_tests: true  — Skip test step (use if CI already passed)

Recommended first run: dry_run: true

Step 3: Trigger the Workflow

Option 1 — GitHub CLI (if gh is available):

bash
1# Dry run first 2gh workflow run release.yml -f dry_run=true 3 4# Watch the run 5gh run list --workflow=release.yml --limit=1 6gh run watch

Option 2 — GitHub UI:

1. Go to: https://github.com/agentjido/{REPO}/actions/workflows/release.yml
2. Click "Run workflow"
3. Set dry_run = true for first attempt
4. Click "Run workflow"

ASK USER: "Run a dry run first? (recommended)"

Step 4: Verify Dry Run Results

After the dry run completes:

bash
1gh run view --log-failed # Check for errors

Review the workflow summary for:

  • Version that would be released
  • Hex publish dry-run output
  • Any skipped steps

ASK USER: "Dry run succeeded. Ready to run the real release?"

Step 5: Trigger Real Release

bash
1gh workflow run release.yml 2# Or with skip_tests if CI already passed: 3gh workflow run release.yml -f skip_tests=true

Step 6: Verify

bash
1gh run watch # Wait for completion

TELL USER:

✅ Release triggered!

The workflow will:
  1. Run git_ops.release to bump version + update CHANGELOG
  2. Push the release commit and tag
  3. Publish to Hex.pm
  4. Create a GitHub Release

Monitor at: https://github.com/agentjido/{REPO}/actions
After publish, verify at: https://hex.pm/packages/{PACKAGE}

Path B: Manual Release (Local)

Use when the automated workflow isn't available, or for repos that can't publish to Hex (e.g., git deps blocking publish).

Step 1: Determine Version Bump

git_ops handles this automatically from conventional commits, but ask the user for confirmation.

Run the release in dry-run mode to preview:

bash
1mix git_ops.release --dry-run

This shows what version would be bumped to based on commit types:

  • feat: commits → minor bump
  • fix: commits → patch bump
  • BREAKING CHANGE: → major bump

SHOW USER: The proposed version bump and commits that will be included.

ASK USER: "git_ops wants to release vX.Y.Z. Proceed, or override with a specific version?"

Step 2: Run the Release

bash
1# Let git_ops decide the version: 2mix git_ops.release --yes 3 4# Or force a specific version: 5mix git_ops.release --yes --new-version X.Y.Z

This will:

  • Bump the version in mix.exs
  • Update CHANGELOG.md from conventional commits
  • Create a release commit
  • Create a git tag

SHOW USER: The release commit diff and tag.

Step 3: Review Before Pushing

bash
1git log --oneline -3 2git diff HEAD~1 3git tag -l | tail -5

ASK USER: "Release commit and tag created locally. Ready to push?"

Step 4: Push

bash
1git push origin main 2git push origin --tags

Step 5: Publish to Hex

bash
1# Final dry-run check 2mix hex.publish --dry-run 3 4# Publish 5mix hex.publish --yes

Step 6: Create GitHub Release

bash
1VERSION="v$(grep -m1 '@version "' mix.exs | sed 's/.*"\(.*\)".*/\1/')" 2gh release create "$VERSION" \ 3 --title "Release $VERSION" \ 4 --notes "See [CHANGELOG.md](CHANGELOG.md) for details."

TELL USER:

✅ Release complete!

  Published: https://hex.pm/packages/{PACKAGE}
  GitHub:    https://github.com/agentjido/{REPO}/releases/tag/{VERSION}

Rollback

Before pushing:

bash
1git reset --soft HEAD~1 # Undo release commit 2git tag -d v{VERSION} # Delete local tag 3git checkout mix.exs CHANGELOG.md # Restore files

After pushing but before Hex publish:

bash
1git push origin :refs/tags/v{VERSION} # Delete remote tag 2git revert HEAD # Revert release commit 3git push origin main

After Hex publish:

Hex packages cannot be unpublished after 1 hour. You can retire a version:

bash
1mix hex.retire {PACKAGE} {VERSION} invalid --message "Released in error"

Notes

  • All AgentJido repos use conventional commits — non-conventional commits are ignored by git_ops
  • The quality mix alias varies per repo — check mix.exs aliases section
  • git_ops is a dev-only dependency — release commands run in MIX_ENV=dev
  • The automated workflow uses GITHUB_TOKEN for git push and HEX_API_KEY (org secret) for Hex publish
  • Repos with runtime git dependencies (e.g., jido_runic) cannot publish to Hex — use manual path for git tag/release only, skip Hex publish step

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is hex-release?

Ideal for Elixir Agents managing package releases, particularly those leveraging GitHub Actions for automated workflows. Agent Communication Envelope and Utilities

How do I install hex-release?

Run the command: npx killer-skills add agentjido/jido_signal. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for hex-release?

Key use cases include: Releasing new package versions to Hex, Automating package version bumps, Triggering release workflows via GitHub Actions.

Which IDEs are compatible with hex-release?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for hex-release?

Requires GitHub Actions setup for automated release path. Needs local environment for manual release path. Specific to Elixir packages and Hex ecosystem.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add agentjido/jido_signal. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use hex-release immediately in the current project.

Related Skills

Looking for an alternative to hex-release or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI