Agent skill
go-quality-gate
Runs Go code quality checks. Use when checking Go code quality, linting, running checks, validating Go code, or running go checks. Covers formatting with gofumpt, static analysis with go vet, and test execution with go test.
Install this agent skill to your Project
npx add-skill https://github.com/philoserf/claude-code-setup/tree/main/skills/go-quality-gate
SKILL.md
Go Quality Gate
Run a standardized set of Go quality checks. Auto-fix what's fixable, report the rest with specific locations.
Prerequisites
Verify these tools are available before running checks. If missing, suggest installation.
gofumpt— stricter gofmt (go install mvdan.cc/gofumpt@latest)golangci-lint— meta-linter (go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest)
Check Sequence
Run checks in this order. Each phase builds on the previous — formatting first so later tools analyze clean code.
1. Format (auto-fix)
Run gofumpt -extra -w . — report which files were modified. If no files changed, report "formatting clean."
2. Go fix (auto-fix)
Run go fix ./... — apply automated fixes for API changes. Report any fixes applied.
3. Go vet (report)
Run go vet ./... — report issues with file, line, and message. Do not attempt to auto-fix vet findings without user confirmation, as they often involve subtle correctness issues.
4. Build (report)
Run go build ./... — verify the project compiles. If this fails, report errors and stop — test and lint results are unreliable against code that doesn't build.
5. Test (report)
Run go test -race -count=1 ./... — race detector enabled, -count=1 disables test caching for a fresh run. Report pass/fail per package.
6. Lint (report)
Run golangci-lint run ./... — if a .golangci.yml exists, it's picked up automatically. Report issues grouped by linter with file and line.
Output
After all checks complete, present a summary table:
| Check | Status | Details |
|----------------|--------|-------------------|
| gofumpt | FIXED | 3 files formatted |
| go fix | CLEAN | |
| go vet | PASS | |
| go build | PASS | |
| go test | FAIL | 2/15 packages |
| golangci-lint | WARN | 4 issues |
Then list specific issues grouped by file, with line numbers. Offer to fix reported issues if the user wants.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pre-release
Validates a project is ready to tag and ship. Use when tagging a release, cutting a version, shipping a package, or asking "are we ready to release?" Checks repo hygiene, CI status, docs, version sync, and build verification. Optimized for Obsidian plugins with fallback detection for other project types.
local-issues
Reviews a codebase for bugs, design issues, and code cleanliness problems with specific file paths and line numbers. Use when auditing code quality, finding bugs, doing a code review, finding problems, or reviewing a project for issues. Creates issue files in `.issues/` directory.
skill-improve
Generates prioritized improvement recommendations for Claude Code skills. Use when improving skills, enhancing customizations, or wanting actionable feedback on how to make a skill better. Provides impact/effort prioritization with specific fix suggestions.
release
Executes the final release workflow for Obsidian plugins after pre-release checks pass. Use when tagging a release, publishing a version, or shipping an Obsidian plugin. Bumps version via bun run script, creates git tag, pushes to trigger GitHub Actions, and updates GitHub release notes from CHANGELOG.md.
skill-quality
Scores Claude Code skills (1-5) across 6 weighted quality dimensions aligned with official Anthropic docs. Use when evaluating skill quality, rating skills, scoring customizations, comparing skill effectiveness, or checking if a skill follows best practices. Produces per-dimension scores with evidence, weighted totals, quality tier classification, and actionable improvement recommendations.
obsidian-cli
Interacts with Obsidian vaults using the Obsidian CLI to read, create, and manage notes, tasks, properties, tags, and more. Also supports plugin and theme development with commands to reload plugins, run JavaScript, capture errors, take screenshots, and inspect the DOM. Use when the user asks to interact with their Obsidian vault, manage notes, add to daily note, find notes about a topic, check tasks, append to a note, query the vault, list tags, list files, manage bookmarks, check sync status, view file history, use templates, query bases, run QuickAdd, perform vault operations from the command line, or develop and debug Obsidian plugins and themes.
Didn't find tool you were looking for?