CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-lint

Linting best practices and golangci-lint configuration for Golang projects — running linters, configuring .golangci.yml, suppressing warnings with nolint directives, interpreting lint output, and selecting linters. Use when configuring golangci-lint, asking about lint warnings or nolint suppressions, setting up code quality tooling, or choosing linters. Also use when the user mentions golangci-lint, go vet, staticcheck, or revive. Not for wiring a lint step into a GitHub Actions pipeline (→ See `samber/cc-skills-golang@golang-continuous-integration` skill).

72

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

80%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured, highly actionable skill body that makes good use of progressive disclosure via real reference files. Its main weaknesses are a self-contradictory linter count (48 vs 33 vs the actual 50) and batch auto-fix/cleanup workflows that omit explicit validation checkpoints, which caps workflow clarity.

Suggestions

Reconcile the linter count: the body says '48 linters' (line 47) and '33 linters' / '33+ linters' (line 73) but assets/.golangci.yml enables 50 — pick one accurate number and state it once.

Add an explicit validation checkpoint to the Development Workflow and legacy-cleanup section, e.g. after `golangci-lint run --fix`: run tests, review the diff, then re-run `golangci-lint run ./...` to confirm no new issues before committing.

De-duplicate the 'production-ready setup' phrasing that appears in both the Overview and Configuration sections.

DimensionReasoningScore

Conciseness

Largely lean with code blocks, a table, and tight lists assuming Claude's competence, but redundancy and self-contradiction pad it — line 47 says '48 linters enabled', line 73 says '33 linters' / '33+ linters' (the actual enable: block has 50), and 'production-ready setup' is stated twice. Not a 5 because those repeats and the contradictory counts could be trimmed/reconciled.

4 / 5

Actionability

Copy-paste ready throughout: a Quick Reference of executable golangci-lint commands, real Go //nolint examples, Makefile targets, a Common Issues table with concrete fixes, and per-sub-agent linter lists for legacy cleanup. Specific examples cover the common cases.

5 / 5

Workflow Clarity

The Development Workflow lists a numbered sequence and the cleanup section fans out sub-agents, but the batch/destructive operations (`golangci-lint run --fix`, parallel 5-agent legacy cleanup) lack explicit validation checkpoints — no 'run tests after --fix', 'review the diff', or 're-run lint to confirm zero new issues'. Per the rubric, missing validation in batch workflows caps this at 3.

3 / 5

Progressive Disclosure

Well-signaled one-level-deep references to real bundle files — [recommended configuration](./assets/.golangci.yml), [linter reference](./references/linter-reference.md), [nolint directives](./references/nolint-directives.md) — with the overview kept concise and detail pushed to those files. All referenced paths exist and are easy to navigate.

5 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: concrete actions, natural trigger terms, explicit what/when guidance, and a clear boundary redirecting out-of-scope requests to a sibling skill. Voice is third-person throughout. No changes needed.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'running linters, configuring .golangci.yml, suppressing warnings with nolint directives, interpreting lint output, and selecting linters' — giving comprehensive coverage of the skill's capabilities.

5 / 5

Completeness

Explicitly answers both what (the action list) and when ('Use when configuring golangci-lint, asking about lint warnings or nolint suppressions... Also use when the user mentions golangci-lint, go vet, staticcheck, or revive') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Covers natural terms users would say plus synonyms and tool names — 'golangci-lint', 'lint warnings', 'nolint suppressions', 'go vet', 'staticcheck', 'revive', '.golangci.yml' — matching the comprehensive anchor.

5 / 5

Distinctiveness Conflict Risk

Clear niche (golangci-lint linting) with distinct triggers and an explicit negative boundary — 'Not for wiring a lint step into a GitHub Actions pipeline (→ See ...continuous-integration skill)' — minimizing conflict risk.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository
samber/cc-skills-golang
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.