From goreleaser-release-pipeline
Use when setting up, debugging, or fixing a GoReleaser v2 release pipeline — especially Release Please tag issues, missing release assets, or publish jobs that fail after a release is created, not when the main task is generic CI triage or PR handling.
How this skill is triggered — by the user, by Claude, or both
Slash command
/goreleaser-release-pipeline:goreleaser-release-pipelineThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when a repository already has, or is adding, a GoReleaser v2 release flow and the important question is how Release Please, tags, GitHub releases, and publish jobs fit together without losing versioned releases or assets.
Use this skill when a repository already has, or is adding, a GoReleaser v2 release flow and the important question is how Release Please, tags, GitHub releases, and publish jobs fit together without losing versioned releases or assets.
| Situation | Use this skill? | Route instead |
|---|---|---|
| Release Please and GoReleaser need to publish versioned Go artifacts from the same workflow | Yes | - |
| GitHub Actions run is failing for runner, cache, permissions, or environment reasons outside the release design itself | No | github-actions-failure-triage |
| The implementation is done and the question is how to integrate or clean up the branch | No | finishing-a-development-branch |
| The main task is PR creation, update, or checks-watching | No | github-cli-pr-workflow |
Required before editing
include-component-in-tag..goreleaser.yaml or equivalent GoReleaser config.Helpful if present
release_created and tag_name.Only investigate if encountered
GITHUB_TOKEN or an explicit publishing token.if: conditions, needs: wiring, and artifact handoff between release and publish jobs.goreleaser check before committing any .goreleaser.yaml change.include-component-in-tag: false so Release Please emits vX.Y.Z instead of component-prefixed tags such as gh-depdash-v1.1.1.release: published trigger created by Release Please with the default GITHUB_TOKEN, move the publish job into the same workflow and gate it with ${{ steps.release.outputs.release_created }}.${{ steps.release.outputs.tag_name }}, so the publish job builds against the exact created release rather than guessing from a later event..goreleaser.yaml; missing assets usually mean release_created was false, the job condition was wrong, or the job lived behind the wrong trigger.GITHUB_TOKEN is creating the release.release: published workflow when Release Please is using the default GITHUB_TOKEN; chain the publish job in the same workflow instead.actions/checkout uses fetch-depth: 0 when GoReleaser generates a changelog; shallow clones silently produce incomplete or missing changelogs.GITHUB_TOKEN; GitHub can suppress follow-on workflow runs from tags created by GITHUB_TOKEN.goreleaser check after editing .goreleaser.yaml.release_created and tag_name.vX.Y.Z) before calling the pipeline fixed.v1.4.0, but the GitHub release has no binaries and our GoReleaser publish job never ran."github-actions-failure-triage)gh-depdash-v1.1.1; fix the tag strategy without changing our release numbering scheme."references/release-please-goreleaser-config.md — annotated workflow template, include-component-in-tag setting, release_created job gate, fetch-depth: 0 note, and goreleaser check command../github-actions-failure-triage/SKILL.md — route here when the failure is generic workflow or runner triage instead of release-pipeline design../finishing-a-development-branch/SKILL.md — route here when the question is branch integration rather than release publishing../github-cli-pr-workflow/SKILL.md — route here when the work is PR lifecycle rather than release pipeline behaviorCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub matt-riley/lucky-hat --plugin goreleaser-release-pipeline