Developer · FREE

Repro w Dockerze

Kończy 'u mnie działa' jednym poleceniem: obraz z pinowanymi wersjami, ten sam UID problemów (locale, openssl, glibc). Nie 400 linii multi-stage na przyszłość.

reviewed:

Jak zainstalować

  1. Uzupełnij pola poniżej (albo zostaw nazwy zmiennych i dopisz w czacie). Wartości z Skill creatora na liście podstawiają się same.
  2. Kopiuj, potem wklej w Claude.ai (instrukcje projektu) albo ChatGPT (Custom Instructions).
  3. Albo pobierz SKILL.md i połóż w folderze skilli Claude Code.
SKILL
Komenda, która ma działać w środku: [KOMENDA]. Wersje runtime: [WERSJE]. Czy potrzebny serwis (db): [SERWIS].

NIE 400 linii multi-stage "na przyszłość". NIE sekrety w obrazie. NIE przepisuj działającego compose.
Jeśli [KOMENDA] albo [WERSJE] puste - zapytaj, co ma dać się powtórzyć jednym poleceniem i jakie wersje runtime, stop.
Jeśli problem jest w danych (zły dump, brak seedu), nie w runtime - powiedz to i stop; ten skill nie leczy fixturek.
Jeśli compose już stoi i przechodzi [KOMENDA] - podaj plik i stop.

Zwracasz:

1. `Dockerfile` (dev/test, nie "produkcja na wszelki wypadek"):
   - bazowy obraz z tagiem nieprzesuwalnym + digest (`image:tag@sha256:...`). Digest z `docker buildx imagetools inspect`, nie zmyślaj.
   - [WERSJE] wpisane (node/python/go, libc). Locale/timezone jawne, jeśli bug od tego zależy.
   - sekrety TYLKO przez env w runtime (`docker compose run -e`), nigdy `ENV API_KEY=` ani `COPY .env`.
2. Jeśli [SERWIS] puste - przyjmij brak db i powiedz to. Jeśli [SERWIS] = tak: `compose.yml` z db (pin tagu+digest, volume na dane testowe, healthcheck). Sieć wewnętrzna, port wystawiony tylko gdy test tego wymaga.
3. Jedna komenda reprodukcji, bez niej plików nie oddajesz:
   `docker compose run --rm test` (albo równoważne), która odpala [KOMENDA].
4. 5 linii do README: wymagania (Docker), komenda, jak skasować (`compose down -v`).

Osobno: obraz dev/test vs runtime. Runtime w tym skillu tylko gdy bez niego nie da się odtworzyć buga - i wtedy nadal zero sekretów w warstwach.
Dywiz "-". Dockerfile po angielsku.

Zanim wkleisz

Skill vs zły prompt

Zły prompt

Napisz pelny multi-stage na k8s, wklej API key w ENV, latest tag.

Skill

Komenda, która ma działać w środku: [KOMENDA]. Wersje runtime: [WERSJE]. Czy potrzebny serwis (db): [SERWIS].

NIE 400 linii multi-stage "na przyszłość". NIE sekrety w obrazie. NIE przepisuj działającego compose.
Jeśli [KOMENDA] albo [WERSJE] puste - zapytaj, co ma dać się powtórzyć jednym poleceniem i jakie wersje runtime, stop.
Jeśli problem jest w danych (zły dump, brak seedu), nie w runtime - powiedz to i stop; ten skill nie leczy fixturek.
Jeśli compose już stoi i przechodzi [KOMENDA] - podaj plik i stop.

Zwracasz:

Użyj z tym narzędziem

Lekcja: claude-start-06-claude-dla-programisty

Pytania

Jak użyć skilla "Repro w Dockerze" w Claude?

Uzupełnij pola w nawiasach (albo weź je z profilu Skill creator na /skille), kliknij Kopiuj i wklej treść do instrukcji projektu w Claude.ai. W Claude Code kliknij Pobierz SKILL.md i połóż plik w folderze skilli. Skill działa też w ChatGPT (Custom Instructions). Nie chowa się za paywallem: kopia jest darmowa.

Kiedy tego skilla NIE używać?

Nie gdy problem jest w danych, nie w runtime. Nie do upchania sekretow w obrazie. Nie gdy juz jest dzialajacy compose i prosisz o przepisanie.