
Write Bats Test
- 33 installs
- 19 repo stars
- Updated July 16, 2026
- dailybothq/deepworkplan-skill
Adds or extends bats-core tests for the repo's shell scripts following the existing tests/ convention.
About
Writes bats-core @test cases covering new or changed setup.sh and context.sh behavior, using throwaway temp dirs and asserting on the public contract. Developers use it when shell scripts gain or change a flag, detection branch, or output field.
- Asserts observable contract: JSON fields, symlink names, exit codes
- Tests run on bash 3.2 and leave no artifacts outside temp dirs
Write Bats Test by the numbers
- 33 all-time installs (skills.sh)
- Ranked #1,333 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dailybothq/deepworkplan-skill --skill write-bats-testAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 33 |
|---|---|
| repo stars | ★ 19 |
| Last updated | July 16, 2026 |
| Repository | dailybothq/deepworkplan-skill ↗ |
What it does
Adds or extends bats-core tests for the repo's shell scripts following the existing tests/ convention.
Files
Write Bats Test
Goal
Cover new or changed shell behavior with a bats-core test that matches the existing convention in tests/.
When to use
When setup.sh or skills/deepworkplan/shared/context.sh gains or changes behavior (a new flag, a new detection branch, a new output field).
Steps
1. Read the existing tests to match style and helpers: tests/setup-sh.bats, tests/context-sh.bats. 2. Add @test cases for the new behavior. Use a throwaway HOME/temp dir for any filesystem effect so the suite never touches the developer's ~/.claude. 3. Keep assertions on observable contract: emitted JSON fields from context.sh, created symlink names from setup.sh, exit codes. 4. Run bats tests/ and iterate until green.
Validation
bats tests/ passes, including the new cases, and the suite leaves no artifacts outside its temp dirs.
Notes
Tests must run on bash 3.2. Prefer testing the public contract (flags, symlink names, JSON keys) over internal implementation so refactors don't churn the suite.