plan-tdd

Create a test-driven development plan for the project

Best use case

plan-tdd is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Create a test-driven development plan for the project

Teams using plan-tdd should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/plan-tdd/SKILL.md --create-dirs "https://raw.githubusercontent.com/stevengonsalvez/agents-in-a-box/main/toolkit/packages/skills/plan-tdd/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/plan-tdd/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How plan-tdd Compares

Feature / Agentplan-tddStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Create a test-driven development plan for the project

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

Create a test-driven development plan for the project: $ARGUMENTS

Follow these steps:

<!-- recall:begin -->

## Step 0: Prior-art check (MANDATORY)

Before writing the TDD plan, recall prior learnings from the global knowledge base so we don't re-learn or re-decide something already captured:

```bash
uv run "{{HOME_TOOL_DIR}}/skills/recall/scripts/recall.py" \
  "<QUERY>" \
  --limit 5 --format markdown
```

**Query construction for `/plan-tdd`**: task description + `"testing strategy"` + target module name (e.g. `"payment webhook testing strategy"`).

**What to do with results:**

- If a returned learning names a constraint, anti-pattern, or prior decision directly relevant to the task — surface it to the user BEFORE proceeding with this skill's main flow.
- If nothing relevant returns — proceed silently, no need to mention the check.
- Never block on recall failure. Empty output / non-zero exit is expected when the KB is absent or the subprocess errors — treat it as "no prior art found", not as an error.

<!-- recall:end -->

1. **Read the specification**:
   - Look for the spec file specified in $ARGUMENTS
   - If no file specified, look for `spec.md` or ask for the specification file path
   - Understand the project requirements, acceptance criteria, and expected behavior

2. **Draft a TDD-focused development blueprint**:
   - Break down the project into testable components and features
   - Identify the testing strategy: unit, integration, and end-to-end tests
   - Plan for incremental development with early and continuous testing
   - Ensure each step includes comprehensive test coverage
   - Design for testability from the beginning

3. **Create test-first development chunks**:
   - Review the breakdown and organize into TDD cycles
   - Ensure steps are small enough to implement safely with strong testing
   - Make sure steps provide meaningful progress while maintaining test coverage
   - Iterate until steps are appropriately sized for TDD methodology

4. **Generate TDD implementation prompts**:
   - Create detailed prompts that follow the TDD red-green-refactor cycle
   - For each step: write failing tests first, then implementation, then refactor
   - Prioritize best practices, incremental progress, and comprehensive testing
   - Ensure no big jumps in complexity between TDD cycles
   - Make sure each prompt builds on previous work with maintained test coverage
   - End with integration steps that wire everything together under test

5. **Structure the TDD workflow**:
   - Define the testing framework and tools to be used
   - Establish test file organization and naming conventions
   - Plan for test data management and mock strategies
   - Include performance and integration testing milestones

6. **Generate comprehensive documentation**:
   - Save the TDD plan as `tdd-development-plan.md`
   - Create `tdd-implementation-prompts.md` with step-by-step TDD prompts
   - Generate `testing-strategy.md` outlining the overall test approach
   - Include examples of expected test structure and patterns

Remember: Every feature should be developed test-first, with failing tests written before any implementation code.

Related Skills

plan

8
from stevengonsalvez/agents-in-a-box

Create a detailed implementation plan

plan-gh

8
from stevengonsalvez/agents-in-a-box

Create a detailed development plan and corresponding GitHub issues

workflow

8
from stevengonsalvez/agents-in-a-box

Guide through structured delivery workflow with plan, implement, validate phases

webapp-testing

8
from stevengonsalvez/agents-in-a-box

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

validate

8
from stevengonsalvez/agents-in-a-box

Verify implementation against specifications

ui-ux-pro-max

8
from stevengonsalvez/agents-in-a-box

UI/UX design intelligence. 67 styles, 96 palettes, 57 font pairings, 25 charts, 13 stacks (React, Next.js, Vue, Svelte, Astro, Nuxt, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.

tui-style-guide

8
from stevengonsalvez/agents-in-a-box

TUI style guide for consistent terminal interface design

token-usage

8
from stevengonsalvez/agents-in-a-box

Show Claude Code token usage across sessions — daily, weekly, per-project, and per-session breakdowns. Parses {{HOME_TOOL_DIR}}/projects/**/*.jsonl for consumption data. Use when the user asks about token usage, costs, how many tokens were used, session statistics, or wants a usage report.

tmux-status

8
from stevengonsalvez/agents-in-a-box

Show status of all tmux sessions including dev environments, spawned agents, and running processes

tmux-monitor

8
from stevengonsalvez/agents-in-a-box

Monitor and report status of all tmux sessions including dev environments, spawned agents, and running processes. Uses tmuxwatch for enhanced visibility.

tmux-message

8
from stevengonsalvez/agents-in-a-box

Reliable peer-to-peer message delivery to other Claude Code instances via tmux send-keys. Use as a fallback when claude-peers MCP send_message fails to surface in the receiver's inbox (delivered server-side but receiver never picks it up — observed behaviour). Also use when sending a directive to a known Claude Code TUI session by tmux session name or fuzzy hint, or when injecting a multi-line directive into a peer's prompt and submitting it. Trigger phrases — "claude-peers fallback", "tmux send-keys", "send to peer via tmux", "inject directive", "deliver to nanoclaw/hermes peer", "peer message". Tmux-only — won't reach peers running outside tmux.

test-driven-development

8
from stevengonsalvez/agents-in-a-box

Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.