Assert
by @bytesagain3
Assertion patterns reference — guard clauses, preconditions, invariants, and contract programming. Use when writing defensive code, validating inputs, or imp...
clawhub install assert📖 About This Skill
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
Commands
intro
scripts/script.sh intro
Overview of assertions — purpose, philosophy, and when to use them vs exceptions.
preconditions
scripts/script.sh preconditions
Precondition patterns: validating inputs, guard clauses, and fail-fast design.
postconditions
scripts/script.sh postconditions
Postcondition patterns: validating outputs and return value contracts.
invariants
scripts/script.sh invariants
Class and loop invariants — maintaining consistent state throughout execution.
languages
scripts/script.sh languages
Assertion syntax and behavior in Python, Java, C, JavaScript, Rust, Go.
contracts
scripts/script.sh contracts
Design-by-contract methodology — Bertrand Meyer's approach and modern implementations.
antipatterns
scripts/script.sh antipatterns
Common assertion mistakes: side effects, catching AssertionError, using in production flow.
strategies
scripts/script.sh strategies
Assertion strategies for different contexts: unit tests, production code, APIs, libraries.
help
scripts/script.sh help
version
scripts/script.sh version
*Powered by BytesAgain | bytesagain.com | hello@bytesagain.com*