CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-patterns

用于构建健壮、高效且可维护的Go应用程序的惯用Go模式、最佳实践和约定。

52

Quality

60%

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 ./docs/zh-CN/skills/golang-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is a well-organized, highly actionable catalog of idiomatic Go patterns with complete code examples and tooling configuration. Its main weaknesses are length: it re-explains standard-library knowledge Claude already has, repeats patterns across sections, and keeps everything in one monolithic file instead of using progressive disclosure via reference files.

Suggestions

Move the .golangci.yml configuration, the anti-patterns catalog, and/or the concurrency patterns into references/*.md files, leaving a lean overview with clearly signaled one-level-deep links.

Delete sections that re-define stdlib interfaces (Reader/Writer/Closer) and other knowledge Claude already has; keep only project-specific conventions and non-obvious guidance.

De-duplicate content: the '核心原则' examples overlap with the error-handling section, and NewServer is defined twice with different signatures — consolidate each pattern into one place.

DimensionReasoningScore

Conciseness

Prose is minimal and code-dominated, but the document spends many lines restating knowledge Claude already has — e.g. redefining stdlib interfaces ('type Reader interface { Read... }', 'type Writer interface', 'type Closer interface') and standard idioms (strings.Builder, sync.Pool, gofmt) — and duplicates content (the '核心原则' sections repeat patterns shown later, and NewServer appears twice with different bodies). It fits anchor 3 (mostly efficient but could be tightened); it is above anchor 2 because there is no padded tutorial prose, and below anchor 4 because the stdlib re-definitions and repeated sections are clear trim candidates.

3 / 5

Actionability

Nearly every section delivers complete, copy-paste-ready code (WorkerPool, FetchWithTimeout, GracefulShutdown, functional options, sync.Pool, strings.Join) plus concrete commands ('go vet ./...', 'go test -race ./...') and a full .golangci.yml. This matches anchor 5 (fully executable, covering common cases); only a few deliberately illustrative 'Bad' fragments contain '// ...', which keeps it out of neither anchor 5 nor above 4.

5 / 5

Workflow Clarity

As a reference/pattern catalog there is no multi-step process to sequence, but navigation is clear: a '何时激活' trigger section, topic-grouped sections (errors, concurrency, interfaces, packages, performance, tooling), a quick-reference table, and an anti-patterns section. It fits anchor 4 (clear organization with minor gaps); it is below anchor 5 because no guidance sequences how to apply the patterns during a write/review task (e.g. a review checklist order), and above anchor 3 because nothing here involves destructive or batch operations requiring validation checkpoints.

4 / 5

Progressive Disclosure

There are no references/, scripts/, or assets/ directories — everything, including the 60-line golangci-lint configuration and the anti-patterns catalog, is inlined in one ~675-line SKILL.md. Structure within the file is good, matching anchor 3 (some structure, content that should be separate is inline); it is above anchor 2 because section headers and a quick-reference table make it navigable, and below anchor 4 because clearly separable material (linter config, concurrency patterns, anti-patterns) was not split into one-level-deep reference files.

3 / 5

Total

15

/

20

Passed

Description

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

The description clearly identifies the Go domain but reads as a topic label rather than a capability statement: it lists no concrete actions and completely lacks a 'Use when...' trigger clause, capping completeness at 3. It also misses natural trigger synonyms such as 'golang'.

Suggestions

Add an explicit trigger clause, e.g. 'Use when writing, reviewing, refactoring, or designing Go code, or when the user mentions Go/golang, goroutines, or error handling.'

Replace the generic 'patterns, best practices, conventions' phrasing with 2-3 concrete capabilities, e.g. 'provides idiomatic error-wrapping, concurrency (worker pools, errgroup), and interface-design patterns plus golangci-lint configuration.'

Include the common synonym 'golang' and natural user phrasings ('.go files', 'Go code review') so the skill triggers on how users actually ask.

DimensionReasoningScore

Specificity

The description names the domain ("Go应用程序") but the actions are purely generic — "惯用Go模式、最佳实践和约定" (idiomatic patterns, best practices, conventions) names topic categories, not concrete actions like 'review Go code', 'wrap errors', or 'configure golangci-lint'. It fits anchor 2 ('names the domain but actions are minimal or generic') better than anchor 3, which requires 1-2 concrete actions, and there are none.

2 / 5

Completeness

The 'what' is stated (idiomatic patterns/best practices/conventions for Go apps) but there is no 'Use when...' clause or any equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not anchor 4 because 'when' is entirely absent rather than merely imprecise, and not anchor 2 because the 'what' is clear and domain-specific.

3 / 5

Trigger Term Quality

Relevant keywords exist ("Go", "Go应用程序", "健壮、高效、可维护") but common variations users naturally say are missing — no "golang", no concrete topic triggers like "goroutine", "error handling", "code review", or ".go files". This matches anchor 3 (some relevant keywords but missing common variations or synonyms); it is above anchor 2 because 'Go' is a strong domain term, and below anchor 4 because 'golang' and other natural phrasings are absent.

3 / 5

Distinctiveness Conflict Risk

The Go-specific domain gives it a clear niche with minimal conflict risk against non-Go skills. It is below anchor 5 only because the absence of explicit trigger phrases leaves some overlap risk with closely related generic skills (e.g., a general code-review or best-practices skill); it is above anchor 3 because 'Go应用程序' is far more specific than 'document files'.

4 / 5

Total

12

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (676 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository
affaan-m/ECC
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.