skills$openclaw/go-linter-configuration
irook6612.8k

by irook661

go-linter-configuration – OpenClaw Skill

go-linter-configuration is an OpenClaw Skills integration for data analytics workflows. Configure and troubleshoot golangci-lint for Go projects. Handle import resolution issues, type-checking problems, and optimize configurations for both local and CI environments.

2.8k stars8.2k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026data analytics

Skill Snapshot

namego-linter-configuration
descriptionConfigure and troubleshoot golangci-lint for Go projects. Handle import resolution issues, type-checking problems, and optimize configurations for both local and CI environments. OpenClaw Skills integration.
ownerirook661
repositoryirook661/go-linter-configuration
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @irook661/go-linter-configuration
last updatedFeb 7, 2026

Maintainer

irook661

irook661

Maintains go-linter-configuration in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
300 B
SKILL.md
4.3 KB
SKILL.md

name: go-linter-configuration description: "Configure and troubleshoot golangci-lint for Go projects. Handle import resolution issues, type-checking problems, and optimize configurations for both local and CI environments." metadata: { "openclaw": { "emoji": "🔍", "requires": { "bins": ["go", "golangci-lint"] }, "install": [ { "id": "golang", "kind": "script", "script": "curl -L https://golang.org/dl/go1.21.5.linux-amd64.tar.gz | tar -C /usr/local -xzf -", "bins": ["go"], "label": "Install Go", }, { "id": "golangci", "kind": "script", "script": "curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.1", "bins": ["golangci-lint"], "label": "Install golangci-lint", }, ], }, }

Go Linter Configuration Skill

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.

Installation

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

Basic Usage

Run linter on entire project:

golangci-lint run ./...

Run with specific configuration:

golangci-lint run --config .golangci.yml ./...

Configuration File (.golangci.yml)

Minimal Configuration (for CI environments with import issues)

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

Standard Configuration (for local development)

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

Troubleshooting Common Issues

"undefined: package" Errors

Problem: Linter reports undefined references to imported packages Solution: Use minimal configuration with disable-all: true and only enable basic linters like gofmt

Import Resolution Problems

Problem: CI environment cannot resolve dependencies properly Solution:

  1. Ensure go.mod and go.sum are up to date
  2. Use go mod download before running linter in CI
  3. Consider using simpler linters in CI environment

Type-Checking Failures

Problem: Linter fails during type checking phase Solution:

  1. Temporarily disable complex linters that require type checking
  2. Use --fast flag for quicker, less intensive checks
  3. Verify all imports are properly declared

CI/CD Optimization

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 ./...

Linter Selection Guidelines

  • 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.

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

Configuration

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. ## Installation Install golangci-lint: ```bash go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest ``` Or use the official installation script: ```bash curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.59.1 ``` ## Basic Usage Run linter on entire project: ```bash golangci-lint run ./... ``` Run with specific configuration: ```bash golangci-lint run --config .golangci.yml ./... ``` ## Configuration File (.golangci.yml) ### Minimal Configuration (for CI environments with import issues) ```yaml 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 ``` ### Standard Configuration (for local development) ```yaml 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 ``` ## Troubleshooting Common Issues ### "undefined: package" Errors Problem: Linter reports undefined references to imported packages Solution: Use minimal configuration with `disable-all: true` and only enable basic linters like `gofmt` ### Import Resolution Problems Problem: CI environment cannot resolve dependencies properly Solution: 1. Ensure go.mod and go.sum are up to date 2. Use `go mod download` before running linter in CI 3. Consider using simpler linters in CI environment ### Type-Checking Failures Problem: Linter fails during type checking phase Solution: 1. Temporarily disable complex linters that require type checking 2. Use `--fast` flag for quicker, less intensive checks 3. Verify all imports are properly declared ## CI/CD Optimization For GitHub Actions workflow: ```yaml 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 ./... ``` ## Linter Selection Guidelines - **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.

FAQ

How do I install go-linter-configuration?

Run openclaw add @irook661/go-linter-configuration in your terminal. This installs go-linter-configuration into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/irook661/go-linter-configuration. Review commits and README documentation before installing.