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-environments90
Quality
53%
Does it follow best practices?
Impact
94%
1.27xAverage 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.mdDocker Compose test infrastructure
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
Testcontainers programmatic setup
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
CI/CD pipeline test environment
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
Testcontainers message queue integration
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
Reproducible Docker Compose environment with non-standard service
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
Testcontainers multi-container lifecycle management
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
Environment variable isolation for test environments
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
Docker Compose service health checks and startup ordering
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
Testcontainers document database integration tests
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
Table of Contents
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.