Official agent skill

Testcontainers Guide Migrator

by docker in docker/docs

Migrate a Testcontainers guide from testcontainers.com into the Docker docs site (docs.docker.com).

OfficialApache-2.0Auto-check passedTesting & QA

Install Testcontainers Guide Migrator

skills CLI
$ npx skills add docker/docs --skill testcontainers-guide-migrator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install docker/docs testcontainers-guide-migrator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/docker/docs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/testcontainers-guides-migrator .claude/skills/testcontainers-guide-migrator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
testcontainers-guide-migrator
GitHub stars
4.7k
Token cost
~5k tokens
SKILL.md length
1,844 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
Apache-2.0

At a glance

Migrate a Testcontainers guide from testcontainers.com into the Docker docs site (docs.docker.com).

  • Works in 10 steps: Pre-flight → Clone the guide repo → Convert AsciiDoc to Markdown → …
  • Asked to migrate a testcontainers guide
  • SKILL.md covers Inputs, Guide inventory, Step 0: Pre-flight and Step 1: Clone the guide repo, plus 10 more sections
  • Calls docker, sh and npx; reaches github.com and testcontainers.com

What it does

Testcontainers Guide Migrator is an agent skill from docker/docs, published by the product's own GitHub organization. Migrate a Testcontainers guide from testcontainers.com into the Docker docs site (docs.docker.com). Converts AsciiDoc to Hugo Markdown, updates code to the latest Testcontainers API, splits into chapters with stepper navigation, verifies code compiles and tests pass, and validates against Docker docs style rules. Use when asked to migrate a testcontainers guide, add a TC guide, or port content from testcontainers.com to Docker docs.

Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering Integration testing, Static sites and blogs and Containers. It works with Docker, Java, Spring Boot and ASP.NET Core. The repository describes itself as: Source repo for Docker's Documentation. The licence is Apache-2.0.

When your agent uses it

  • Asked to migrate a testcontainers guide
  • Port content from testcontainers.com to Docker docs

Example prompts

  • “/testcontainers-guide-migrator”

Requirements

  • Python 3
  • Node.js
  • Docker

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Pre-flight
  2. Clone the guide repo
  3. Convert AsciiDoc to Markdown
  4. Apply Docker docs style rules
  5. Update code to latest Testcontainers API
  6. Create guide directory structure
  7. Verify code compiles and tests pass
  8. Update cross-references
  9. Validate
  10. Commit

What it can do on your machine

Read from SKILL.md and the folder at commit 7ba25ee. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • docker
    • sh
    • npx
    • git
    • mvn
    • go
    • python
    • dotnet
    • npm
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • testcontainers.com

    Also links to:

    • java.testcontainers.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Testcontainers Guide Migrator loads about 5k tokens when it runs. Until then it costs about 117 tokens; SKILL.md has 1,844 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~117
When it runs · the whole SKILL.md, loaded when a task matches
~5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from docker/docs at commit 7ba25ee, republished under its Apache-2.0 licence (© docker). 1,844 words, ~5,004 tokens.

Download SKILL.mdSave it as .claude/skills/testcontainers-guide-migrator/SKILL.md (or your agent's skills folder).
name
testcontainers-guide-migrator
description
Migrate a Testcontainers guide from testcontainers.com into the Docker docs site (docs.docker.com). Converts AsciiDoc to Hugo Markdown, updates code to the latest Testcontainers API, splits into chapters with stepper navigation, verifies code compiles and tests pass, and validates against Docker docs style rules. Use when asked to migrate a testcontainers guide, add a TC guide, or port content from testcontainers.com to Docker docs.

Migrate a Testcontainers Guide

You are migrating guides from https://testcontainers.com/guides/ into the Docker docs Hugo site. Each guide lives in its own GitHub repo under testcontainers/tc-guide-*, written in AsciiDoc. The source repos are listed in the testcontainers-site build.sh: https://github.com/testcontainers/testcontainers-site/blob/main/build.sh#L23-L45

Inputs

The user provides one or more guides to migrate. Resolve these from the inventory below:

  • REPO_NAME: GitHub repo (e.g. tc-guide-getting-started-with-testcontainers-for-java)
  • SLUG: guide slug inside guide/ dir (e.g. getting-started-with-testcontainers-for-java)
  • LANG: language identifier (go, java, dotnet, nodejs, python)
  • GUIDE_ID: short kebab-case name (e.g. getting-started)

Guide inventory

These are the 21 guides from testcontainers.com/guides/ and their source repos:

#TitleRepoLangGUIDE_ID
1Introduction to Testcontainerstc-guide-introducing-testcontainers(none)introducing
2Getting started for Javatc-guide-getting-started-with-testcontainers-for-javajavagetting-started
3Testing Spring Boot REST APItc-guide-testing-spring-boot-rest-apijavaspring-boot-rest-api
4Testcontainers lifecycle (JUnit 5)tc-guide-testcontainers-lifecyclejavalifecycle
5Configuration of services in containertc-guide-configuration-of-services-running-in-containerjavaservice-configuration
6Replace H2 with real databasetc-guide-replace-h2-with-real-database-for-testingjavareplace-h2
7Testing ASP.NET Core web apptc-guide-testing-aspnet-coredotnetaspnet-core
8Testing Spring Boot Kafka Listenertc-guide-testing-spring-boot-kafka-listenerjavaspring-boot-kafka
9REST API integrations with MockServertc-guide-testing-rest-api-integrations-using-mockserverjavamockserver
10Getting started for .NETtc-guide-getting-started-with-testcontainers-for-dotnetdotnetgetting-started
11AWS integrations with LocalStacktc-guide-testing-aws-service-integrations-using-localstackjavaaws-localstack
12Testcontainers in Quarkus appstc-guide-testcontainers-in-quarkus-applicationsjavaquarkus
13Getting started for Gotc-guide-getting-started-with-testcontainers-for-gogogetting-started
14jOOQ and Flyway with Testcontainerstc-guide-working-with-jooq-flyway-using-testcontainersjavajooq-flyway
15Getting started for Node.jstc-guide-getting-started-with-testcontainers-for-nodejsnodejsgetting-started
16REST API integrations with WireMocktc-guide-testing-rest-api-integrations-using-wiremockjavawiremock
17Local dev with Testcontainers Desktoptc-guide-simple-local-development-with-testcontainers-desktopjavalocal-dev-desktop
18Micronaut REST API with WireMocktc-guide-testing-rest-api-integrations-in-micronaut-apps-using-wiremockjavamicronaut-wiremock
19Micronaut Kafka Listenertc-guide-testing-micronaut-kafka-listenerjavamicronaut-kafka
20Getting started for Pythontc-guide-getting-started-with-testcontainers-for-pythonpythongetting-started
21Keycloak with Spring Boottc-guide-securing-spring-boot-microservice-using-keycloak-and-testcontainersjavakeycloak-spring-boot

Already migrated: #2 (Java getting-started), #13 (Go getting-started), #20 (Python getting-started)

Step 0: Pre-flight

  1. Confirm testing-with-docker tag exists in data/tags.yaml. If not, add:
    yaml
    testing-with-docker:
      title: Testing with Docker
  2. Check if new terms need adding to _vale/config/vocabularies/Docker/accept.txt.
  3. Read STYLE.md and COMPONENTS.md to refresh on Docker docs conventions.

Step 1: Clone the guide repo

Clone the guide repo to a temporary directory. This gives you all source files locally — no HTTP calls needed.

bash
git clone --depth 1 https://github.com/testcontainers/{REPO_NAME}.git <tmpdir>/{REPO_NAME}

Where <tmpdir> is a temporary directory on your system (e.g. the output of mktemp -d).

The repo structure is:

  • <tmpdir>/{REPO_NAME}/guide/{SLUG}/index.adoc — the AsciiDoc guide source
  • <tmpdir>/{REPO_NAME}/src/ — application source code (referenced by include:: directives)
  • <tmpdir>/{REPO_NAME}/testdata/ — test data files (SQL scripts, configs, etc.)
  • <tmpdir>/{REPO_NAME}/pom.xml or go.mod — build config
  1. Read guide/{SLUG}/index.adoc to get the guide content.
  2. Find all include::{codebase}/path/to/file[] directives. The {codebase} attribute points to a remote URL, but since you have the repo cloned, read the files directly from disk instead (e.g. include::{codebase}/src/main/java/Foo.java[] → read <tmpdir>/{REPO_NAME}/src/main/java/Foo.java).
  3. If includes have [lines="X..Y"], extract only those lines from the local file.
  4. Note the [source,lang] block preceding each include — that determines the code fence language.

This cloned repo also serves as the base for Step 6 (code verification) — you can run the tests directly in it to confirm they pass before updating the code to the latest API.

Step 2: Convert AsciiDoc to Markdown

AsciiDocMarkdown
== Heading## Heading
=== Heading### Heading
*bold* (AsciiDoc bold)**bold**
https://url[Link text][Link text](url)
[source,lang]\n----\ncode\n----```lang\ncode\n```
[source,shell] with $ prompts```console
[NOTE]\ntext or ====\n[NOTE]\n...\n====> [!NOTE]\n> text
[TIP]\ntext> [!TIP]\n> text
:toc:, :toclevels:, :codebase:Remove entirely
include::{codebase}/path[]Replace with fetched code in a code fence
YAML front matter (date, draft, repo)Remove; transform to Docker docs format

Step 3: Apply Docker docs style rules

These are mandatory (from STYLE.md and AGENTS.md):

  • No "we": "We are going to create" → "Create" or "Start by creating"
  • No "let us" / "let's": → imperative voice or "You can..."
  • No hedge words: remove "simply", "easily", "just", "seamlessly"
  • No meta-commentary: remove "it's worth noting", "it's important to understand"
  • No "allows you to" / "enables you to": → "lets you" or rephrase
  • No "click": → "select"
  • No bold for emphasis or product names: only bold UI elements
  • No time-relative language: remove "currently", "new", "recently", "now"
  • No exclamations: remove "Voila!!!" etc.
  • Use console language hint for interactive shell blocks with $ prompts
  • Use contractions: "it's", "you're", "don't"

Step 4: Update code to latest Testcontainers API

Research the latest API version for the target language before writing code.

Best practices reference: The Testcontainers team maintains Claude skills with up-to-date API patterns and best practices for each language at https://github.com/testcontainers/claude-skills/ — check the relevant language skill (testcontainers-go, testcontainers-node, testcontainers-dotnet) for current API signatures, cleanup patterns, wait strategies, and anti-patterns to avoid.

For each language, check the cloned repo's existing code, then update to the latest API. Key patterns per language:

Go (testcontainers-go v0.41.0):

  • postgres.RunContainer(ctx, opts...) → postgres.Run(ctx, "image", opts...)
  • testcontainers.WithImage(...) → image is now the 2nd positional param to Run()
  • Manual WithWaitStrategy(wait.ForLog(...)) → postgres.BasicWaitStrategies()
  • t.Cleanup(func() { ctr.Terminate(ctx) }) → testcontainers.CleanupContainer(t, ctr)
  • if err != nil { log.Fatal(err) } → require.NoError(t, err) (use testify require/assert)
  • Helper functions should accept t *testing.T as first param, call t.Helper()
  • No TearDownSuite() needed if CleanupContainer is registered in the helper
  • Go version prerequisite: 1.25+

Java (testcontainers-java 2.0.4):

  • Artifacts renamed in 2.x: org.testcontainers:postgresql → org.testcontainers:testcontainers-postgresql
  • Check the latest version at https://java.testcontainers.org/
  • Use @Testcontainers and @Container annotations for JUnit 5 lifecycle
  • Prefer module-specific containers (e.g. PostgreSQLContainer) over GenericContainer
  • Use @DynamicPropertySource for Spring Boot integration

.NET (testcontainers-dotnet):

  • Check the latest NuGet package version
  • Use IAsyncLifetime for container lifecycle in xUnit
  • Use builder pattern: new PostgreSqlBuilder().Build()

Node.js (testcontainers-node):

  • Check the latest npm version
  • Use module-specific packages (e.g. @testcontainers/postgresql)
  • Use GenericContainer for services without a dedicated module

Python (testcontainers-python):

  • Check the latest PyPI version
  • Use context managers (with PostgresContainer() as postgres:)
  • Use module-specific containers when available

For all languages: consult the corresponding Testcontainers skill at https://github.com/testcontainers/claude-skills/ for current best practices and anti-patterns.

Step 5: Create guide directory structure

Directory: content/guides/testcontainers-{LANG}-{GUIDE_ID}/

Each guide is its own top-level entry under /guides/. Do NOT nest guides inside a shared parent section — otherwise they won't appear individually in the tag/language filters on the guides listing page.

_index.md (landing page)
yaml
---
title: {Full guide title}
linkTitle: {Short title for guides listing}
description: {One-line description}
keywords: testcontainers, {lang}, testing, {technologies used}
summary: |
  {2-3 line summary for the guides listing card}
toc_min: 1
toc_max: 2
tags: [testing-with-docker]
languages: [{lang}]
params:
  time: {estimated} minutes
---

<!-- Source: https://github.com/testcontainers/{REPO_NAME} -->

Content: what you'll learn (bulleted list), prerequisites, and a NOTE linking to https://testcontainers.com/getting-started/ for newcomers.

Sub-pages (chapters)

Split the guide into logical chapters. Each sub-page:

yaml
---
title: {Chapter title}
linkTitle: {Short title for stepper}
description: {One-line description}
weight: {10, 20, 30, ...}
---

No tags, languages, or params on sub-pages — only on _index.md.

Typical chapter breakdown:

WeightFileContent
10create-project.mdProject setup, dependencies, business logic
20write-tests.mdFirst test using testcontainers
30test-suites.mdReusing containers, test helpers, suites
40run-tests.mdRunning tests, summary, further reading

Adapt the split to the guide's content — some guides may need fewer or more chapters.

Step 6: Verify code compiles and tests pass

This is CRITICAL. The code in the guide MUST compile and all tests MUST pass. Do not skip this step.

6a: Use the cloned repo as the verification project

The repo you cloned in Step 1 (<tmpdir>/{REPO_NAME}) already contains a working project with all source files, build config, and tests. Use it as the starting point:

bash
cd <tmpdir>/{REPO_NAME}

First, verify the original code compiles and tests pass before you change anything. This confirms a good baseline.

Show full SKILL.md (748 more words)Show less
6b: Update the code in the cloned repo

After confirming the original works, apply the API updates (from Step 4) directly in the cloned repo's source files. This is the same code you're putting in the guide — keep them in sync.

6c: Update dependencies and compile

Run compilation inside a container for reproducibility — no need to install the language toolchain on the host. Use the appropriate language Docker image, mounting the cloned repo:

bash
docker run --rm -v "<tmpdir>/{REPO_NAME}":/app -w /app <language-image> sh -c "<compile command>"

Pick the right image for the language (e.g. golang:1.25-alpine, maven:3-eclipse-temurin-21, gradle:jdk21, mcr.microsoft.com/dotnet/sdk:9.0, node:22-alpine, python:3.13-alpine). Update dependencies to the latest Testcontainers version and compile.

If compilation fails, fix the code and update the guide markdown to match.

6d: Run tests in a container with Docker socket mounted

Run tests in the same kind of container, but mount the Docker socket so Testcontainers can create sibling containers.

macOS Docker Desktop workarounds

When running on macOS with Docker Desktop, these environment variables and flags are required:

  • TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal — On macOS, containers can't reach sibling containers via the Docker bridge IP (172.17.0.x). This tells Testcontainers (including Ryuk) to connect via host.docker.internal instead. Do NOT disable Ryuk — it is a core Testcontainers feature and the guides must demonstrate proper usage.
  • docker-java.properties with api.version=1.47 — Docker Desktop's minimum API version is 1.44, but docker-java defaults to 1.24. Create this file in the project root and mount it to /root/.docker-java.properties inside Java containers.
  • -Dspotless.check.skip=true — The Spotless Maven plugin in the source repos is incompatible with JDK 21. Skip it since it's a code formatter, not part of the test.
  • -Dmicronaut.test.resources.enabled=false — Micronaut's Test Resources service starts a separate process that can't connect to Docker from inside a container. The guide tests use Testcontainers directly, not Test Resources. Only needed for Micronaut guides.
Java guide test command
bash
# Create docker-java.properties in the project root
echo "api.version=1.47" > <tmpdir>/{REPO_NAME}/docker-java.properties

docker run --rm \
  -v "<tmpdir>/{REPO_NAME}":/app \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "<tmpdir>/{REPO_NAME}/docker-java.properties":/root/.docker-java.properties \
  -e DOCKER_HOST=unix:///var/run/docker.sock \
  -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal \
  -w /app \
  maven:3.9-eclipse-temurin-21 \
  mvn -B test -Dspotless.check.skip=true -Dspotless.apply.skip=true

For Quarkus guides, use maven:3.9-eclipse-temurin-17 instead (Quarkus 3.22.3 compiles for Java 17).

Go guide test command
bash
docker run --rm \
  -v "<tmpdir>/{REPO_NAME}":/app \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DOCKER_HOST=unix:///var/run/docker.sock \
  -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal \
  -w /app \
  golang:1.25-alpine \
  sh -c "apk add --no-cache gcc musl-dev && go test -v -count=1 ./..."
Python guide test command
bash
docker run --rm \
  -v "<tmpdir>/{REPO_NAME}":/app \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DOCKER_HOST=unix:///var/run/docker.sock \
  -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal \
  -w /app \
  python:3.13-slim \
  sh -c "pip install -r requirements.txt && python -m pytest"
.NET guide test command
bash
docker run --rm \
  -v "<tmpdir>/{REPO_NAME}":/app \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DOCKER_HOST=unix:///var/run/docker.sock \
  -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal \
  -w /app \
  mcr.microsoft.com/dotnet/sdk:9.0 \
  dotnet test
Node.js guide test command
bash
docker run --rm \
  -v "<tmpdir>/{REPO_NAME}":/app \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DOCKER_HOST=unix:///var/run/docker.sock \
  -e TESTCONTAINERS_HOST_OVERRIDE=host.docker.internal \
  -w /app \
  node:22-alpine \
  sh -c "npm install && npm test"
Important: run tests sequentially

Run guide tests one at a time. Running multiple concurrent DinD or sibling-container tests can overwhelm Docker Desktop's containerd store and cause meta.db: input/output error corruption, requiring a Docker Desktop restart.

6e: Fix until green

If any test fails, debug and fix the code in both the temporary project AND the guide markdown. Re-run until all tests pass. Do not proceed until verified.

Step 7: Update cross-references

  1. content/manuals/testcontainers.md: Add a bullet under the ## Guides section:
    markdown
    - [Guide title](/guides/testcontainers-{LANG}-{GUIDE_ID}/)
  2. Do NOT update content/guides/testcontainers-cloud/_index.md — keep its external links.
  3. Link to https://testcontainers.com/getting-started/ for the Testcontainers overview.
  4. Use internal paths for already-migrated guides; keep testcontainers.com links for unmigrated ones.

Step 8: Validate

IMPORTANT: Run ALL validation locally before committing. Vale checks run on CI and will block the PR if they fail — fixing after push wastes CI cycles and review time.

  1. npx --no-install rumdl fmt content/guides/testcontainers-{LANG}-{GUIDE_ID}/

  2. npx --no-install rumdl fmt content/manuals/testcontainers.md

  3. docker buildx bake lint — must pass with no errors

  4. docker buildx bake vale — then check for errors in the new files:

    bash
    grep -A2 "testcontainers-{LANG}-{GUIDE_ID}" tmp/vale.out

    Fix ALL errors before proceeding. Common issues:

    • Vale.Spelling: tech terms (library names, tools) not in the dictionary → add to _vale/config/vocabularies/Docker/accept.txt (alphabetical order)
    • Vale.Terms: wrong casing (e.g. "python" → "Python") → fix in the markdown. Watch for package names like testcontainers-python triggering false positives — rephrase to "Testcontainers for Python" in prose.
    • Docker.Avoid: hedge words like "very", "simply" → reword
    • Docker.We: first-person plural → rewrite to "you" or imperative
    • Info-level suggestions (e.g. "VS Code" → "versus") are not blocking but review them

    Re-run docker buildx bake vale after fixes until no errors remain in the new files.

  5. Verify in local dev server (HUGO_PORT=1314 docker compose watch):

    • Guide appears when filtering by its language
    • Guide appears when filtering by Testing with Docker tag
    • Stepper navigation works across chapters
    • All links resolve (no 404s)
  6. Verify all external URLs return 200:

    bash
    curl -s -o /dev/null -w "%{http_code}" -L "{url}"

Step 9: Commit

One commit per guide. Message format:

feat(guides): add testcontainers {lang} {guide-id} guide

Migrated from https://github.com/testcontainers/{REPO_NAME}
Updated to testcontainers-{lang} v{version} API.

Special cases

  • introducing-testcontainers: Language-agnostic, conceptual. May overlap with content/manuals/testcontainers.md. Review for deduplication before migrating.
  • local-dev-testcontainers-desktop: About Testcontainers Desktop (now part of Docker Desktop). May need significant rewriting rather than mechanical migration.
  • Java guides: Many share the same language. Each still gets its own testcontainers-java-{GUIDE_ID} directory.

Reference: completed migration (Go getting-started)

Use content/guides/testcontainers-go-getting-started/ as the reference implementation:

  • _index.md — landing page with frontmatter, prerequisites, learning objectives
  • create-project.md (weight: 10) — project setup and business logic
  • write-tests.md (weight: 20) — first test with testcontainers-go
  • test-suites.md (weight: 30) — container reuse with testify suites
  • run-tests.md (weight: 40) — running tests, summary, further reading

© docker, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/testcontainers-guides-migrator of docker/docs.

Open the folder on GitHubat commit 7ba25ee

Compare with similar skills

Testcontainers Guide Migrator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Testcontainers Guide Migrator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Testcontainers Guide Migrator this skilldocker/docs4.7k—~5kAutomated safety check: PassApache-2.0
323 Frameworks Spring Boot Testing Acceptance Testsjabrena/plinth446—~1.2kAutomated safety check: PassApache-2.0
Dr Jskilljdubois/dr-jskill342—~4.6kAutomated safety check: NotesApache-2.0
Dockercodewithmukesh/dotnet-claude-kit7511 repos~1.5kAutomated safety check: PassMIT
Containerize Aspnetcoregithub/awesome-copilot40k1 repos~4kAutomated safety check: WarnMIT
Containerize Aspnet Frameworkgithub/awesome-copilot40k1 repos~5.2kAutomated safety check: WarnMIT

Similar skills

  • A skill your agent uses when you need to implement acceptance tests from maintainer-authored or maintainer-sanitized Gherkin scenario facts for Spring Boot applications — including selecting…

    446 GitHub stars~1.2k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Dr Jskill

    jdubois/dr-jskill

    Creates Java + Spring Boot projects: Web applications, full-stack apps with Vue.js or Angular or React or vanilla JS, PostgreSQL, REST APIs, and Docker.

    342 GitHub stars~4.6k tokensUpdated 8 days ago
    Backend & APIsAuto-check: notes
  • Docker

    codewithmukesh/dotnet-claude-kit

    Docker containerization for .NET 10 applications. An agent skill from codewithmukesh/dotnet-claude-kit.

    751 GitHub starsUsed in 1 repo~1.5k tokens
    DevOps & CloudAuto-check passed
  • Containerize Aspnetcore

    github/awesome-copilot

    Official

    Containerize an ASP.NET Core project by creating Dockerfile and .dockerfile files customized for the project.

    40k GitHub starsUsed in 1 repo~4k tokens
    DevOps & CloudAuto-check: warnings
  • Containerize Aspnet Framework

    github/awesome-copilot

    Official

    Containerize an ASP.NET .NET Framework project by creating Dockerfile and .dockerfile files customized for the project.

    40k GitHub starsUsed in 1 repo~5.2k tokens
    DevOps & CloudAuto-check: warnings
  • Csharp Dotnet

    ericrisco/rsc-harness

    A skill your agent uses when writing, reviewing, testing, or shipping C / .NET code — ASP.NET Core APIs (minimal APIs vs controllers), EF Core data access, async correctness, solution layout in…

    167 GitHub stars~3.3k tokensUpdated today
    Backend & APIsAuto-check passed

More from docker/docs

All 13 skills in this repo
  • Official

    Audit a documentation site for agent-friendliness: discovery, markdown delivery, crawlability, semantic structure, machine-readable surfaces, and content legibility.

    4.7k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Official

    Handle Hugo docs information-architecture moves: discover old vs new URLs, add front matter aliases (Phase 1), update in-repo links (Phase 2), interactive List 2 resolution and fragment validation…

    4.7k GitHub stars~5.1k tokensUpdated yesterday
    Auto-check passed
  • Write

    docker/docs

    Official

    Write or edit reader-facing technical prose for immediate comprehension.

    4.7k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Create Lab Guide

    docker/docs

    Official

    Clone a dockersamples Labspace repo, extract learning objectives and module structure from labspace.yaml, and produce a Hugo guide page under content/guides/ with correct frontmatter…

    4.7k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Curate Whats New

    docker/docs

    Official

    Curate noteworthy Docker launches from documentation pull requests merged during a requested period.

    4.7k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Fix Issue

    docker/docs

    Official

    Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR.

    4.7k GitHub stars~595 tokensUpdated yesterday
    Auto-check passed

Questions about Testcontainers Guide Migrator

What does Testcontainers Guide Migrator do?

Migrate a Testcontainers guide from testcontainers.com into the Docker docs site (docs.docker.com). Testcontainers Guide Migrator is an agent skill from docker/docs, published by the product's own GitHub organization.com).

When should I use Testcontainers Guide Migrator?

Testcontainers Guide Migrator fits situations like: asked to migrate a testcontainers guide; port content from testcontainers.com to Docker docs.

How do I install Testcontainers Guide Migrator in Claude Code?

Run `npx skills add docker/docs --skill testcontainers-guide-migrator -a claude-code`. Or copy the skill folder (.agents/skills/testcontainers-guides-migrator in docker/docs) into .claude/skills/testcontainers-guide-migrator in your project. Claude Code loads it when a task matches its description.

How do I install Testcontainers Guide Migrator in Codex?

Run `npx skills add docker/docs --skill testcontainers-guide-migrator -a codex`. Or copy the skill folder (.agents/skills/testcontainers-guides-migrator in docker/docs) into .agents/skills/testcontainers-guide-migrator in your project. Codex loads it when a task matches its description.

Can I use Testcontainers Guide Migrator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add docker/docs --skill testcontainers-guide-migrator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testcontainers-guide-migrator, .gemini/skills/testcontainers-guide-migrator, .github/skills/testcontainers-guide-migrator and .opencode/skills/testcontainers-guide-migrator in your project.

What does Testcontainers Guide Migrator need to run?

Going by SKILL.md and its folder, Testcontainers Guide Migrator needs the command-line tools its instructions call (docker, sh, npx, git, mvn and go). Our summary lists: Python 3; Node.js; Docker.

Does Testcontainers Guide Migrator access the network?

SKILL.md names 3 domains. In commands or code: github.com and testcontainers.com; the agent is likely to contact these when it follows the instructions. As links in the text: java.testcontainers.org. This is read from the text; nothing was executed.

Is Testcontainers Guide Migrator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Testcontainers Guide Migrator use?

Testcontainers Guide Migrator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Testcontainers Guide Migrator use?

About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Testcontainers Guide Migrator?

Skills that share tags, products or a category with Testcontainers Guide Migrator: 323 Frameworks Spring Boot Testing Acceptance Tests (jabrena/plinth, 446 stars), Dr Jskill (jdubois/dr-jskill, 342 stars), Docker (codewithmukesh/dotnet-claude-kit, 751 stars) and Containerize Aspnetcore (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Testcontainers Guide Migrator?

docker (a GitHub organization, an official publisher) maintains it in docker/docs, which has 4,667 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

Source: docker/docs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.