Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Configure and troubleshoot golangci-lint for Go projects. Handle import resolution issues, type-checking problems, and optimize configurations for both local and CI environments.
Configure and troubleshoot golangci-lint for Go projects. Handle import resolution issues, type-checking problems, and optimize configurations for both local and CI environments.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Configure and troubleshoot golangci-lint for Go projects. This skill helps handle import resolution issues, type-checking problems, and optimize configurations for both local and CI environments.
Install golangci-lint: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest Or use the official installation script: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.1
Run linter on entire project: golangci-lint run ./... Run with specific configuration: golangci-lint run --config .golangci.yml ./...
run: timeout: 5m tests: false build-tags: [] linters: disable-all: true enable: - gofmt # Format checking only linters-settings: gofmt: simplify: true issues: exclude-use-default: false max-issues-per-linter: 50 max-same-issues: 3 output: format: tab
run: timeout: 5m tests: true build-tags: [] linters: enable: - gofmt - govet - errcheck - staticcheck - unused - gosimple - ineffassign linters-settings: govet: enable: - shadow errcheck: check-type-assertions: true staticcheck: checks: ["all"] issues: exclude-use-default: false max-issues-per-linter: 50 max-same-issues: 3 output: format: tab
Problem: Linter reports undefined references to imported packages Solution: Use minimal configuration with disable-all: true and only enable basic linters like gofmt
Problem: CI environment cannot resolve dependencies properly Solution: Ensure go.mod and go.sum are up to date Use go mod download before running linter in CI Consider using simpler linters in CI environment
Problem: Linter fails during type checking phase Solution: Temporarily disable complex linters that require type checking Use --fast flag for quicker, less intensive checks Verify all imports are properly declared
For GitHub Actions workflow: name: Code Quality on: push: branches: [ main, master ] pull_request: branches: [ main, master ] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v4 with: go-version: '1.21' cache: true - name: Download dependencies run: go mod download - name: Install golangci-lint run: | curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.1 - name: Lint run: golangci-lint run --config .golangci.yml ./...
gofmt: For formatting consistency govet: For semantic errors errcheck: For unchecked errors staticcheck: For static analysis unused: For dead code detection gosimple: For simplification suggestions ineffassign: For ineffective assignments Choose linters based on project needs and CI performance requirements.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.