A skill for AI agents that facilitates creation, validation, and maintenance of Kubernetes integration tests using Testcontainers and Kind (Kubernetes in Docker).
Install skill from GitHub repository
npx skills add https://github.com/neurono-ml/kind-testcontainers-skillnpx skills add neurono-ml/kind-testcontainers-skillThis skill empowers AI agents to generate robust Kubernetes integration tests that are:
- Ephemeral - Clusters are created and destroyed automatically
- Isolated - Each test runs in its own environment
- Executable - Works both locally and in CI/CD
| Language | Status | Test Framework |
|---|---|---|
| Java | ✅ Complete | JUnit 5 |
| Rust | ✅ Complete | cargo test |
| Golang | ✅ Complete | go test |
| Python | ✅ Complete | pytest |
| TypeScript/JavaScript | ✅ Complete | Jest/Vitest |
| Scala | ✅ Complete | MUnit/ScalaTest |
| Ruby | ✅ Complete | RSpec |
kind-testcontainers-skill/
├── SKILL.md # Main skill instructions
├── README.md # This file
├── AGENTS.md # Template for target projects
├── src/
│ ├── java/ # Java examples and templates
│ ├── rust/ # Rust examples and templates
│ ├── golang/ # Go examples and templates
│ ├── python/ # Python examples and templates
│ ├── typescript/ # TypeScript examples and templates
│ ├── scala/ # Scala examples and templates
│ └── ruby/ # Ruby examples and templates
├── ci/
│ └── templates/ # CI/CD templates
│ ├── github-actions.yml
│ ├── gitlab-ci.yml
│ └── jenkins.groovy
├── specs/
│ ├── validation.md # Validation criteria
│ └── acceptance.md # Acceptance criteria
└── scripts/
├── cleanup-testcontainers.sh
└── debug-kind.sh
- Read the
SKILL.mdfile for complete instructions - Check examples in
src/<language>/for implementation patterns - Use templates in
ci/templates/to configure pipelines - Validate against criteria in
specs/
# Clone the skill
git clone https://github.com/your-username/kind-testcontainers-skill.git
# Run the cleanup script (useful during development)
./scripts/cleanup-testcontainers.sh
# Check active containers
docker ps --filter "label=org.testcontainers=true"- Docker 20.10+ installed and running
- Minimum 4GB RAM available
- Access to Docker socket
Ensures automatic container cleanup even in case of failures.
Port 6443 is dynamically mapped - no hardcoded ports.
Use wait conditions instead of fixed sleep for more reliable tests.
Automatic log and event collection in case of failure.
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/new-language) - Commit your changes (
git commit -am 'Add support for NewLanguage') - Push to the branch (
git push origin feature/new-language) - Open a Pull Request
MIT License - see LICENSE for details.