CtrlK
BlogDocsLog inGet started
Tessl Logo

golang-project-layout

Provides a guide for setting up Golang project layouts and workspaces. Use this whenever starting a new Go project, organizing an existing codebase, setting up a monorepo with multiple packages, creating CLI tools with multiple main packages, or deciding on directory structure. Apply this for any Go project initialization or restructuring work.

74

Quality

70%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/golang-project-layout/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

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

This is a solid skill description that clearly communicates when to use it with explicit trigger scenarios and natural keywords. Its main weakness is that the 'what' portion is somewhat vague ('provides a guide') rather than listing specific concrete actions the skill performs (e.g., 'generates directory structures, configures go.work files, sets up module paths'). Overall it would perform well in skill selection.

Suggestions

Replace 'Provides a guide for setting up' with more specific concrete actions, e.g., 'Generates directory structures, configures go.work workspaces, sets up module paths, and organizes package hierarchies for Golang projects.'

DimensionReasoningScore

Specificity

The description names the domain (Golang project layouts/workspaces) and mentions several actions like 'setting up,' 'organizing,' 'creating CLI tools,' but these are more about use cases than concrete actions the skill performs. It says 'provides a guide' which is somewhat vague about what it actually does.

2 / 3

Completeness

Clearly answers both 'what' (provides a guide for setting up Golang project layouts and workspaces) and 'when' (explicitly lists triggers: starting a new Go project, organizing existing codebase, setting up monorepo, creating CLI tools, deciding on directory structure, project initialization or restructuring).

3 / 3

Trigger Term Quality

Good coverage of natural terms users would say: 'Go project,' 'Golang,' 'monorepo,' 'multiple packages,' 'CLI tools,' 'directory structure,' 'project initialization,' 'restructuring.' These are terms a developer would naturally use when seeking help with Go project organization.

3 / 3

Distinctiveness Conflict Risk

The description is clearly scoped to Go/Golang project layout and workspace organization, which is a distinct niche. The specific mention of Go, monorepo, CLI tools with multiple main packages, and directory structure makes it unlikely to conflict with other skills.

3 / 3

Total

11

/

12

Passed

Implementation

50%

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

This skill provides a solid organizational framework for Go project setup with a useful project type table, naming conventions, and initialization checklist. Its main weaknesses are heavy delegation to external reference files (none of which were provided in the bundle), lack of executable code examples in the body itself, and missing validation checkpoints in the workflow. The content is reasonably concise but could be tighter by removing explanations of well-known concepts.

Suggestions

Add a concrete, executable example of a minimal main.go in cmd/ showing the 'parse flags, wire dependencies, call Run()' pattern rather than just describing it.

Add validation checkpoints to the initialization checklist (e.g., 'Run `go build ./...` to verify structure compiles', 'Run `go vet ./...` to catch issues early').

Include the bundle reference files (directory-layouts.md, config.md, etc.) or inline the most critical content so the skill is usable without external dependencies.

Remove the persona statement and trim the 12-Factor App explanation to just a link — Claude knows these concepts.

DimensionReasoningScore

Conciseness

Generally efficient but includes some unnecessary framing (e.g., the persona statement, explaining what 12-Factor App is). The table and checklist are well-structured, but some sections like 'Module Naming Conventions' explain things Claude already knows about Go conventions.

2 / 3

Actionability

The initialization checklist provides concrete commands (go mod init, gofmt), and the module naming section has good/bad examples. However, much of the actionable content is deferred to reference files (directory-layouts.md, config.md, testing-layout.md, workspaces.md) and other skills, and the main body lacks executable code beyond simple go.mod examples. The 'cmd/ main packages should parse flags, wire dependencies, call Run()' guidance is descriptive rather than showing a concrete example.

2 / 3

Workflow Clarity

The initialization checklist provides a clear sequence of steps, which is good. However, it lacks validation checkpoints — there's no 'verify your module initializes correctly' step, no 'go build to confirm structure works' checkpoint, and no error recovery guidance if steps fail. The 'Ask First' / 'Ask Next' flow is a nice decision sequence but remains high-level.

2 / 3

Progressive Disclosure

Good use of references to other skills and reference files (directory-layouts.md, config.md, testing-layout.md, workspaces.md, assets/Makefile, assets/.gitignore). However, no bundle files were provided, so we cannot verify these references actually exist. The Related Skills section at the bottom is well-organized, but some references are scattered throughout the body rather than consolidated, and the heavy reliance on external files means the skill itself may not be self-sufficient for basic use.

2 / 3

Total

8

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

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.