Analyze a codebase to figure out how it should be tested with Antithesis: map the system, identify failure-prone areas and testable properties, and produce the research artifacts needed for workload and environment planning.
78
72%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./antithesis-research/SKILL.mdResearch a target system and produce scratchbook artifacts that unblock the rest of the workflow. Success means:
antithesis/scratchbook/sut-analysis.md captures architecture, state, concurrency, and failure-prone areasantithesis/scratchbook/property-catalog.md lists concrete, testable properties with prioritiesantithesis/scratchbook/deployment-topology.md describes the minimal useful container topologyantithesis/scratchbook/properties/{slug}.md captures per-property evidence trails and contextantithesis/scratchbook/property-relationships.md maps suspected clusters and connections between propertiesantithesis/scratchbook/evaluation/synthesis.md records categorized evaluation findings and actions takenStart from the repo, checked-in docs, and existing scratchbook files first. Ask the user only for blockers or scoping decisions you cannot infer safely, such as:
If scratchbook artifacts already exist, treat them as inputs and extend them instead of rewriting them unless the user asks for a fresh pass.
/opt/antithesis/test/v1/{name}/. There may be more than one test template. Each timeline executes commands from a single test template. Files or subdirectories prefixed with helper_ are ignored by Antithesis.parallel_driver_, singleton_driver_, serial_driver_, first_, eventually_, finally_, anytime_Use the antithesis-documentation skill to ground Antithesis-specific terminology and implementation advice.
https://antithesis.com/docs/properties_assertions/assertions.mdhttps://antithesis.com/docs/best_practices/sometimes_assertions/https://antithesis.com/docs/using_antithesis/sdk/define_test_properties/https://antithesis.com/docs/using_antithesis/sdk/https://antithesis.com/docs/best_practices/optimizing.md| Reference | When to read |
|---|---|
references/scratchbook-setup.md | Always — read first to initialize the workspace |
references/sut-discovery.md | Discovering system characteristics through structured attention focuses |
references/sut-analysis.md | General methodology for analyzing the codebase and understanding components |
references/property-discovery.md | Discovering properties through structured attention focuses |
references/property-catalog.md | Format and methodology for documenting properties |
references/faults.md | Understanding fault types, quiet periods, and process fault availability |
references/deployment-topology.md | Designing the container topology for Antithesis |
references/property-evaluation.md | Evaluating the property catalog as a portfolio |
references/scratchbook-setup.mdreferences/sut-discovery.md and references/sut-analysis.mdreferences/sut-discovery.mdassert_always!,
assert_sometimes!, assert_reachable!, assert_unreachable!, or their
non-macro equivalents). For each assertion found, record the file path, line
number, assertion type, and message string. Write the results to
antithesis/scratchbook/existing-assertions.md. If no assertions are found,
write the file with a note confirming the codebase has no existing
instrumentation.references/property-discovery.md and references/property-catalog.mdreferences/property-discovery.mdreferences/deployment-topology.mdantithesis/scratchbook/deployment-topology.mdreferences/property-evaluation.mdreferences/property-evaluation.mdantithesis/scratchbook/references/sut-discovery.md and references/sut-analysis.md if the system model is missing or stalereferences/property-discovery.md and references/property-catalog.mdreferences/property-discovery.mdantithesis/scratchbook/property-catalog.md and record assumptions or open questionsantithesis/scratchbook/properties/{slug}.mdantithesis/scratchbook/property-relationships.md with any new clusters or connectionsreferences/property-evaluation.mdreferences/property-evaluation.mdreferences/property-discovery.md and references/property-catalog.mdantithesis-triage skillreferences/property-discovery.md to look for new properties inspired by triage findingsantithesis/scratchbook/properties/{slug}.mdantithesis/scratchbook/property-relationships.md with any new clusters or connectionsreferences/property-evaluation.md and evaluate the
updated catalog. Small expansions of 1-3 properties in existing categories
do not require a full evaluation pass.Sometimes(cond) for liveness or non-trivial semantic states, not for invariants that must hold on every evaluation and not as a substitute for Reachable(...)antithesis/scratchbook/sut-analysis.mdantithesis/scratchbook/existing-assertions.mdantithesis/scratchbook/property-catalog.mdantithesis/scratchbook/deployment-topology.mdantithesis/scratchbook/property-relationships.mdantithesis/scratchbook/properties/{slug}.md (one per cataloged property)antithesis/scratchbook/evaluation/synthesis.mdantithesis/scratchbook/evaluation/{lens}.md (one per evaluation lens)These outputs should be concrete enough for the antithesis-setup skill and the antithesis-workload skill to use directly.
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/scratchbook/sut-analysis.md exists and covers architecture, state management, concurrency model, and failure-prone areasantithesis/scratchbook/existing-assertions.md exists and lists all Antithesis SDK assertions found in the codebase (or explicitly states none were found)antithesis/scratchbook/property-catalog.md exists, has provenance frontmatter (commit and updated), and lists concrete, testable properties — not vague goals like "test failover"Always, Sometimes, Reachable, etc.)antithesis/scratchbook/deployment-topology.md exists and describes a minimal container topology — every container is justifiedantithesis/scratchbook/properties/{slug}.md that captures the evidence trail, relevant code paths, and key observationsantithesis/scratchbook/property-relationships.md exists and groups related properties into clusters with brief notes on suspected connections and dominanceproperty-relationships.md corresponds to a property in the catalogantithesis/scratchbook/evaluation/synthesis.md exists with categorized findingsantithesis-setup and antithesis-workload to use directly — no ambiguous steps or missing detailsa851a75
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.