<< All versions
Skill v1.0.0
currentAutomated scan100/100typeddevs/bashunit/add-assertion
──Details
PublishedOctober 17, 2026 at 06:53 PM
Content Hashsha256:41a70e43f1a0eaa7...
Git SHA
──Files
Files (1 file, 1.7 KB)
SKILL.md1.7 KBactive
SKILL.md · 17 lines · 1.7 KB
version: "1.0.0" name: add-assertion description: Add new assertion function with comprehensive tests following TDD allowed-tools: read, edit, write, shell, Grep, Glob
Add an assertion
Repository paths are relative to the repository root. Establish the assertion name, arguments, success and failure behavior, and messages from the request and sibling assertions; ask only for missing decisions. Record acceptance criteria and test inventory in .tasks/YYYY-MM-DD-add-assertion-name.md for nontrivial work.
- Study the matching implementation under
src/assert/and tests undertests/unit/assert/, including parameter validation, return codes, and message checks.src/assert/index.shlists assertion modules. - Use focused RED, minimal GREEN, then REFACTOR for basic success, expected failure, and relevant edge cases (empty values, special characters, malformed input). Use
assert_assertion_passes,assert_assertion_fails, orassert_assertion_fails_withfromsrc/assert/assertions.shwhere appropriate. Match existing output comparisons when needed; there is noassert_fails. - If adding a module, source it from
src/assert/index.sh. Expose the public function through the existing module-loading pattern. Preserve Bash 3.0 parse compatibility and the existing public contract. - Document the public assertion's arguments, returns, and example in user-facing docs, update CHANGELOG, and complete the task file when used. Add code comments only for a constraint the code cannot express.
- The main session runs the canonical quality gate once after the entire change set; delegates run only assigned focused checks. Verify success, failure, edge cases, module loading, and documentation before handing off.