Launch an Antithesis run with snouty by discovering the harness layout, building the right Docker Compose config, running `snouty validate`, bailing on validation failure, and then submitting `snouty launch` with sane metadata. Use when the user wants to send, submit, or launch an Antithesis run. This skill takes duration in minutes as input.
Skill version: 2026-09-23 a8fe900
snouty is not installed. See https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.md for installation options.snouty doctor. It checks the container runtime and the compose CLI. Report both to the user and build with that same pair. This skill writes docker compose; use docker-compose instead when that is the CLI snouty names.Launch an Antithesis run in this order only:
docker compose build (skip if directed to use pre-built images)snouty validatesnouty launchduration in minutes is required. If the user did not provide it, ask before submitting the run.AGENTS.md, README*, Makefile*, and Antithesis-specific scripts before choosing commands.docker-compose.yaml intended for Antithesis. Prefer directories like antithesis/config, but support non-standard layouts.scratchbook/ or test/ directories, compose content mentioning /opt/antithesis, ANTITHESIS_ env vars, setup_complete, or existing snouty examples.snouty launch examples. If the choice is still ambiguous, ask the user instead of guessing.docker-compose.yaml as the snouty validate <CONFIG> and snouty launch --config <CONFIG> argument.docker compose -f <CONFIG>/docker-compose.yaml build.SNOUTY_CONTAINER_ENGINE=docker to force snouty to use docker's store.podman compose -f <CONFIG>/docker-compose.yaml build. That wrapper execs Docker Compose v2 against podman's API socket, so the image lands in podman's store. Check the provider first: podman compose version must print Docker Compose version ..., because podman falls back to the podman-compose Python tool when it finds no Compose v2 binary.Determine the webhook in this order: explicit user input, existing repo docs/scripts/examples, otherwise default to basic_test when using a docker-compose.yaml file and to basic_k8s_test when using a kubernetes setup.
If explicitly directed to launch a run against a pre-built image, run snouty launch --config-image <CONFIG_IMAGE> with the user-supplied image reference.
Otherwise, use snouty launch --config <CONFIG>, which requires ANTITHESIS_REPOSITORY. Reuse the current environment if it is already set. If not, stop and ask the user for it.
Always set all of these explicitly:
--duration: the user-provided duration--source: repo name--test-name: repo name plus branch or config name--description: short, readable description of the run, including details such as the branch name, current goal, or what you changed since the last run.Allow overrides: When the user or another skill invoking this one specifies a launch parameter, use what they gave you instead of the defaults described above.
snouty launch unless the build succeeded and snouty validate exited successfully.docker compose -f "$CONFIG_DIR/docker-compose.yaml" build
snouty validate "$CONFIG_DIR"
snouty launch \
--json \
--webhook "$WEBHOOK" \
--config "$CONFIG_DIR" \
--duration "$DURATION" \
--source "$SOURCE" \
--test-name "$TEST_NAME" \
--description "$DESCRIPTION"snouty launch command shape before submission.--json flag makes snouty launch emit machine-readable output containing a run_id. Parse and report the run_id — it's needed to triage the run when it is done.docker-compose.yaml.snouty validate succeeded before snouty launch was invoked.source, test-name, description, and duration explicitly, using any caller-supplied values in preference to the defaults as well as any caller-supplied additional parameters.snouty doctor reported.duration, ANTITHESIS_REPOSITORY, or an ambiguous config location caused a stop instead of a bad submission.1fd8470
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.