Add or extend a bats-core test for the shell scripts, following the tests/ convention. Use when changing setup.sh or context.sh behavior.
Install
npx skillscat add dailybothq/deepworkplan-vim/write-bats-test Install via the SkillsCat registry.
SKILL.md
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
- Read the existing tests to match style and helpers:
tests/setup-sh.bats,tests/context-sh.bats. - Add
@testcases for the new behavior. Use a throwawayHOME/temp dir for
any filesystem effect so the suite never touches the developer's~/.claude. - Keep assertions on observable contract: emitted JSON fields from
context.sh, created symlink names fromsetup.sh, exit codes. - 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.