agentleFS
ghuntleyghuntley/loom/.agents/skills/antithesis-launch/SKILL.md

antithesis-launch

Skill1.6k starsChanged todayMITView on GitHub

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.

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 4 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    DO NOT PROCEED if snouty is not installed.

    line 20
  2. Very specific:

    DO NOT PROCEED if snouty is older than 0.8.0.

    line 21
  3. Very specific:

    Run snouty doctor. It checks the container runtime and the compose CLI.

    line 22
  4. Distinctive:

    if validation fails, stop and report the error

    line 30
  5. Distinctive:

    Start from any user-provided path, command, or Antithesis directory name.

    line 39
  6. Very specific:

    Treat these as strong Antithesis signals: nearby scratchbook/ or test/ directories, compose content mentioning /opt/antithesis, ANTITHESIS_ …

    line 42
  7. Very specific:

    If multiple compose files look plausible, prefer the one referenced by repo docs or existing snouty launch examples.

    line 43
  8. Very specific:

    Use the directory containing docker-compose.yaml as the snouty validate <CONFIG> and snouty launch --config <CONFIG> argument.

    line 44
  9. Very specific:

    Use SNOUTY_CONTAINER_ENGINE=docker to force snouty to use docker's store.

    line 47
  10. Very specific:

    If explicitly directed to launch a run against a pre-built image, run snouty launch --config-image <CONFIG_IMAGE> with the user-supplied …

    line 53
  11. Distinctive:

    Always set all of these explicitly:

    line 55
  12. Very specific:

    Do not run snouty launch unless the build succeeded and snouty validate exited successfully.

    line 67
  13. Distinctive:

    If validation fails, stop immediately and show the failing command plus the key error.

    line 85

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Antithesis Launch

Skill version: 2026-10-15 84b188a

Prerequisites

  • 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.
  • Run 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.

Goal

Launch an Antithesis run in this order only:

  1. docker compose build (skip if directed to use pre-built images)
  2. snouty validate
  3. if validation fails, stop and report the error
  4. snouty launch

Required Input

  • duration in minutes is required. If the user did not provide it, ask before submitting the run.

Discovery

  • Start from any user-provided path, command, or Antithesis directory name.
  • Otherwise, inspect the repo to understand how the harness is wired. Check nearby AGENTS.md, README*, Makefile*, and Antithesis-specific scripts before choosing commands.
  • Find the config directory by locating the docker-compose.yaml intended for Antithesis. Prefer directories like antithesis/config, but support non-standard layouts.
  • Treat these as strong Antithesis signals: nearby scratchbook/ or test/ directories, compose content mentioning /opt/antithesis, ANTITHESIS_ env vars, setup_complete, or existing snouty examples.
  • If multiple compose files look plausible, prefer the one referenced by repo docs or existing snouty launch examples. If the choice is still ambiguous, ask the user instead of guessing.
  • Use the directory containing docker-compose.yaml as the snouty validate <CONFIG> and snouty launch --config <CONFIG> argument.
  • Build against that exact file: docker compose -f <CONFIG>/docker-compose.yaml build.
  • snouty never builds or pulls images, so every image must already be in the store of the engine snouty selects. snouty prefers podman when both engines are installed.
    • Use SNOUTY_CONTAINER_ENGINE=docker to force snouty to use docker's store.
  • When using podman, build with 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.

Run Arguments

  • Determine the launcher 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.

Execution

  • These commands can take a long time. Prefer background execution or generous timeouts instead of assuming quick completion.
  • Do not run 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 \
  --launcher "$LAUNCHER" \
  --config "$CONFIG_DIR" \
  --duration "$DURATION" \
  --source "$SOURCE" \
  --test-name "$TEST_NAME" \
  --description "$DESCRIPTION"

Output

  • Report the config directory, compose build command, validate command, and final snouty launch command shape before submission.
  • If validation fails, stop immediately and show the failing command plus the key error.
  • The --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.

Self-Review

  • The chosen config directory is the one that actually contains the Antithesis docker-compose.yaml.
  • The build, validate, and run steps all point at the same config.
  • snouty validate succeeded before snouty launch was invoked.
  • The run set 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.
  • The build used the compose CLI and container engine snouty doctor reported.
  • Missing blockers such as duration, ANTITHESIS_REPOSITORY, or an ambiguous config location caused a stop instead of a bad submission.

Download now (ZIP)

Trending

Quiet since January.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 14 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the ghuntley/loom repository that our weekly crawl found: only 14 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Who's talking about ghuntley/loom

The biggest 5 of 14 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 14

Talked about on GitHub and Hacker News (14 times).

On GitHub · 13

8 more on GitHub

On Hacker News · 1

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.