CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

gin-project-starter

Scaffold and develop production-ready REST APIs using the Gin web framework with GORM, Swagger, and idiomatic Go patterns.

Quality

69%

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 ./backend-go/gin-project-starter/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 highly actionable, code-complete skill that teaches project conventions through real implementations rather than prose, with only minor internal inconsistencies (mismatched Setup signature, ErrNotFound package mismatch, missing migrations directory). Its weaknesses are a thin validation/checkpoint story in the workflow and no use of bundle files to separate the detailed patterns from the overview.

Suggestions

Fix the internal inconsistencies: align router.Setup's signature between main.go and router.go, define ErrNotFound in one place (or re-export) so handler checks match, and either add a migrations directory to the scaffold or drop the migrate step from First Steps.

Add validation checkpoints and error-recovery guidance to the workflow, e.g., verify `swag init` output exists after generation, and what to check when the server fails to start (DB URL, port binding).

Move the detailed pattern implementations (auth middleware, repository, handler code) into references/ files, keeping SKILL.md as a concise overview with clearly signaled one-level-deep links.

DimensionReasoningScore

Conciseness

The body is dense with executable code and teaches no concepts Claude already knows; conventions are stated as terse rules rather than explanations. Not a 5 because prerequisites are duplicated between frontmatter and body, the description is repeated as a blockquote, and pinned versions (gin@v1.10.0, golang:1.22-alpine) add time-sensitive detail that could be trimmed.

4 / 5

Actionability

Scaffold commands, a complete layered reference implementation (main, router, handler, middleware, model, repository, config), and a command cookbook are all copy-paste ready. Not a 5 because of internal inconsistencies: main.go calls router.Setup(cfg) while router.go defines Setup(cfg, db); handlers check service.ErrNotFound while the error is defined in the repository package; and the first steps run `migrate -path migrations` though no migrations directory appears in the project structure.

4 / 5

Workflow Clarity

There is a coherent macro flow (prerequisites, scaffold command, project structure, conventions, then a numbered 'First Steps After Scaffold' ending in a `curl /healthz` check). Not a 4 because validation is thin: only one implicit checkpoint, no guidance for what to do when migration or startup fails, and Swagger doc generation is absent from the first-steps sequence despite being a core feature.

3 / 5

Progressive Disclosure

Section headers are clear and consistent (Prerequisites, Scaffold, Structure, Conventions, Patterns, First Steps, Commands, Integration Notes), so the document is navigable. Not a 4 because there is no progressive disclosure at all: roughly 400 lines of pattern code are inlined in SKILL.md with no references/ files splitting the detailed patterns from the overview.

3 / 5

Total

14

/

20

Passed

Description

61%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 is concise, in third person, and names a distinct technology niche (Gin + GORM + Swagger), giving it good trigger terms and distinctiveness. Its main weakness is the missing 'Use when...' trigger clause and limited enumeration of concrete capabilities beyond scaffolding and developing.

Suggestions

Add an explicit trigger clause, e.g., "Use when starting a new Go backend service, building REST APIs with Gin, or when the user mentions Gin, GORM, Swagger, or golang APIs."

Enumerate a few more concrete capabilities to lift specificity, e.g., "...including JWT auth middleware, GORM models and repositories, Swagger doc generation, and graceful shutdown."

Include natural synonyms such as "golang" and "backend API" to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

"Scaffold and develop production-ready REST APIs" names the domain and two concrete actions; the technology names (Gin, GORM, Swagger) add specificity but do not themselves describe additional actions. Not a 4 because it does not list several distinct actions (e.g., no mention of auth, middleware, migrations, or API documentation generation).

3 / 5

Completeness

The description clearly answers 'what' (scaffold and develop Gin-based REST APIs with GORM, Swagger, idiomatic Go) but has no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. Not a 4 because the 'when' is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

"Gin web framework", "REST APIs", "GORM", "Swagger", and "Go" are terms users would naturally say when needing this skill. Not a 5 because common synonyms and variations like "golang", "backend API", or "API endpoints" are missing; not a 3 because coverage of the core natural terms is strong, not partial.

4 / 5

Distinctiveness Conflict Risk

Naming the Gin framework with GORM and Swagger carves a clear niche with low conflict risk against non-Go skills. Not a 5 because "idiomatic Go patterns" and "production-ready REST APIs" are broad enough to overlap with general Go backend or other Go web-framework skills.

4 / 5

Total

14

/

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 (546 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

achreftlili/deep-dev-skills

Path

backend-go/gin-project-starter/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.