CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/async-ordering-tests

Test async ordering - event-loop / queue / channel ordering assertions, JS Promise microtask vs macrotask ordering, Python `asyncio.gather` vs `asyncio.wait_for` semantics, Go goroutine + channel happens-before relationships, async/await re-entrancy. Use deterministic schedulers (sinon fake timers, asyncio test mode) to remove run-to-run variance. Use when a callback fires twice, a later response overwrites an earlier one, or a cancelled parent task leaves a child still running - bugs where completion order, not shared memory, is the defect.

87

1.00x
Quality

86%

Does it follow best practices?

Impact

94%

1.00x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

78%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, well-sequenced catalogue of executable async-ordering test patterns across JS, Python, and Go, with useful anti-patterns and limitations. Its main weakness is progressive disclosure: everything is inlined in one long SKILL.md with no bundled reference files to split the per-language recipes into.

Suggestions

Split the per-language recipes into bundled reference files (e.g. references/js-promise-ordering.md, references/python-asyncio.md, references/go-channels.md) and have SKILL.md point to them one level deep, rather than inlining all eight steps.

Add a short decision flow or 'which step applies' table at the top mapping bug symptoms (callback fires twice, response overwritten, leaked child task) to the relevant step, improving workflow clarity for diagnosis.

Trim concept re-explanation such as the microtask-drain paragraph in Step 1 down to the bug framing, since Claude already knows Promise microtask/macrotask semantics.

DimensionReasoningScore

Conciseness

Mostly efficient - each step pairs a tight executable example with a one-line rationale ('Real timers + sleep = flake. Fake timers = deterministic.'). A few lines re-explain concepts Claude already knows (e.g. microtask drain mechanics), which keeps it just below the lean/5 anchor.

4 / 5

Actionability

Fully executable, copy-paste-ready tests in JS/TS, Python, and Go with concrete assertions covering the common ordering cases (microtask vs macrotask, fake timers, Promise.all vs sequential, asyncio gather, re-entrancy, Go happens-before, backpressure, cancellation).

5 / 5

Workflow Clarity

Steps 1-8 are clearly numbered and sequenced by topic, with an anti-patterns table and limitations section. Not a 5 because this is a pattern catalogue rather than a destructive/batch workflow needing validation checkpoints, and there is no decision flow for choosing which step fits a given bug.

4 / 5

Progressive Disclosure

The body is a ~265-line single file with all eight per-language test recipes inlined and no bundle files in references/, scripts/, or assets/. Structure via section headers is good, but content that could live in per-language reference files is inlined and the References section points only to external spec URLs, not organized bundled material.

3 / 5

Total

16

/

20

Passed

Description

88%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, specific description that names concrete multi-language testing actions and provides explicit 'Use when...' trigger conditions grounded in real bug symptoms. Voice is correctly third person. Minor overlap risk with sister concurrency skills and jargon-heavy phrasing keep trigger-term and distinctiveness just below the top anchor.

DimensionReasoningScore

Specificity

Lists multiple concrete testing actions across languages - 'event-loop / queue / channel ordering assertions', 'JS Promise microtask vs macrotask ordering', 'asyncio.gather vs asyncio.wait_for semantics', 'Go goroutine + channel happens-before relationships', 'async/await re-entrancy' - giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both what ('Test async ordering - ...') and when ('Use when a callback fires twice, a later response overwrites an earlier one, or a cancelled parent task leaves a child still running') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural user-facing trigger phrases are present ('a callback fires twice', 'a later response overwrites an earlier one', 'cancelled parent task leaves a child still running') alongside technical terms, but a few natural synonyms a user might say are missing. Not a 5 because the phrasing is dominated by technical jargon rather than the full spread of natural synonyms.

4 / 5

Distinctiveness Conflict Risk

Clear niche (async ordering tests) with distinct completion-order triggers, but some overlap risk with the named sister concurrency skills (race-condition-test-author, deadlock-detection-harness) prevents a 5.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents