
github-workflows
by sgaunet
A curated collection of specialized Claude Code plugins designed to enhance your development workflow with intelligent agents, skills, and commands.
SKILL.md
name: github-workflows description: Initialize or update GitHub Actions workflows for Go projects with comprehensive CI/CD pipelines including linting, testing, coverage, snapshot builds, and releases
GitHub Workflows Setup Skill
Automate Go project CI/CD with production-ready GitHub Actions workflows for testing, linting, coverage reporting, and releases.
Overview
This skill provides a complete GitHub Actions CI/CD setup for Go projects:
- Linting: Automated code quality checks with golangci-lint
- Coverage: Test coverage reporting with badge generation
- Snapshot: Test release builds on every push
- Release: Automated releases with GoReleaser on tag push
- Dependabot: Automated dependency updates
- Funding: GitHub Sponsors configuration
All workflows integrate with Task for consistent build commands.
Prerequisites
- GitHub repository: Project hosted on GitHub
- Go module: Project uses Go modules (
go.modpresent) - Task runner (recommended): Taskfile.yml for build commands
- Install:
brew install go-task/tap/go-task - Docs: https://taskfile.dev
- Install:
- GoReleaser config (for releases):
.goreleaser.ymlin repository root - GitHub Container Registry: Enabled for Docker image publishing
Workflow Architecture
| Workflow | Trigger | Purpose | Permissions |
|---|---|---|---|
| linter.yml | Every push | Code quality validation | contents: read |
| snapshot.yml | Every push | Test release process | contents: read |
| coverage.yml | Push to main | Generate coverage badge | contents: write |
| release.yml | Push tags | Production release | contents: write, packages: write |
Workflow files are located in assets/workflows/ directory.
Quick Start
Step 1: Copy Workflow Files
# Create directories
mkdir -p .github/workflows
# Copy workflows from assets
cp assets/workflows/*.yml .github/workflows/
# Copy configurations
cp assets/dependabot.yml .github/dependabot.yml
cp assets/FUNDING.yml .github/FUNDING.yml
Step 2: Configure Taskfile (Recommended)
Create or update Taskfile.yml:
version: '3'
tasks:
linter:
desc: Run golangci-lint
cmds:
- golangci-lint run ./...
test:
desc: Run tests
cmds:
- go test -v ./...
snapshot:
desc: Create snapshot build (test release)
cmds:
- goreleaser release --snapshot --clean --skip=publish
release:
desc: Create production release
cmds:
- goreleaser release --clean
Step 3: Customize Go Version
Update Go version in all workflows:
- uses: actions/setup-go@v6
with:
go-version: '1.24' # CUSTOMIZE: Use your Go version
Step 4: Customize Coverage Settings
In .github/workflows/coverage.yml:
- name: Generate coverage badge
with:
limit-coverage: "70" # CUSTOMIZE: Set your coverage threshold
Step 5: Update Funding Configuration
Update .github/FUNDING.yml:
github: [YOUR_GITHUB_USERNAME] # CUSTOMIZE
Step 6: Configure GitHub Settings
Enable required GitHub features:
Actions Permissions:
- Settings → Actions → General
- Set "Workflow permissions" to "Read and write permissions"
GitHub Container Registry:
- Settings → Packages
- Enable "Inherit access from repository"
Branch Protection (optional):
- Settings → Branches → Add rule
- Require status checks:
linter,goreleaser-snapshot
Secrets (if needed):
- Settings → Secrets → Actions
- Add
HOMEBREW_TAP_TOKEN(if using Homebrew in GoReleaser)
Step 7: Test Workflows
# 1. Push changes to trigger linter and snapshot
git add .github/
git commit -m "ci: add GitHub Actions workflows"
git push origin main
# 2. Check workflow runs at: https://github.com/OWNER/REPO/actions
# 3. Test release workflow (without publishing)
git tag -a v0.1.0-test -m "Test release"
git push origin v0.1.0-test
# 4. If successful, create real release
git tag -a v1.0.0 -m "First release"
git push origin v1.0.0
Status Badges (Optional)
Add workflow badges to README.md:
[](https://github.com/OWNER/REPO/actions/workflows/linter.yml)
[](https://github.com/OWNER/REPO/actions/workflows/release.yml)

Expected Output
After using this skill, your repository will have:
- ✓ Complete CI/CD pipeline with 4 workflows
- ✓ Automated linting on every push
- ✓ Snapshot builds to validate releases
- ✓ Coverage badges showing test coverage
- ✓ Automated releases on Git tags
- ✓ Dependabot for dependency updates
- ✓ GitHub Sponsors configuration
- ✓ Production-ready workflow structure
Your project will have professional-grade CI/CD matching industry best practices.
Additional Documentation
- Detailed configurations and customization: See REFERENCE.md
- Troubleshooting common issues: See TROUBLESHOOTING.md
- Workflow templates: Available in
assets/workflows/directory
Resources
- GitHub Actions: https://docs.github.com/en/actions
- Task Runner: https://taskfile.dev
- golangci-lint: https://golangci-lint.run
- GoReleaser: https://goreleaser.com
- Dependabot: https://docs.github.com/en/code-security/dependabot
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon

