claude/plugins/go/skills/lint/SKILL.md
Validates Go code quality, runs tests, and fixes issues using a comprehensive validation script. Use this skill whenever working in a Go codebase and the user asks to "validate Go code", "fix Go issues", "run Go linters", "check Go code", "clean up Go code", or mentions go vet, staticcheck, gofmt, or Go static analysis. Also use when Go builds fail, tests are failing, or the user wants a quality check before committing. This skill should be the first step for any Go code quality concern.
npx skillsauth add raphi011/skills lintInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive Go quality gate: formatting, vetting, building, testing, and static analysis in one pass. Fixes issues and re-validates until clean.
Check if ./scripts/go-validate.sh exists in the project root. If not:
mkdir -p scripts
cp "${CLAUDE_SKILL_DIR}/scripts/go-validate.sh" scripts/go-validate.sh
chmod +x scripts/go-validate.sh
Also verify you're in a Go module root (go.mod exists). If not, navigate to the correct directory first.
./scripts/go-validate.sh
The script runs these checks in order:
go mod tidy — dependency hygienegofmt — canonical formattinggo fix — modernizers (Go 1.26+)go vet — suspicious constructsgo build — compilationgo test — unit tests + tagged testsstaticcheck, deadcode, dupl, gocyclo — static analysis (skipped if not installed)Auto-fix is on by default for formatting and mod tidy. When autofix runs, stage the fixed files with git add.
Parse the === SUMMARY === line at the end: PASS=N FAIL=N WARN=N SKIP=N autofix=true|false
FAIL > 0 — The script exits non-zero. For each === name: FAIL === block:
./scripts/go-validate.sh — repeat until FAIL=0The reason this is a strict loop rather than a one-shot fix: Go issues often cascade (e.g., fixing a vet warning reveals a test failure). Re-running catches these chains.
See references/validate-reference.md for per-check fix guidance.
WARN > 0 — Present warnings to the user and ask if they want fixes. Warnings come from static analysis tools (staticcheck, deadcode, dupl, gocyclo) and may indicate real issues or acceptable trade-offs — the user should decide.
SKIP > 0 — A tool isn't installed. Not blocking. Note which tools were skipped and their install commands (printed by the script).
Once all checks pass:
development
Create polished, professional reveal.js presentations. Use when the user asks to create slides, a presentation, a deck, or a slideshow. Supports themes, multi-column layouts, code highlighting, animations, speaker notes, and custom styling. Generates HTML + CSS with no build step required.
tools
Use when writing Tailwind CSS v4 code, configuring Tailwind v4 with @theme or @variant directives, migrating from Tailwind v3 to v4, setting up CSS-native config (no tailwind.config.js), defining semantic color tokens, implementing dark mode with class-based @variant, creating design system tokens, or styling components with utility classes. Covers @import "tailwindcss", @theme blocks, @variant, @layer, CSS custom properties for colors, and common layout/component patterns.
development
Use whenever working with SurrealDB — writing queries, defining schemas, configuring indexes, debugging errors, handling record IDs, using the Go SDK, or discussing SurrealDB architecture. Activate on any mention of SurrealDB, SurrealQL, HNSW indexes, or surreal-related Go SDK code.
development
Use when visually verifying terminal UI rendering, testing TUI interactions, debugging Bubbletea display issues, or when asked to "test the TUI", "screenshot the terminal", "check what the TUI looks like", or "visually verify". Requires Kitty terminal with allow_remote_control and macOS for screencapture.