CtrlK
BlogDocsLog inGet started
Tessl Logo

managing-test-environments

This skill enables Claude to manage isolated test environments using Docker Compose, Testcontainers, and environment variables. It is used to create consistent, reproducible testing environments for software projects. Claude should use this skill when the user needs to set up a test environment with specific configurations, manage Docker Compose files for test infrastructure, set up programmatic container management with Testcontainers, manage environment variables for tests, or ensure cleanup after tests. Trigger terms include "test environment", "docker compose", "testcontainers", "environment variables", "isolated environment", "env-setup", and "test setup".

Install with Tessl CLI

npx tessl i github:jeremylongshore/claude-code-plugins-plus-skills --skill managing-test-environments
What are skills?

90

1.27x

Quality

53%

Does it follow best practices?

Impact

94%

1.27x

Average score across 12 eval scenarios

Optimize this skill with Tessl

npx tessl skill review --optimize ./backups/skills-migration-20251108-070147/plugins/testing/test-environment-manager/skills/test-environment-manager/SKILL.md
SKILL.md
Review
Evals

Evaluation results

95%

-5%

Integration Test Infrastructure for a Node.js API

Docker Compose test infrastructure

Criteria
Without context
With context

docker-compose.yml filename

100%

100%

Multiple services defined

100%

100%

Database service present

100%

100%

Cache/queue service present

100%

100%

Environment variables for DB

100%

100%

Environment variables for cache

100%

100%

Isolation mechanism

100%

75%

Cleanup routine

100%

100%

Port conflict avoidance

100%

100%

Reproducibility aid

100%

75%

Setup documentation

100%

100%

Without context: $0.3906 · 1m 42s · 23 turns · 29 in / 5,321 out tokens

With context: $0.4419 · 1m 57s · 27 turns · 31 in / 5,143 out tokens

100%

47%

Integration Tests for a User Repository Layer

Testcontainers programmatic setup

Criteria
Without context
With context

Testcontainers import

0%

100%

Container started in test setup

28%

100%

Dynamic port binding

83%

100%

Environment variables set from container

28%

100%

Container stopped in teardown

57%

100%

No external Docker Compose dependency

100%

100%

At least one integration test

100%

100%

Dependency declaration

58%

100%

Without context: $2.1816 · 9m 1s · 73 turns · 80 in / 22,776 out tokens

With context: $0.9240 · 3m 53s · 47 turns · 356 in / 9,256 out tokens

91%

-2%

Automated Testing Pipeline for a Message-Driven Microservice

CI/CD pipeline test environment

Criteria
Without context
With context

CI config file present

100%

100%

docker-compose.yml used in CI

100%

100%

docker-compose.yml file created

100%

100%

RabbitMQ service defined

100%

100%

Environment variables configured

100%

100%

Env vars passed to test runner

100%

100%

Teardown/cleanup step

100%

100%

Isolation from other environments

70%

50%

Service health check or wait

100%

100%

No hardcoded credentials

50%

50%

Without context: $0.2734 · 1m 19s · 17 turns · 23 in / 3,889 out tokens

With context: $0.6249 · 2m 37s · 33 turns · 292 in / 8,565 out tokens

95%

3%

Notification Service: RabbitMQ Integration Tests

Testcontainers message queue integration

Criteria
Without context
With context

Testcontainers library used

100%

100%

RabbitMQ container started programmatically

100%

100%

Dynamic port retrieval

100%

100%

Env vars from container object

83%

100%

Container stopped in teardown

100%

100%

No external Docker Compose dependency

100%

100%

At least one integration test

100%

100%

Testcontainers dependency declared

100%

100%

Pinned image tag

50%

58%

Without context: $0.6473 · 3m 32s · 33 turns · 40 in / 7,192 out tokens

With context: $1.1219 · 5m 29s · 48 turns · 52 in / 13,827 out tokens

87%

2%

Search Service: Consistent Local Test Environment

Reproducible Docker Compose environment with non-standard service

Criteria
Without context
With context

docker-compose.yml present

100%

100%

Elasticsearch service defined

100%

100%

Pinned image version

100%

100%

Env vars configured

100%

100%

Environment isolation

41%

58%

Cleanup routine provided

100%

100%

Port conflict avoidance

0%

0%

Health check or readiness mechanism

100%

100%

Setup instructions provided

100%

100%

No hardcoded credentials

100%

100%

Without context: $0.6867 · 2m 57s · 34 turns · 39 in / 9,718 out tokens

With context: $0.6352 · 2m 40s · 36 turns · 292 in / 7,292 out tokens

97%

51%

Session Analytics: Multi-Service Integration Tests

Testcontainers multi-container lifecycle management

Criteria
Without context
With context

Testcontainers used for both services

0%

78%

Containers started in test setup

40%

100%

Dynamic ports retrieved for DB

50%

100%

Dynamic ports retrieved for cache

50%

100%

Env vars set from DB container

50%

100%

Env vars set from cache container

50%

100%

Both containers stopped in teardown

50%

100%

Integration test exercises both services

100%

100%

Testcontainers dependency declared

0%

100%

No Docker Compose reference

100%

100%

Without context: $1.6027 · 7m 20s · 67 turns · 67 in / 19,954 out tokens

With context: $1.6008 · 7m · 62 turns · 62 in / 21,299 out tokens

98%

-2%

Test Environment Configuration for User Service

Environment variable isolation for test environments

Criteria
Without context
With context

docker-compose.yml filename

100%

100%

Separate env config file

100%

100%

DB env vars in config file

100%

100%

Redis env vars in config file

100%

80%

No hardcoded credentials

100%

100%

Isolation mechanism

100%

100%

Cleanup routine

100%

100%

Setup documentation

100%

100%

Test-specific database name

100%

100%

Without context: $0.3121 · 1m 33s · 20 turns · 26 in / 3,862 out tokens

With context: $0.4047 · 1m 40s · 25 turns · 31 in / 4,330 out tokens

84%

Reliable Integration Test Environment for Order Processing Service

Docker Compose service health checks and startup ordering

Criteria
Without context
With context

docker-compose.yml present

100%

100%

PostgreSQL healthcheck defined

100%

100%

RabbitMQ healthcheck defined

100%

100%

depends_on with service_healthy

0%

0%

Environment variables configured

100%

100%

Isolation mechanism

100%

100%

Cleanup routine with volume removal

100%

100%

Pinned image versions

100%

100%

Setup instructions provided

100%

100%

Without context: $0.4306 · 1m 58s · 23 turns · 30 in / 5,916 out tokens

With context: $0.4798 · 2m 7s · 29 turns · 33 in / 6,119 out tokens

100%

85%

Integration Tests for Content Platform Document Storage Layer

Testcontainers document database integration tests

Criteria
Without context
With context

Testcontainers library used

0%

100%

MongoDB container started programmatically

0%

100%

Dynamic connection string from container

0%

100%

Env vars or client configured from container

0%

100%

Container stopped in teardown

0%

100%

No Docker Compose dependency

100%

100%

At least one integration test

50%

100%

Testcontainers dependency declared

0%

100%

Pinned MongoDB image version

0%

100%

Without context: $0.5799 · 2m 44s · 29 turns · 36 in / 7,936 out tokens

With context: $0.6934 · 2m 50s · 39 turns · 41 in / 8,093 out tokens

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

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.