К основному содержанию
скилл CX Codex

antithesis-setup — скилл для Claude Code: харнесс Antithesis

Готовит каталог antithesis/ с Dockerfile и docker-compose.yaml, чтобы система поднялась в Antithesis в почти простаивающем состоянии.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add antithesishq/antithesis-skills --skill antithesis-setup -a claude-code
Открыть на GitHub

Что делает antithesis-setup

Скилл собирает харнесс для запуска системы в Antithesis. Он инициализирует рабочий каталог, пишет Dockerfile для компонентов SUT и antithesis/config/docker-compose.yaml, где нужные образы подключены через build:. Заодно решает, как инструментировать каждый сервис, куда ставить Antithesis SDK и где будет жить bootstrap-свойство.

Работа разбита на шаги в отдельных reference-файлах: инициализация каталога, инструментация, образы, compose, содержимое antithesis/config/, локальный тест и первый запуск. Шаги читаются по одному, и после каждого стоит проверять, не сломались ли решения предыдущих — чаще всего пересматривать приходится инструментацию, когда начинается сборка образов. Успех — это прошедший snouty validate на antithesis/config/ и хотя бы одно минимальное bootstrap-свойство, которое видно в первом прогоне.

Перед началом скилл требует research-артефакты: antithesis/scratchbook/ с sut-analysis.md и deployment-topology.md. Если их нет, он останавливается и просит сначала прогнать antithesis-research — без анализа SUT и топологии развёртывания решения по инструментации и составу сервисов выходят заметно хуже. Ещё нужны Docker Compose v2, контейнерный движок (docker или podman) и snouty не старше 0.8.0. Для Kubernetes есть отдельный скилл antithesis-setup-k8s.

Какие задачи решает

  • развернуть каталог antithesis/ в проекте
  • написать Dockerfile для сервисов SUT
  • собрать docker-compose.yaml с директивами build:
  • подключить Antithesis SDK и добавить bootstrap-свойство
  • проверить конфигурацию через snouty validate перед первым запуском

Примеры запросов агенту

  • прогони antithesis-setup и собери харнесс для моего проекта
  • проверь, что antithesis/config/docker-compose.yaml валиден через snouty validate
  • подготовь первый тестовый запуск в Antithesis

Как установить antithesis-setup

1Через Skills CLI (Vercel)

npx skills add antithesishq/antithesis-skills --skill antithesis-setup -a claude-code

2Вручную: положить файлы

~/.claude/skills/antithesis-setup/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/antithesis-setup/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о antithesis-setup

Как установить antithesis-setup в Claude?

Выполните npx skills add antithesishq/antithesis-skills --skill antithesis-setup -a claude-code. Скилл окажется в ~/.claude/skills/antithesis-setup/SKILL.md.

Что делает antithesis-setup?

Инициализирует каталог antithesis/, пишет Dockerfile и docker-compose.yaml с директивами build:, решает вопросы инструментации и готовит систему к первому запуску в Antithesis.

Что нужно для работы скилла?

Docker Compose v2, контейнерный движок docker или podman и snouty версии 0.8.0 или новее. Плюс research-артефакты в antithesis/scratchbook/ — без них скилл не продолжит работу.

Исходный текст

SKILL.md · Apache-2.0
---
name: antithesis-setup
description: >
  Scaffold the Antithesis harness with docker-compose: initialize the working directory, write
  Dockerfiles and docker-compose.yaml with build directives, and prepare
  to submit your first Antithesis test run. If the desired setup is Kubernetes, defer to the antithesis-setup-k8s skill.
compatibility: Requires Docker Compose v2, a container engine (docker or podman), and snouty (https://github.com/antithesishq/snouty).
metadata:
  version: "2026-10-21 4f8d80b"
---

# Antithesis Setup

**Skill version:** `2026-10-21 4f8d80b`

## Purpose and Goal

Scaffold the `antithesis/` harness needed to bring the system up in Antithesis
in a mostly idle, ready state.

Success means:

- `antithesis/config/docker-compose.yaml` exists and required SUT images are referenced with `build:` directives
- `snouty validate` on `antithesis/config/` succeeds
- the SUT dependency graph includes the relevant Antithesis SDK where assertions or lifecycle hooks will run
- at least one minimal bootstrap property exists in a simple SUT path and is expected to show up in the first Antithesis run
- The harness is ready for the `antithesis-workload` skill to add or iterate on test templates, assertions, and workload code
- If the user asks to submit or launch a run, use the `antithesis-launch` skill — do not run `snouty launch` directly

## Prerequisites

- **Research artifacts required.** Before proceeding, check whether `antithesis/scratchbook/` exists and contains research output (at minimum `sut-analysis.md` and `deployment-topology.md`). If the scratchbook is missing or empty, **stop and warn the user**:

  > The `antithesis-research` skill has not been run yet (no scratchbook found at `antithesis/scratchbook/`). Setup depends on research artifacts — especially the SUT analysis and deployment topology — to make informed decisions about instrumentation, image structure, and service composition. Please run `antithesis-research` first, review its output, then return to setup.

  Do not attempt to proceed without research artifacts. The setup skill will make significantly worse decisions without the context that research provides.

- **Verify research provenance.** Setup runs once per project and produces durable, expensive output (Dockerfiles, compose, instrumentation), so misalignment is costly. Read whatever provenance frontmatter is present in `antithesis/scratchbook/sut-analysis.md` and `antithesis/scratchbook/deployment-topology.md`. Use whatever fields you find — the schema may evolve over time, so don't treat partial or older frontmatter as broken. Describe what you found in plain language. Examples:

  - Full schema: "this scratchbook is for SUT at `/path/X` at commit `abc12345abcd` (2026-05-05), external refs: A, B."
  - Partial: "the catalog records `commit` and `updated` but no `sut_path` or `external_references`."
  - Absent: "no provenance recorded; the scratchbook predates this convention."
  - Disagreement across files: "sut-analysis is for `/path/A` at commit `abc`; deployment-topology is for `/path/B` at commit `def` — these disagree."

  Then ask the user:

  > Is this still the system you're targeting?

  If the user says no, **do not proceed**. Stop and tell the user to re-run `antithesis-research`. Setup against confirmed-stale research will produce mismatched scaffolding.

  The user-facing commit display uses the short hash (first 12 characters) for readability; the frontmatter still stores the full SHA.

- DO NOT PROCEED if `snouty` is not installed. See `https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.md` for installation options.
- DO NOT PROCEED if `snouty` is older than 0.8.0. Use `snouty --version` to find the version. Use `snouty update` to update.

## Documentation Grounding

Use the `antithesis-documentation` skill to access these pages. Prefer `snouty docs`.

- Docker Compose setup guide: `https://antithesis.com/docs/getting_started/setup_guide/docker_compose.md`
- Docker best practices: `https://antithesis.com/docs/best_practices/docker_best_practices.md`
- Coverage instrumentation: `https://antithesis.com/docs/reference/instrumentation/coverage_instrumentation.md`
- Assertion cataloging: `https://antithesis.com/docs/reference/sdk/assertion_cataloging.md`
- Handling external dependencies: `https://antithesis.com/docs/reference/dependencies.md`
- Fault injection: `https://antithesis.com/docs/product/fault_injection.md`

## Workflow

This skill is broken out into multiple steps, each in a different reference file. Read and implement each reference file listed below one at a time to fully set up a project. After implementing each step, check whether what you learned invalidates any decisions from earlier steps. Instrumentation decisions (step 2) are the most common thing that needs revision once you start building images (step 3).

- `references/directory-init.md`: initialize or merge the `antithesis/` directory from `assets/antithesis/`
- `references/instrumentation.md`: decide how each SUT service is instrumented, how the SDK is installed, how symbols are delivered, and where the bootstrap property lives
- `references/docker-images.md`: create or adapt Dockerfiles for SUT components
- `references/docker-compose.md`: write `antithesis/config/docker-compose.yaml`
- `references/config-dir.md`: understand what belongs in `antithesis/config/`
- `references/submit-and-test.md`: test locally and submit the first run

## General Guidance

- Merge with existing `antithesis/` content instead of overwriting it.
- Build and test locally with the compose CLI and container runtime `snouty
  doctor` reports. See `references/submit-and-test.md`.
- Keep Antithesis-only scaffolding under `antithesis/` when practical.
- Focus this skill on infrastructure and readiness, not on defining the workload
  itself.
- Installing the relevant Antithesis SDK into the SUT and adding one minimal
  bootstrap assertion is part of setup, not deferred workload work.
- If `antithesis/test/` does not exist yet, create the directory structure
  needed for later workload work, but leave real test templates and assertions
  to `antithesis-workload`.
- Treat instrumentation and symbolization as bootstrap work. The setup is not
  complete until the relevant images expose `/opt/antithesis/catalog/` or
  `/symbols/` correctly for their language.
- Treat local testing as required before the first submission.
- Use the `antithesis-launch` skill to submit runs, do not run `snouty launch` directly. If the `antithesis-launch` skill is not present, then use `snouty launch` directly to submit runs. Run `compose build` before `snouty launch` to ensure images are up to date.
- Do not add a separate Dockerfile under `antithesis/config/` unless the
  deployment explicitly requires it.
- Disable color/ANSI output in every container. Antithesis stores raw bytes and
  does not render escape codes — color output is garbage in logs and triage. Set
  `NO_COLOR=1` on all services via docker-compose.yaml environment blocks or
  Dockerfile `ENV` directives. Add tool-specific flags (e.g. `FORCE_COLOR=0`)
  where needed.

## Self-Review

Before declaring this skill complete, review your work against the criteria below. If your agent supports spawning sub-agents, create a new agent with fresh context to perform this review — give it the path to this skill file and have it read all output artifacts. A fresh-context reviewer catches blind spots that in-context review misses. If your agent does not support sub-agents, perform the review yourself: re-read the success criteria at the top of this file, then systematically check each item below against your actual output.

Review criteria:

- `antithesis/config/docker-compose.yaml` exists and every service has `build:` (for local images) or `image:` (for public images) configured correctly
- Every service in docker-compose.yaml includes `platform: linux/amd64`
- Every service has `hostname:` set to match its `container_name:`, and neither contains an underscore (use hyphens — underscores are not valid DNS label characters)
- Every service sets `init: true` so the service process does not run as pid 1
- Cross-service dependencies use `depends_on` with `condition: service_healthy` against a defined `healthcheck`, not plain `depends_on`
- The runtime compose does NOT set a custom `logging:` driver, does not configure any `internal: true` network, and does not set `pull_policy:`
- The instrumentation inventory from `references/instrumentation.md` is fully implemented: each service is instrumented, cataloged-only, or explicitly documented as uninstrumented
- The relevant Antithesis SDK is installed in the SUT dependency graph
- A bootstrap property exists in a simple, guaranteed-to-run code path (not behind rare behavior)
- `/opt/antithesis/catalog/` or `/symbols/` is exposed correctly for each service's language
- The `setup_complete` signal is wired in at least one entrypoint
- `snouty validate` on `antithesis/config/` succeeds
- All built images target `amd64` (verified via `image inspect` on the engine snouty selects)
- The build used the compose CLI and engine `snouty doctor` reports
- Every service has `NO_COLOR=1` set in its environment (via docker-compose.yaml and/or Dockerfile) to prevent ANSI escape codes in container output
- The harness is ready for the `antithesis-workload` skill — test template directories exist or are wired for later use
- If the user asks to launch a run, the `antithesis-launch` skill is used instead of running `snouty launch` directly
- Whatever research provenance was present in `sut-analysis.md` and `deployment-topology.md` was described to the user and confirmed before scaffolding began (provenance frontmatter format is defined in the `antithesis-research` skill, `references/scratchbook-setup.md`)

© antithesishq · Apache-2.0 · antithesishq/antithesis-skills

Похожие скиллы

Всё по теме «DevOps и инфраструктура» →
ci-cd-best-practices Mindrally Скилл задаёт правила построения CI/CD-конвейеров, стратегий развёртывания и тестов. Пригодится при настройке автоматической доставки кода через GitLab CI, GitHub Actions или Kubernetes. CX Codex +1 1 200установок docker-containerization ailabs-393 Скилл генерирует Dockerfile, docker-compose и скрипты для сборки, запуска и пуша контейнеров. Пригодится, когда нужно упаковать Next.js или Node.js проект. CX Codex +1 1 100установок amc-setup-calibration-stack NVIDIA CORPORATION Скилл разворачивает микросервис и веб-интерфейс AutoMagicCalib из контейнеров NGC через Docker Compose. Потребуется ключ API NGC и настроенный NVIDIA Docker Runtime. CX Codex +1 640установок docker-patterns affaan-m Скилл с проверенными шаблонами Dockerfile и Docker Compose: локальная разработка, сети, тома, безопасность контейнеров. CX Codex +1 6 400установок docker-compose-patterns docker Набор правил для сборки, отладки и связывания сервисов в compose.yaml. Помогает настроить проверки готовности, тома и оверрайды под локальную разработку. CX Codex +1 1 400установок docker-project-foundations docker Скилл настраивает первичное окружение Docker для нового проекта. Он сразу создаёт базовую тройку файлов: .dockerignore, Dockerfile и compose.yaml. CX Codex +1 1 000установок

Из того же набора7

antithesis-research Разбирает кодовую базу и готовит артефакты для тестирования в Antithesis: карту системы, каталог проверяемых свойств и топологию контейнеров. CX Codex +1 622установок antithesis-documentation Помогает агенту находить точные ответы в документации Antithesis через утилиту snouty или загрузку markdown-страниц. Пригодится при настройке детерминированного тестирования. CX Codex +1 594установок antithesis-triage Разбирает прогоны Antithesis: статус, упавшие свойства, логи, события по всем таймлайнам. Нужен после завершения теста или при разборе падения. CX Codex +1 590установок antithesis-workload Превращает каталог свойств и файлы свидетельств в ассерты Antithesis SDK и тестовые команды. Помогает пошагово внедрять тесты и закрывать пробелы покрытия после триажа. CX Codex +1 581установок antithesis-debug Запускает bash-скрипты внутри окружения Antithesis в конкретный момент времени через CLI snouty. Помогает разбирать сбои тестов, инспектировать контейнеры и снимать дампы без браузера. CX Codex +1 557установок antithesis-skills-feedback Помогает агенту собрать ссылку на GitHub issue с уже заполненными полями: какой скилл сломался, версия, агент и краткое описание. CX Codex +1 464установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой