CtrlK
BlogDocsLog inGet started
Tessl Logo

writing-specs

Author good Ginkgo specs — container nodes (Describe/Context/When), subject nodes (It/Specify), setup/cleanup nodes (BeforeEach, JustBeforeEach, AfterEach, DeferCleanup, BeforeSuite/AfterSuite), the "declare in container, initialize in BeforeEach" rule, separating creation from configuration, reusable test helpers with GinkgoHelper()/GinkgoHelperGo(), and By/GinkgoWriter output. Use when writing or reviewing specs or extracting a test helper. Covers the tree-construction-time pitfalls (no assertions/init/loop-capture in container bodies).

74

Quality

93%

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

90%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 high-quality reference skill: dense with Ginkgo-specific pitfalls Claude cannot be assumed to know, backed by executable Go examples including explicit anti-patterns, and it defers adjacent topics via clearly signaled pointers. The only structural gap is the absence of an explicit authoring workflow or validation checkpoint within the file itself.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence, focusing almost exclusively on Ginkgo-specific, non-obvious knowledge: 'Container bodies run once, at tree-construction time', 'DeferCleanup… runs in LIFO order', 'a Fail (or failed Gomega assertion) inside a helper reports the helper's own line'. It is not 4 because there is no padded explanation of concepts Claude already knows — every token earns its place.

5 / 5

Actionability

Every section carries executable, copy-paste-ready Go code: the full spec shape, the WRONG construction-time example, the JustBeforeEach creation/config split, the DeferCleanup env-restore snippet, and the GinkgoHelper/GinkgoHelperGo examples. It is not 4 because the examples cover the common cases completely, including the anti-pattern case.

5 / 5

Workflow Clarity

The guidance is clearly sequenced (spec shape → declare/initialize rule → setup ordering table → cleanup → output → failures → helpers → next steps) with an explicit outer→inner/inner→outer ordering table. It is not 5 because there is no explicit authoring sequence or in-file validation/feedback loop — verification is deferred to 'ginkgo:running'; it is not 3 because ordering and checkpoints are explicit and the core action is unambiguous.

4 / 5

Progressive Disclosure

No bundle files exist, and the body defers detail via clearly signaled one-level pointers ('ginkgo:overview', 'ginkgo:timeouts-and-async', 'ginkgo:decorators', 'ginkgo:tables-and-dynamic-specs') plus a docs URL, with well-organized sections. It is not 5 because some sections (e.g., the GinkgoHelperGo mechanics) carry detail that could live in a deferred reference, and the skill relies entirely on sibling-skill pointers rather than an in-bundle split.

4 / 5

Total

18

/

20

Passed

Description

92%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: it names the domain concretely, enumerates the specific capabilities (node types, helper functions, output mechanisms), and includes an explicit 'Use when…' trigger clause. The only gap is missing natural synonyms like 'tests' or 'test suite' that a user might say instead of 'specs'.

DimensionReasoningScore

Specificity

The description enumerates many concrete actions and named APIs — 'Author good Ginkgo specs', 'container nodes (Describe/Context/When)', 'setup/cleanup nodes (BeforeEach, JustBeforeEach, AfterEach, DeferCleanup, BeforeSuite/AfterSuite)', 'reusable test helpers with GinkgoHelper()/GinkgoHelperGo()' — giving comprehensive coverage in third-person voice. It is not 4 because coverage of the spec-authoring domain is thorough rather than having minor gaps.

5 / 5

Completeness

Both questions are explicitly answered: the 'what' ('Author good Ginkgo specs — container nodes… subject nodes… test helpers… By/GinkgoWriter output') and an explicit 'when' clause ('Use when writing or reviewing specs or extracting a test helper'). It is not 4 because the when-clause names concrete triggering activities rather than being only generally phrased.

5 / 5

Trigger Term Quality

Natural terms are present and repeated ('Ginkgo', 'specs', 'writing or reviewing specs', 'extracting a test helper'), giving good keyword coverage. It is not 5 because common synonyms a user would actually say — 'Ginkgo tests', 'Go tests', 'test suite' — are missing, though it is well above the 'some relevant keywords' of 3.

4 / 5

Distinctiveness Conflict Risk

'Ginkgo' is pinned in nearly every clause, carving a clear niche (Ginkgo spec authorship) that is distinct from generic Go testing or test-writing skills. Conflict risk with sibling skills in the same Ginkgo family is minimal since each has a distinct topic.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
onsi/ginkgo
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.