Agent skill
assert
Test assertion module for validating expected behaviors, outputs, and environment states. Core Scenario: When the user is writing tests or scripts that require verification of commands, files, or variables.
Install this agent skill to your Project
npx add-skill https://github.com/x-cmd/skill/tree/main/data/x-cmd/assert
SKILL.md
assert - Robust Test Assertions
The assert module is a powerful tool for verifying that test results meet expectations. It is widely used in automated testing and CI/CD pipelines to ensure code correctness.
When to Activate
- When writing shell scripts that need to verify command success or failure.
- When performing regression tests on file systems (checks for non-empty, existence, etc.).
- When validating variable states or detecting global variable leaks.
- When checking stdout/stderr against expected patterns or content.
Core Principles & Rules
- Exit Code Focus: Commands return 0 on success and non-zero on failure to break script execution if combined with
set -e. - Negation Support: Use
!for negative command checks or^for negative type/file checks. - Bulk Verification: Many subcommands support checking multiple values or files in one go.
Additional Scenarios
- Variable Snapshots: Use
var saveandvar cmpto detect unintended global variable modifications in functions. - Output Matching: Use
stdoutwith heredocs to verify complex multi-line command outputs.
Patterns & Examples
Command and Type Verification
# Verify command success and multiple integer values
x assert true [ 1 -eq 1 ]
x assert is-int 10 20 30
File System Checks
# Ensure specific files exist and are not empty
x assert is-file /etc/hosts
x assert is-nonempty ./log.txt
Detecting Variable Leaks
# Capture state, run function, and check for leaks
x assert var save
my_function
x assert var cmp
Checklist
- Ensure the correct operator (
is-file,is-int, etc.) is used. - Confirm if negation (
!or^) is required for the test logic. - Verify that multi-line expectations match the stdin/heredoc format.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
pufferlib
High-performance reinforcement learning framework optimized for speed and scale. Use when you need fast parallel training, vectorized environments, multi-agent systems, or integration with game environments (Atari, Procgen, NetHack). Achieves 2-10x speedups over standard implementations. For quick prototyping or standard algorithm implementations with extensive documentation, use stable-baselines3 instead.
fluidsim
Framework for computational fluid dynamics simulations using Python. Use when running fluid dynamics simulations including Navier-Stokes equations (2D/3D), shallow water equations, stratified flows, or when analyzing turbulence, vortex dynamics, or geophysical flows. Provides pseudospectral methods with FFT, HPC support, and comprehensive output analysis.
metabolomics-workbench-database
Access NIH Metabolomics Workbench via REST API (4,200+ studies). Query metabolites, RefMet nomenclature, MS/NMR data, m/z searches, study metadata, for metabolomics and biomarker discovery.
geniml
This skill should be used when working with genomic interval data (BED files) for machine learning tasks. Use for training region embeddings (Region2Vec, BEDspace), single-cell ATAC-seq analysis (scEmbed), building consensus peaks (universes), or any ML-based analysis of genomic regions. Applies to BED file collections, scATAC-seq data, chromatin accessibility datasets, and region-based genomic feature learning.
zinc-database
Access ZINC (230M+ purchasable compounds). Search by ZINC ID/SMILES, similarity searches, 3D-ready structures for docking, analog discovery, for virtual screening and drug discovery.
astropy
Comprehensive Python library for astronomy and astrophysics. This skill should be used when working with astronomical data including celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, world coordinate systems (WCS), and astronomical data analysis. Use when tasks involve coordinate transformations, unit conversions, FITS file manipulation, cosmological distance calculations, time scale conversions, or astronomical data processing.
Didn't find tool you were looking for?