CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/testcontainers

Brings up real backing services (databases, message brokers, browsers, anything dockerizable) as throwaway containers from inside a test process - Java, Node.js, Python, Go, .NET, Ruby and ten other languages - using the Testcontainers library family. Wires the per-test container lifecycle, exposed-port → host-port mapping, wait strategies (port / log / HTTP / SQL), Ryuk-based cleanup, container-to-container networks, and the (experimental) `withReuse` shortcut for local dev. Use when integration tests need a real Postgres / Redis / Kafka / Selenium / etc. and the team wants per-test isolation without hand-rolled docker-compose teardown.

93

Quality

93%

Does it follow best practices?

Impact

Average score across 10 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

82%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 dense, actionable skill body with executable examples across all supported languages and a well-sequenced multi-step workflow. It loses points only on mild verbosity and on keeping all detail inline rather than progressively disclosing it into reference files.

Suggestions

Trim the Overview's quoted definition and the repeated supported-languages list (already in the description) to tighten conciseness.

Move the per-language code examples and/or the wait-strategy catalog into separate reference files (e.g. references/languages.md, references/wait-strategies.md) referenced one level deep from SKILL.md to improve progressive disclosure.

Add an explicit validate->fix->retry loop for container startup failures (e.g. inspect logs, adjust wait strategy, re-run) to lift workflow clarity.

DimensionReasoningScore

Conciseness

Mostly lean code examples and tables, but the Overview quotes a definitional block and re-lists supported languages already named in the description, and several reference-link glosses repeat inline — minor padding that could be trimmed.

4 / 5

Actionability

Copy-paste-ready executable snippets for Java, Node.js, Python, Go, pytest, Vitest, networks, reuse, and a CI workflow YAML, plus exact install coordinates per language — fully covering the common cases.

5 / 5

Workflow Clarity

A clear six-step sequence (pick module -> author declaration -> wait strategy -> wire framework -> networks -> reuse) with wait strategies acting as readiness checkpoints and an anti-patterns table for error modes, but no explicit validate-fix-retry feedback loop.

4 / 5

Progressive Disclosure

Well-organized into clearly headed sections with a References block of external URLs, but everything lives in a single ~410-line SKILL.md with no bundle files; per-language examples and the wait-strategy catalog could be split into one-level-deep reference files.

4 / 5

Total

17

/

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.

A highly specific, third-person description that concretely enumerates capabilities, surfaces natural trigger terms, and explicitly pairs a 'what' with a 'when' clause. Distinctiveness is reinforced by an explicit pointer to the competing docker-compose-tests skill.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities — 'Wires the per-test container lifecycle, exposed-port -> host-port mapping, wait strategies (port / log / HTTP / SQL), Ryuk-based cleanup, container-to-container networks, and the (experimental) withReuse shortcut' — giving comprehensive coverage rather than vague abstraction.

5 / 5

Completeness

Explicitly answers both 'what' (brings up throwaway containers and wires lifecycle/port mapping/wait strategies/cleanup/networks/reuse) and 'when' via a concrete 'Use when integration tests need a real Postgres / Redis / Kafka / Selenium / etc.' trigger clause.

5 / 5

Trigger Term Quality

Surfaces the natural phrases users actually say — 'integration tests', 'real Postgres / Redis / Kafka / Selenium', 'per-test isolation', 'docker-compose teardown' — with service-name synonyms standing in for file extensions.

5 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (the Testcontainers library family for in-test Docker containers) and explicitly disambiguates from the adjacent docker-compose-tests skill, minimizing wrong-skill triggering.

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.

Reviewed

Table of Contents