# Assert

> Assertion patterns reference — guard clauses, preconditions, invariants, and contract programming. Use when writing defensive code, validating inputs, or implementing design-by-contract.

- Skill: `bytesagain/assert` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add bytesagain/assert`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bytesagain/assert/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: bytesagain (https://skillmd.com/u/bytesagain)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/bytesagain/assert

---


# Assert — Assertion Patterns Reference

Quick-reference skill for assertion techniques, design-by-contract, and defensive programming patterns.

## When to Use

- Writing precondition checks for function inputs
- Implementing class invariants and postconditions
- Choosing between assertions and exceptions
- Applying design-by-contract methodology
- Understanding assertion behavior across languages

## Commands

### `intro`

```bash
scripts/script.sh intro
```

Overview of assertions — purpose, philosophy, and when to use them vs exceptions.

### `preconditions`

```bash
scripts/script.sh preconditions
```

Precondition patterns: validating inputs, guard clauses, and fail-fast design.

### `postconditions`

```bash
scripts/script.sh postconditions
```

Postcondition patterns: validating outputs and return value contracts.

### `invariants`

```bash
scripts/script.sh invariants
```

Class and loop invariants — maintaining consistent state throughout execution.

### `languages`

```bash
scripts/script.sh languages
```

Assertion syntax and behavior in Python, Java, C, JavaScript, Rust, Go.

### `contracts`

```bash
scripts/script.sh contracts
```

Design-by-contract methodology — Bertrand Meyer's approach and modern implementations.

### `antipatterns`

```bash
scripts/script.sh antipatterns
```

Common assertion mistakes: side effects, catching AssertionError, using in production flow.

### `strategies`

```bash
scripts/script.sh strategies
```

Assertion strategies for different contexts: unit tests, production code, APIs, libraries.

### `help`

```bash
scripts/script.sh help
```

### `version`

```bash
scripts/script.sh version
```

---

*Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*

