npx skills add smithery/metalagman --skill go-oss-maintainer
metalagman/agent-skills
go-oss-maintainer
Maintain Go repositories with high-quality standards, adhering to CI/CD, linting, and agent-friendly best practices.
Installation
npx skills add metalagman/agent-skills --skill go-oss-maintainer
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Helps users discover and install agent skills when they ask questions like "how do I do X", "fi…
3.3M installsBrowser automation CLI for AI agents. Use when the user needs to interact with websites, includ…
810.4K installsReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "chec…
617.3K installsBuild, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and …
576.5K installsPrepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Te…
568.3K installsAlso in this package
Other skills from metalagman/agent-skills · top by installs.
npx skills add metalagman/agent-skills
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
master
Skill metadata
Parsed from SKILL.md frontmatter.
More metadata
- short-description
- Senior-level guidance for maintaining Go OSS projects with modern best practices.
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md5,321 B -
docs
SUMMARY.md141 B
History
- First seen on skills.sh
- First recorded snapshot · 19 installs
SKILL.md
go-oss-maintainer
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.
Core Mandates
- Go Versioning: Always use the locally available Go version (detect via
go version) when initializing or updatinggo.mod. Usego-version-file: 'go.mod'in GitHub Actions to ensure consistency. - Go 1.24+ Tooling: Always prefer
go toolfor invoking project-local tools (e.g.,go tool golangci-lint). - Module Hygiene: Maintain a clean
go.mod. Rungo mod tidyandgo mod verifyregularly. - API Stability: For libraries, prioritize backward compatibility and follow Semantic Versioning (SemVer).
- License: A
LICENSEfile MUST be present. Use the MIT License as the default unless otherwise specified. - README: A
README.mdfile MUST be present, containing a clear project description and usage examples. - Repository Hygiene: Every project MUST have a clean
.gitignore,.aiignore, and.dockerignore. - Ignore Baseline:
.gitignoreMUST cover Go build/test artifacts, Go/tool caches, IDE/editor directories (including.idea), and OS noise. - Agent Guidance: Every project MUST have an
AGENTS.mdfile to guide AI agents on project-specific conventions. - CI First: Proactively set up GitHub Actions for linting and testing. Always fetch the latest
golangci-lintversion (e.g., via GitHub API) before writing its version to the workflow. - Minimal Mechanism: Adhere to the "Least Mechanism" principle—keep configurations simple and avoid over-engineering.
Developer Workflow
- Repo Initialization:
- Install .gitignore from [assets/.gitignore](assets/.gitignore). If .gitignore already exists, merge in missing template patterns instead of deleting project-specific entries. - Verify .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). - Ensure a LICENSE file is present (template in [assets/LICENSE](assets/LICENSE)). - Create/update README.md (template in [assets/README.md](assets/README.md)). - Create .aiignore (template in [assets/.aiignore](assets/.aiignore)). - Create .dockerignore (template in [assets/.dockerignore](assets/.dockerignore)). - Create AGENTS.md (template in [assets/AGENTS.md](assets/AGENTS.md)).
- Module Maintenance:
- Detect the local Go version using go version. - Ensure go.mod lists this detected Go version. - Run go mod tidy to prune unused dependencies.
- Linting Setup:
- Place the project's .golangci.yml in the root (reference in [assets/.golangci.yml](assets/.golangci.yml)). - Use go tool golangci-lint run ./... for local checks.
- CI/CD Configuration:
- Fetch the latest golangci-lint version from https://api.github.com/repos/golangci/golangci-lint/releases/latest. - Set up .github/workflows/lint.yml (template in [assets/lint.yml](assets/lint.yml)), using go-version-file: 'go.mod' and the fetched golangci-lint version. - Set up .github/workflows/test.yml (template in [assets/test.yml](assets/test.yml)), using go-version-file: 'go.mod'.
- Verification:
- Execute all local tests and linters before proposing changes.
Expert Guidance
1. Repository Hygiene
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.
2. Module Best Practices
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.
3. CI/CD Standards
Automate everything. Use the provided GitHub Action templates to ensure every PR is linted and tested against the project's supported Go versions.
Resources
Templates and configurations are available in the assets/ directory:
- [assets/.gitignore](assets/.gitignore): Go-focused ignore baseline including IDE/editor and OS patterns.
- [assets/.aiignore](assets/.aiignore): Patterns to guide AI agents.
- [assets/.dockerignore](assets/.dockerignore): Lean Docker build context.
- [assets/.golangci.yml](assets/.golangci.yml): Production-ready linter configuration.
- [assets/AGENTS.md](assets/AGENTS.md): AI agent interaction guidelines.
- [assets/LICENSE](assets/LICENSE): Default MIT License template.
- [assets/README.md](assets/README.md): Project documentation template.
- [assets/lint.yml](assets/lint.yml): GitHub Action for
golangci-lint. - [assets/test.yml](assets/test.yml): GitHub Action for Go tests.