mcpField
R
release

release

github.com/terrylicaCloud & DevOps145 installsUpdated today
Repository

About release

A release skill that delegates to each repository’s mise release tasks, using the repository’s own task sequence and configuration. If those tasks are absent, it falls back to instructions from a semantic-release skill.

Key features

  1. 01Detect repository release tasks
  2. 02Run full or dry-run releases
  3. 03Check release status
  4. 04Fall back to semantic-release guidance
  5. 05Reflect reproducible fixes in the skill

Use cases

  1. 01Running a repository’s configured release workflow
  2. 02Previewing a release without modifications
  3. 03Checking the current version and release state
  4. 04Handling repositories without mise release tasks

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/terrylica/cc-skills --skill release

After installing, type/releasein Claude Code to confirm it loaded.

Bundled filesreferences/evolution-log.md

Details

From the project README

/itp:release

Delegate to the repository's mise release tasks. Every repo should define its own release DAG in .mise/tasks/release/.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

First Action: Detect Repo's Release Tasks

# Check if the repo has mise release tasks
mise tasks ls 2>/dev/null | grep -i release
  • If tasks exist: Delegate to mise run release:full (or the repo's equivalent)
  • If no tasks: Fall back to reading the semantic-release skill for guidance

Arguments

FlagShortDescription
--dry-dDry-run mode (preview, no modifications)
--status-sShow current version and release state

Execution

# Full release (preflight → version → sync → verify)
mise run release:full

# Dry-run (preview what would be released)
mise run release:dry

# Check current state
mise run release:status

Why mise Tasks Over Prescriptive Skills

ConcernPrescriptive Skillmise Task Delegation
Repo-specific logicDuplicated in skillLives in .mise/tasks/
DAG enforcementManual orderingdepends array enforced
MaintainabilityUpdate skill + tasksSingle source in tasks
PortabilityAssumes npm/bunUses whatever the repo configures
SecretsHardcoded patterns[env] in .mise.toml

Expected mise Release Task Structure

Repos should follow the hub-and-spoke pattern:

.mise.toml                      # Hub: [env] + [tools] + task docs
.mise/tasks/
  └── release/
      ├── _default              # Help / navigation
      ├── preflight             # Phase 1: Validate prerequisites
      ├── version               # Phase 2: Bump version (semantic-release)
      ├── sync                  # Phase 3: Sync artifacts (marketplace, cache)
      ├── verify                # Phase 4: Verify release artifacts
      ├── full                  # Orchestrator: depends on all phases
      ├── dry                   # Dry-run preview
      └── status                # Current version info
Task DAG
            ┌──────────┐
            │ preflight│
            └─────┬────┘
                  │ depends
            ┌─────▼────┐
            │ version  │
            └─────┬────┘
                  │ sequential
            ┌─────▼────┐
            │   sync   │
            └─────┬────┘
                  │ sequential
            ┌─────▼────┐
            │  verify  │
            └──────────┘
Key Patterns
# .mise/tasks/release/full (orchestrator)
depends = ["release:preflight"]
# Chains: preflight → version → sync → verify

# .mise/tasks/release/preflight (guard)
# Checks: clean dir, auth, plugins, releasable commits

# .mise/tasks/release/version (core)
depends = ["release:preflight"]
# Runs: semantic-release (or language-specific versioning)

Fallback: No mise Tasks

If the repo has no mise release tasks, read the semantic-release skill:

Read: ${CLAUDE_PLUGIN_ROOT}/skills/semantic-release/SKILL.md
Read: ${CLAUDE_PLUGIN_ROOT}/skills/semantic-release/references/local-release-workflow.md

Then follow the 4-phase workflow documented there.


Error Recovery

ErrorResolution
mise tasks not foundInstall mise: curl https://mise.run | sh
No release tasksCreate .mise/tasks/release/ or use fallback skill
Working dir not cleangit stash or commit changes
Not on main branchgit checkout main
No releasable commitsCreate a feat: or fix: commit first
Wrong accountCheck GH_TOKEN / GH_ACCOUNT in .mise.toml [env]

Reference

Post-Execution Reflection

After this skill completes, check before closing:

  1. Did the command succeed? — If not, fix the instruction or error table that caused the failure.
  2. Did parameters or output change? — If the underlying tool's interface drifted, update Usage examples and Parameters table to match.
  3. Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.

Only update if the issue is real and reproducible — not speculative.

Comments

Markdown supported