Skip to content
cccskills
FreePublished on GitHub

add-assertion

Add new assertion function with comprehensive tests following TDD

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md1.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

  1. Study the matching implementation under src/assert/ and tests under tests/unit/assert/, including parameter validation, return codes, and message checks. src/assert/index.sh lists assertion modules.
  2. 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, or assert_assertion_fails_with from src/assert/assertions.sh where appropriate. Match existing output comparisons when needed; there is no assert_fails.
  3. 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.
  4. 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.
  5. 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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Analyze test coverage and identify untested code paths

The English summary is being prepared. Showing the original description.

TypedDevs/bashunit436Updated Oct 18, 2026

commit

Free

Stage and commit changes using conventional commits format

The English summary is being prepared. Showing the original description.

TypedDevs/bashunit436Updated Oct 18, 2026

Debug and fix failing tests systematically

The English summary is being prepared. Showing the original description.

TypedDevs/bashunit436Updated Oct 18, 2026

Measure process costs and fork budgets when changing startup, per-file, per-test, parallel workers, reporting, or coverage paths; use for fork census and performance comparisons.

The English summary is being prepared. Showing the original description.

TypedDevs/bashunit436Updated Oct 18, 2026

Fetch GitHub issue, create branch, plan and implement with TDD, then open PR

The English summary is being prepared. Showing the original description.

TypedDevs/bashunit436Updated Oct 18, 2026

Walk over all open GitHub issues that are unassigned or assigned to the current user, and process each one via the /gh-issue skill, sequentially.

The English summary is being prepared. Showing the original description.

TypedDevs/bashunit436Updated Oct 18, 2026

See all skills by TypedDevs

Report a problem with this skill