Test-Driven Development Skill
SkillFiles & storageThis skill gives your AI a test-driven development workflow for writing code. Once added, your agent starts each coding task by writing tests that describe the expected behavior, then builds the code that passes those tests. The result is code that is checked against clear expectations as it is written.
Use Test-Driven Development Skill in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Test-Driven Development Skill and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Test-Driven Development Skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add the skill, then give your agent a coding task such as a new function or a bug fix. It will plan the tests first and write the code needed to satisfy them.
What your AI can do with it
- Write tests that describe expected behavior before writing the code
- Build features by making failing tests pass one at a time
- Fix bugs by first writing a test that reproduces the problem
- Refactor existing code while keeping the tests passing
- Apply the same test-first routine consistently across coding tasks
What this skill tells your AI
The instructions your AI receives, as published by 2ssk/dot-files in .claude/skills/tdd/SKILL.md and read by Ahel’s review.
Enforce TDD for every implementation task. This skill ensures quality throughtests first.
Workflow
Step 1 — Write Failing Test
- Identify the smallest unit of behavior
- Write test that fails because feature doesn't exist
- Use language-specific testing framework
- Keep test focused and simple
Step 2 — Write Minimal Code
- Implement only what's needed to pass test
- No optimization yet
- No additional features
- Get to green quickly
Step 3 — Refactor
- Clean up code while tests pass
- Improve structure, names, organization
- Ensure tests still pass
- No new functionality
Testing Patterns by Language
Go
func TestUnitName(t *testing.T) {
t.Run("should do thing", func(t *testing.T) {
// arrange
input := ...
expected := ...
// act
result := DoThing(input)
// assert
assert.Equal(t, expected, result)
})
}
TypeScript
describe('UnitName', () => {
it('should do thing', () => {
const input = ...;
const expected = ...;
const result = doThing(input);
expect(result).toEqual(expected);
});
});
C++
TEST_F(UnitNameTest, ShouldDoThing) {
auto input = ...;
auto expected = ...;
auto result = doThing(input);
EXPECT_EQ(expected, result);
}
Quality Gates
- All tests must pass before commit
- Coverage ≥ 80% for new code
- No flaky tests
- Fast execution (< 30s for unit tests)
Signals
- GitHub stars
- 250
- Forks
- 12
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
tdd- Source
- github.com/2ssk/dot-files
Related picks
Skill · davila7
The pick for C / C++golang-code-style
Skill · samber
The pick for Gogo-sdk-specialist
Skill · a5c-ai
The pick for Gopython-performance-optimization
Skill · wshobson
The pick for Pythonpython-pro
Skill · jeffallan
The pick for Pythonsetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScript