What problem does it solve? Shell scripts often ship without automated tests, making regressions and edge-case failures hard to catch. This Skill provides structured patterns for writing, organizing, and running Bats (Bash Automated Testing System) test suites for shell scripts. ## Core Features & Use Cases - Assertion Patterns: Covers exit code, output, multi-line, and file-based assertions using Bats built-ins like run, $status, $output, and $lines. - Fixtures, Mocking, and Stubbing: Shows how to build fixture directories, stub external commands via PATH injection, and mock functions for isolated unit tests. - CI/CD Integration: Includes GitHub Actions and Makefile configurations for running Bats suites with TAP output and parallel execution. - Use Case: You maintain a set of deployment shell scripts and want to add them to a CI pipeline. Use this Skill to generate a Bats test suite with setup/teardown, stubbed network calls, and TAP reporting. ## Quick Start Write a Bats test suite for my shell script that verifies its exit codes and output, including setup, teardown, and a stubbed curl dependency.