CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

golang-modernize

Modernize Golang code to use recent language features, standard library improvements, and idiomatic patterns. Use when reviewing Go code with old-style patterns, when encountering a deprecation warning, or when the user asks for modernization, a Go version upgrade (e.g. to Go 1.27), or a CI/tooling refresh. Not for structural refactors, extracting functions, or moving code between packages (→ See `samber/cc-skills-golang@golang-refactoring` skill).

63

Quality

79%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/golang-modernize/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 body: explicit workflow with validation checkpoints, real one-level-deep references, and concrete commands and API mappings. The weakest point is conciseness — mode guidance and worktree rationale are stated three times in slightly different forms, which inflates tokens without adding information.

Suggestions

Consolidate the inline-vs-full-scan and isolated-worktree guidance into one place (either the Modes section or the Workflow) — it currently appears in the Orchestration-mode paragraph, the Modes bullets, and Workflow steps 6-7, costing tokens without new information.

Add an explicit post-apply validation loop to Workflow step 7 (e.g. "after applying changes in the worktree, run go test ./... and golangci-lint; fix and re-run until clean before requesting review") to close the workflow-clarity feedback-loop gap.

Move the deprecated-packages migration table (or the changelog link table) into references/versions.md and keep a two-line summary in the body to reduce overlap between the body and the referenced file.

DimensionReasoningScore

Conciseness

The body is mostly token-dense reference material (tables of API replacements, a 30-item prioritized list) rather than concepts Claude already knows, but the inline/full-scan mode guidance and the isolated-worktree rationale are repeated nearly verbatim across the "Orchestration mode" paragraph, the Modes section, and Workflow steps 6-7. Anchor 3 fits: efficient overall with sections that could be tightened; not 4 because the duplication is more than minor trimming.

3 / 5

Actionability

Concrete executable guidance throughout: specific commands ("go mod tidy", "go test ./...", golangci-lint with the modernize linter), a worked `.modernize` file format example, and exact API mappings ("reflect.PtrTo → PointerTo", "math/rand → math/rand/v2"). Not 5 because before/after code examples for common cases are deferred to references/versions.md rather than shown inline; not 3 because what is inline is directly executable, not pseudocode.

4 / 5

Workflow Clarity

The 9-step workflow has a clear sequence with explicit validation checkpoints: run golangci-lint and go test (step 5), verify dependency compatibility with go mod tidy plus the test suite (step 8), handle stdversion hits by bumping or reverting, and a Go 1.27 risk checklist for the version bump. Not 5 because there is no explicit re-validate/fix loop after applying full-scan changes in the worktree (merge review is implied but not a feedback step); well above 3 since checkpoints are explicit, not implicit.

4 / 5

Progressive Disclosure

Both referenced files exist with matching content, are clearly signaled ("For detailed before/after examples... see [Go version modernizations](./references/versions.md)"), and are one level deep with well-kept overview material in the body. Not 5 because the deprecated-packages migration table and changelog link table overlap versions.md's territory and some pointers are repeated across sections, leaving minor organization gaps against the anchor-5 ideal.

4 / 5

Total

15

/

20

Passed

Description

82%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.

A strong description with explicit what/when structure, concrete trigger phrases, and an explicit exclusion clause that sharply reduces conflict risk with related skills. The main gap is specificity: it describes thematic areas (language features, stdlib, idioms) rather than listing the concrete modernization actions it performs.

DimensionReasoningScore

Specificity

"Modernize Golang code to use recent language features, standard library improvements, and idiomatic patterns" names the domain with a single action verb and three thematic areas rather than several concrete operations. Not 4 because it lacks an action list like "extracts text, fills forms, converts pages"; not 2 because the domain and action are concrete, not generic.

3 / 5

Completeness

Explicitly answers both: what ("Modernize Golang code to use recent language features, standard library improvements, and idiomatic patterns") and when ("Use when reviewing Go code with old-style patterns, when encountering a deprecation warning, or when the user asks for modernization, a Go version upgrade..., or a CI/tooling refresh"), with concrete trigger phrases and an explicit exclusion clause. Matches the anchor-5 example's structure.

5 / 5

Trigger Term Quality

Strong natural phrases users would say: "reviewing Go code with old-style patterns", "deprecation warning", "modernization", "Go version upgrade", "CI/tooling refresh". Not 5 because it misses common synonyms and file-extension triggers (e.g. ".go files", "Go migration", "update Go") present in the anchor-5 example.

4 / 5

Distinctiveness Conflict Risk

Clear niche (Go modernization) with distinct triggers, plus an explicit negative scope — "Not for structural refactors, extracting functions, or moving code between packages" with a redirect to a sibling refactoring skill. Minimal conflict risk, matching anchor 5.

5 / 5

Total

17

/

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.

Validation — 15 / 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

Path

skills/golang-modernize/SKILL.md

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.