- name
- assert
- version
- 1.0.0
- description
- Assertion patterns reference — guard clauses, preconditions, invariants, and contract programming. Use when writing defensive code, validating inputs, or implementing design-by-contract.
- author
- BytesAgain
- homepage
- https://bytesagain.com
- source
- https://github.com/bytesagain/ai-skills
- tags
- [assert, assertion, precondition, invariant, contract, defensive, testing]
- category
- devtools
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
scripts/script.sh introOverview of assertions — purpose, philosophy, and when to use them vs exceptions.
preconditions
scripts/script.sh preconditionsPrecondition patterns: validating inputs, guard clauses, and fail-fast design.
postconditions
scripts/script.sh postconditionsPostcondition patterns: validating outputs and return value contracts.
invariants
scripts/script.sh invariantsClass and loop invariants — maintaining consistent state throughout execution.
languages
scripts/script.sh languagesAssertion syntax and behavior in Python, Java, C, JavaScript, Rust, Go.
contracts
scripts/script.sh contractsDesign-by-contract methodology — Bertrand Meyer's approach and modern implementations.
antipatterns
scripts/script.sh antipatternsCommon assertion mistakes: side effects, catching AssertionError, using in production flow.
strategies
scripts/script.sh strategiesAssertion strategies for different contexts: unit tests, production code, APIs, libraries.
help
scripts/script.sh helpversion
scripts/script.sh version*Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*