Supports TDD workflows with red-green-refactor cycles. Focuses on testing public interfaces for robust software.

Install

mkdir -p .claude/skills/tdd-navikt && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13406" && unzip -o skill.zip -d .claude/skills/tdd-navikt && rm skill.zip

Installs to .claude/skills/tdd-navikt

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Testdrevet utvikling — test-first, red-green-refactor, bugfiks med reproduksjonstest og ny funksjonalitet med tester først. Brukes via /tdd ved testdrevet arbeidsflyt.
167 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Clarify interface changes with the user
  • List behaviors to be tested
  • Write one test to confirm one system aspect
  • Incrementally add tests and minimal code to pass them
  • Refactor after all tests pass

How it works

The skill guides a Test-Driven Development (TDD) workflow, emphasizing test-first, red-green-refactor cycles, and testing through public APIs.

Inputs & outputs

You give it
User requirements for new functionality or bug fixes
You get back
Tested code with verified behavior through public interfaces

When to use tdd

  • Run TDD red-green cycle
  • Write tests for new features
  • Reproduce bugs with failing tests
  • Refactor existing logic safely

About this skill

Testdrevet utvikling

Filosofi

Kjerneprinsipp: Tester verifiserer atferd gjennom offentlige grensesnitt, ikke implementasjonsdetaljer. Koden kan endres totalt — testene skal overleve.

Gode tester tester gjennom offentlige API-er. De beskriver hva systemet gjør. "Bruker kan sende søknad med gyldig skjema" forteller nøyaktig hvilken funksjon som finnes. Disse testene overlever refaktoreringer fordi de ikke bryr seg om intern struktur.

Dårlige tester er koblet til implementasjon. De mocker interne samarbeidspartnere, tester private metoder, eller verifiserer gjennom eksterne mekanismer. Varseltegn: testen feiler ved refaktorering, men atferden er uendret.

Anti-mønster: Horisontale skiver

IKKE skriv alle tester først, deretter all implementasjon. Det er å behandle RED som "skriv alle tester" og GREEN som "skriv all kode."

FEIL (horisontalt):
  RED:   test1, test2, test3, test4, test5
  GREEN: impl1, impl2, impl3, impl4, impl5

RIKTIG (vertikalt):
  RED→GREEN: test1→impl1
  RED→GREEN: test2→impl2
  RED→GREEN: test3→impl3

Arbeidsflyt

1. Planlegg

  • Avklar med bruker hvilke grensesnittendringer som trengs
  • Avklar hvilke atferder som skal testes (prioriter)
  • List atferdene som skal testes (ikke implementasjonssteg)
  • Få brukerens godkjenning

Spør: "Hvilket grensesnitt skal vi eksponere? Hvilke atferder er viktigst å teste?"

2. Tracer bullet

Skriv ÉN test som bekrefter ÉN ting om systemet:

RED:   Skriv test → feiler
GREEN: Minimal kode for å bestå → bestått

3. Inkrementell loop

For hver gjenværende atferd:

RED:   Neste test → feiler
GREEN: Minimal kode → bestått

Regler:

  • Én test om gangen
  • Bare nok kode til å bestå gjeldende test
  • Ikke forutse fremtidige tester
  • Fokus på observerbar atferd

4. Refaktorer

Etter at alle tester består:

  • Ekstraher duplisering
  • Flytt kompleksitet bak enkle grensesnitt
  • Kjør tester etter hvert refaktoreringssteg

Aldri refaktorer mens RED. Kom til GREEN først.

Sjekkliste per syklus

[ ] Test beskriver atferd, ikke implementasjon
[ ] Test bruker kun offentlig grensesnitt
[ ] Test ville overlevd intern refaktorering
[ ] Kode er minimal for denne testen
[ ] Ingen spekulative funksjoner lagt til

Mocking

  • Mock ved systemgrenser (HTTP, database, filsystem), ikke mellom interne moduler
  • Hvis du må mocke en intern samarbeidspartner, er modulgrensen feil
  • Foretrekk dependency injection over monkey-patching

When not to use it

  • When writing all tests first before any implementation
  • When refactoring while tests are failing (RED state)
  • When mocking internal collaborators instead of system boundaries

Limitations

  • Tests must describe behavior, not implementation details.
  • Tests must use only public interfaces.
  • Refactoring is only allowed when all tests pass (GREEN state).

How it compares

This skill enforces a vertical, incremental TDD workflow, focusing on testing behavior through public interfaces and refactoring only in the GREEN state, unlike a horizontal approach or testing implementation details.

Compared to similar skills

tdd side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
tdd (this skill)03moNo flagsIntermediate
tdd-workflow64moReviewIntermediate
qlty-check57moReviewBeginner
superpowers-tdd56moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry