Skip to content
Back to skills

Tdd Cycle

ASecurity

Run a complete RED -> GREEN -> REFACTOR cycle for a single test

  • 19 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
toolsbashrefactoring

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add Chemaclass/bashdep --skill tdd-cycle --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tdd Cycle?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tdd Cycle
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chemaclass-tdd-cycle/badge)](https://www.skillsdirectory.com/skills/chemaclass-tdd-cycle)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tdd-cycle
description: Run a complete RED -> GREEN -> REFACTOR cycle for a single test
allowed-tools: Read, Edit, Write, Bash, Grep, Glob
---

# TDD Cycle

Execute a complete RED -> GREEN -> REFACTOR cycle for one test.

## Workflow

### 1. Verify Task File

Check for `.tasks/YYYY-MM-DD-*.md`. If missing for a non-trivial change,
create one before proceeding.

### 2. RED - Write Failing Test

1. Show the test inventory from the task file; ask which test to implement
2. Read the surrounding tests in `tests/unit/bashdep_test.sh` to match style:
    - Pure-logic test (no filesystem) → add near the top
    - Filesystem test → add near the bottom; use `$TEST_DIR` and the
      `_seed_lock` / `_seed_installed` helpers
3. Reset `BASHDEP_*` globals in the test body if it depends on a mode flag
4. Run: `lib/bashunit tests --filter <test_name>` - **must fail**
5. Verify the failure is for the RIGHT reason (assertion mismatch, not
    syntax error or missing function)
6. Update the task file: current red bar + logbook entry

### 3. GREEN - Make It Pass

1. Write **minimal** code in `bashdep` - only enough to satisfy THIS test
2. Run: `lib/bashunit tests --filter <test_name>` - **must pass**
3. Run the full suite: `make test` - nothing else regressed
4. Update the task file: tick the test + logbook entry

### 4. REFACTOR - Improve Code

1. Improve readability, naming, extract duplication - no behavior changes
2. Run `make test` after each change
3. Quality checks: `make sa && make lint`
4. Update the task file with refactoring notes

### 5. Next Test

Show the updated test inventory. Ask whether to continue or stop.

## Critical Rules

- **Never skip RED** - always verify the test fails first
- **Minimal code in GREEN** - resist scope creep
- **All tests green during REFACTOR** - revert immediately if broken
- **Bash 3.2+** - see `.claude/rules/bash-style.md`
- **Honor modes** - any new mutating code must respect
  `BASHDEP_DRY_RUN`, `BASHDEP_SILENT`, `BASHDEP_VERBOSE`, `BASHDEP_FORCE`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…