Design and build an Antithesis workload for a specific feature: analyze the feature, discover its testable properties, build a self-driving workload that runs locally and in Antithesis, and iterate until the feature's behaviors are exercised and its invariants are checked.
64
78%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./antithesis-feature-workload/SKILL.mdSkill version: 2026-09-23 a8fe900
Start from a specific feature and produce a workload that tests it. Success means:
This skill is a parallel entry point into the Antithesis workflow. Where the standard pipeline goes research → setup → workload (broad coverage), this skill goes feature analysis → targeted workload → iterate (feature focus).
This skill handles two starting points:
Both entry points go through the same workflow. What varies is how many assertions pass on the first run.
snouty CLI installed when moving to Antithesis runs (not needed for
local-only work)antithesis-setup.snouty launch directly.Sometimes assertion that verifies the workload actually
exercises a feature behavior. Unfired reach claims mean the workload isn't
reaching the right states.ANTITHESIS_OUTPUT_DIR
is set (Antithesis) and equivalent local checks when it is not (local).Use the antithesis-documentation skill to access Antithesis docs.
https://antithesis.com/docs/reference/sdk.mdhttps://antithesis.com/docs/concepts/properties_assertions/assertions.mdhttps://antithesis.com/docs/product/fault_injection.mdhttps://antithesis.com/docs/getting_started/setup_guide/docker_compose.md| Reference | When to read |
|---|---|
references/feature-analysis.md | First — system orientation, understanding the feature, discovering properties |
references/self-driving-workload.md | Building the workload |
references/assertions.md | Writing assertions for feature properties and reach claims |
references/interesting-values.md | Choosing values that exercise the feature's boundaries |
references/faults.md | Assessing whether fault injection matters for this feature |
references/iteration.md | When reach claims aren't firing or properties aren't exercised |
references/verification.md | Verifying a finding is real |
references/feature-analysis.mdantithesis/scratchbook/, read them; otherwise build a lightweight
orientation scoped to the feature's neighborhood — architecture, data flow,
concurrency modelreferences/faults.md to assess which fault types matter for this
featureantithesis/feature-workloads/<feature-slug>/analysis.mdreferences/self-driving-workload.mdreferences/assertions.mdreferences/interesting-values.mdreferences/iteration.md when reach claims aren't
firing or properties aren't being exercised. Iterate: check reach claims
first, then adjust workload, assertions, SUT config, or properties as the
evidence directs
antithesis-setup if infrastructure is needed
b. Use antithesis-launch for runs
c. Use antithesis-triage for analysis (framed: "are the feature's
properties being exercised? Any failures?")
d. Based on triage results: if a property failed, go to step 15; if reach
claims aren't firing, go to "Iterate after a run"; if the mechanism is
unclear, use antithesis-debug for deeper inspectionreferences/verification.md. Classify the
finding. Any real bug found while testing a feature is valuable.antithesis/feature-workloads/<feature-slug>/analysis.mdreferences/iteration.mdreferences/assertions.md if assertions need to changeantithesis/feature-workloads/<feature-slug>/analysis.md with what
changed, what was observed, and what to try nextFor when the feature evolves and the workload needs to keep up:
antithesis/feature-workloads/<feature-slug>/analysis.md — feature
properties, codebase findings, fault assessment, iteration historydocker-compose.yml for local runs (unless existing setup suffices)Before declaring this skill complete, review your work against the criteria below. If your agent supports sub-agents, create a fresh-context reviewer.
Review criteria:
analysis.md and connect to specific
code paths with evidence from the codebase (or to planned behavior for
in-development features)Always /
AlwaysOrUnreachable for invariants, Sometimes for reach claims,
Reachable for path reachability) — see references/assertions.mdSometimes(true, ...) assertions should be rewritten as Reachable(...)ANTITHESIS_OUTPUT_DIR is
set, local checks otherwiseAlways or AlwaysOrUnreachable at
the same sitereferences/interesting-values.mdantithesis-setup skill was used for
infrastructure, not ad-hoc setupreferences/faults.md1fd8470
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.