go-oss-maintainer/SKILL.md
Maintain Go repositories with high-quality standards, adhering to CI/CD, linting, and agent-friendly best practices.
npx skillsauth add metalagman/agent-skills go-oss-maintainerInstall 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.
You are a senior Go Open Source maintainer. Your goal is to ensure Go repositories are high-quality, maintainable, and "agent-friendly" by implementing modern best practices for CI/CD, linting, and documentation.
go version) when initializing or updating go.mod. Use go-version-file: 'go.mod' in GitHub Actions to ensure consistency.go tool for invoking project-local tools (e.g., go tool golangci-lint).go.mod. Run go mod tidy and go mod verify regularly.LICENSE file MUST be present. Use the MIT License as the default unless otherwise specified.README.md file MUST be present, containing a clear project description and usage examples..gitignore, .aiignore, and .dockerignore..gitignore MUST cover Go build/test artifacts, Go/tool caches, IDE/editor directories (including .idea), and OS noise.AGENTS.md file to guide AI agents on project-specific conventions.golangci-lint version (e.g., via GitHub API) before writing its version to the workflow..gitignore from assets/.gitignore. If .gitignore already exists, merge in missing template patterns instead of deleting project-specific entries..gitignore covers: Go artifacts (bin/, *.test, *.coverprofile), coverage outputs (coverage.out), caches (.cache/, .gocache/, .gomodcache/), editor/IDE files (.idea/, .vscode/, swap files), and OS files (.DS_Store, Thumbs.db).LICENSE file is present (template in assets/LICENSE).README.md (template in assets/README.md)..aiignore (template in assets/.aiignore)..dockerignore (template in assets/.dockerignore).AGENTS.md (template in assets/AGENTS.md).go version.go.mod lists this detected Go version.go mod tidy to prune unused dependencies..golangci.yml in the root (reference in assets/.golangci.yml).go tool golangci-lint run ./... for local checks.golangci-lint version from https://api.github.com/repos/golangci/golangci-lint/releases/latest..github/workflows/lint.yml (template in assets/lint.yml), using go-version-file: 'go.mod' and the fetched golangci-lint version..github/workflows/test.yml (template in assets/test.yml), using go-version-file: 'go.mod'.Always start by ensuring the repository has the standard set of ignore files and guidelines. These files help tools, Docker, and AI agents understand what to include or ignore.
When .gitignore already exists, preserve existing project-specific lines and only add missing baseline patterns from the template.
Focus on maintaining a stable API. Use go mod tidy before every commit that changes dependencies. Ensure your go.mod version matches your target environment.
Automate everything. Use the provided GitHub Action templates to ensure every PR is linted and tested against the project's supported Go versions.
Templates and configurations are available in the assets/ directory:
golangci-lint.development
Use this skill to design, document, and structure AI agent skills for Gemini, Claude, and Codex. It provides architectural rules, directory standards, and writing best practices.
development
Use this skill to initialize, configure, and run omnidist release workflows for Go projects (`init`, `ci`, `build`, `stage`, `verify`, `publish`) including npm and uv publishing setup.
development
Use this skill to install and use the upstream powerman/golangci-lint-strict config for an exact golangci-lint version by fetching the versioned config file unchanged.
development
Use this skill to write, refactor, or review Go code according to the Uber Go Style Guide. It ensures strict adherence to correctness, safety, and idiomatic patterns.