CtrlK
BlogDocsLog inGet started
Tessl Logo

timeouts-and-async

Make Ginkgo specs interruptible and test asynchronous behavior — SpecContext/context.Context cancellable nodes, NodeTimeout/SpecTimeout/GracePeriod, the --timeout flag, Abort and SIGINT behavior, Gomega Eventually/Consistently (the func(g Gomega) form, .WithContext), and the defer GinkgoRecover() rule for goroutines. Use when a spec hangs or times out, polls for eventual consistency, tests channels/streams/processes, launches goroutines, or needs a deadline.

76

Quality

95%

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.

The body is a dense, high-signal reference: executable examples, explicit gotchas, and clearly signaled cross-links to sibling skills. Its only soft spots are that it is a patterns reference (no linear validate/retry workflow to score a 5 on workflow_clarity) and a single self-contained file rather than a multi-file bundle.

Suggestions

workflow_clarity: if a canonical 'diagnose a hanging spec' runbook (reproduce → SIGINFO progress report → inspect JSON report → fix) were sequenced as a numbered checklist with a retry loop, it would push workflow_clarity to 5.

progressive_disclosure: the 'See also' pointers use bare skill names (ginkgo:decorators); formatting them as explicit links (e.g., See [ginkgo:decorators](...)) would make the one-level references marginally clearer.

Consider a one-line 'prerequisites/assumptions' note stating it assumes a working Ginkgo/Gomega setup, so readers know what competence is assumed before relying on the gotchas.

DimensionReasoningScore

Conciseness

Lean and efficient: it assumes Go/Ginkgo competence (no 'what is a goroutine' padding) and every line is a non-obvious gotcha such as 'ctx.Deadline() does NOT report the node's deadline' and 'a leaked goroutine ... can pollute a later spec.'

5 / 5

Actionability

Multiple complete, executable Go examples (interruptible node, Eventually with .WithContext, func(g Gomega) form, goroutine rules) plus specific commands like 'ginkgo --timeout=DURATION' and 'Abort("reason")' cover the common cases copy-paste ready.

5 / 5

Workflow Clarity

Patterns are clearly sequenced with explicit checkpoints where relevant (the 1st/2nd/3rd SIGINT escalation ladder, the numbered 'two rules that bite'), but it is a reference of patterns rather than a linear pipeline, so it lacks the explicit validate→fix→retry feedback loops the top anchor calls for.

4 / 5

Progressive Disclosure

Well-organized into clearly signaled sections with one-level-deep sibling-skill pointers ('full reference → ginkgo:decorators', a 'See also' block) and easy navigation; it is a single self-contained file rather than a multi-file bundle split, so it stops just short of the top anchor.

4 / 5

Total

18

/

20

Passed

Description

100%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 exemplary: it concisely lists concrete capabilities and pairs them with an explicit, natural-language 'Use when' trigger clause covering hangs, polling, channels/streams/processes, goroutines, and deadlines. It uses base-form imperative voice consistent with the reference good examples, with no fluff or over-claims.

DimensionReasoningScore

Specificity

Enumerates many concrete capabilities — 'SpecContext/context.Context cancellable nodes, NodeTimeout/SpecTimeout/GracePeriod, the --timeout flag, Abort and SIGINT behavior, Gomega Eventually/Consistently ... and the defer GinkgoRecover() rule' — giving comprehensive coverage of the skill's actions.

5 / 5

Completeness

Explicitly answers both 'what' (the full capability enumeration) and 'when' via a concrete 'Use when ...' clause, matching the top anchor exactly.

5 / 5

Trigger Term Quality

Natural trigger phrases a developer would actually say — 'a spec hangs or times out, polls for eventual consistency, tests channels/streams/processes, launches goroutines, or needs a deadline' — with synonyms (hangs/times out/deadline).

5 / 5

Distinctiveness Conflict Risk

A clear Ginkgo/Gomega async-testing and timeout niche with distinct, domain-specific triggers; it would only fire when working with Ginkgo specs, so conflict risk is minimal.

5 / 5

Total

20

/

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.

Validation16 / 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.