Skip to content
Development
Skill

/054-design-tdd

Use when Java implementation work should be guided by Test-Driven Development, including maintaining a test list, choosing the next behavior, writing a failing test first, implementing only enough production code to pass, and refactoring while keeping tests green. This should

From plugin
plinth
457124 skills

Claude Code

$ npx -y skills add jabrena/plinth --skill 054-design-tdd --agent claude-code

SKILL.md

054-design-tdd.SKILL.md
name: 054-design-tdd
description: Use when Java implementation work should be guided by Test-Driven Development, including maintaining a test list, choosing the next behavior, writing a failing test first, implementing only enough production code to pass, and refactoring while keeping tests green. This should trigger for requests such as Apply TDD; Use test-driven development; Drive this Java change with tests; Write the failing test first; Red-green-refactor this feature. Part of Plinth Toolkit
license: Apache-2.0
metadata:
  author: Juan Antonio Breña Moral
  version: 0.19.0

Test-Driven Development Design

Guide Java developers through Test-Driven Development for implementation work. **This is an interactive SKILL**.

**What is covered in this Skill?**

  • Maintaining or refining a list of candidate test cases
  • Selecting the next useful behavior or test case before editing production code
  • Writing a failing test first to clarify the public interface, API shape, or usage of the code
  • Writing only enough functional production code to pass the selected test
  • Refactoring new and existing code while tests remain green
  • Adding newly discovered test cases to the list without losing the current TDD cycle
  • Reporting skipped checks, missing tests, and remaining risks when verification is incomplete

Constraints

Keep implementation work inside the red-green-refactor cycle, with one selected behavior driving each small change.

  • **MUST** read `references/054-design-tdd.md` before applying TDD guidance
  • **MUST** maintain or refine a test list when more than one behavior, edge case, or question is in scope
  • **MUST** select the next useful behavior or test case before writing production code
  • **MUST** write or describe the failing test first and use it to clarify the public interface or usage
  • **MUST** implement only the functional production code needed to pass the selected failing test
  • **MUST** refactor new and existing code only after the selected test passes and while keeping tests green
  • **MUST** report skipped checks, missing tests, and remaining risks when verification is incomplete

When to use this skill

  • Apply TDD
  • Use test-driven development
  • Drive this Java change with tests
  • Write the failing test first
  • Red-green-refactor this feature
  • Build this behavior test first

Workflow

1. **Build the Test List**

Read `references/054-design-tdd.md`, then list candidate behaviors, edge cases, error paths, integration boundaries, and design questions that may need tests. Add newly discovered cases to the list as work proceeds.

2. **Select the Next Behavior**

Choose the next useful test case: small enough to implement in one cycle, valuable enough to move the design forward, and specific enough to expose the expected observable outcome.

3. **Write the Failing Test First**

Write or describe the failing unit, integration, acceptance, or characterization test before production code. Use the test to clarify the public interface, API shape, inputs, outputs, errors, or usage of the code.

4. **Make the Test Pass**

Implement the smallest functional production code needed to pass the selected test. Avoid speculative branches, abstractions, framework wiring, or cleanup that is not required by the current failing test.

5. **Refactor While Green**

After the selected test passes, refactor new and existing code to improve names, duplication, responsibility placement, type design, and test clarity while keeping the relevant tests green.

6. **Report and Continue**

Report the selected behavior, failing-test-first signal, code added to pass, refactoring performed, verification results, skipped checks, missing tests, and remaining risks. Return to the test list for the next cycle.

Reference

For detailed guidance, examples, and constraints, see [references/054-design-tdd.md](references/054-design-tdd.md).

Read more
@jabrena
Ships withplinth

Languages: Español · 中文 Help this project grow: Become a sponsor

Stars on GitHub

Momentum

stars in total
457
Star history of jabrena/plinth on GitHub, a chart by star-history.com

Other skills on plinth.

001-commands-inventory

001-commands-inventory

Use when you need to generate a checklist document with embedded commands inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
002-agents-inventory

002-agents-inventory

Use when you need to generate a checklist document with embedded agents inventory, following the embedded template exactly and…

@jabrena@jabrenaInstall Skill
003-skills-inventory

003-skills-inventory

Use when you need to generate a checklist document with Java system prompts from skills.xml, following the embedded section…

@jabrena@jabrenaInstall Skill
004-commands-installation

004-commands-installat…

Use when you need to install the embedded project commands into command directories (.github/commands, .claude/commands,…

@jabrena@jabrenaInstall Skill
005-agents-installation

005-agents-installatio…

Use when you need to install the embedded robot agents into .github/agents, .claude/agents, .cursor/agents, or .codex/agents,…

@jabrena@jabrenaInstall Skill
012-agile-epic

012-agile-epic

Guides the creation of agile epics with comprehensive definition including business value, success criteria, and breakdown into…

@jabrena@jabrenaInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about 054-design-tdd.

Which coding agents can use 054-design-tdd?
054-design-tdd installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.