6 skills.
Use when asked to write Given/When/Then scenarios, Gherkin feature files, or explain behavior-driven development (BDD) — as distinct from test-driven development's red/green/refactor cycle (see test-driven-development), which BDD layers a shared-language discipline on top of.
Use when asked to create or apply a code review checklist — a structured set of things a reviewer checks on a code change (correctness, tests, readability, security, scope) — to keep reviews consistent across reviewers rather than dependent on whoever happens to review, as distinct from [[refactoring]], which is the act of restructuring code rather than evaluating someone else's change.
Use when asked to set up or run pair programming — driver/navigator roles, in-person and remote setups — as a real-time collaborative alternative to solo development plus asynchronous code review, and a common practice alongside test-driven-development.
Use when asked to write a spec before implementation, structure a spec-first repository (spec/index.md, per-topic specs), or explain specification-driven development — as distinct from test-driven development (see test-driven-development), which drives design from tests rather than a written specification document.
Use when asked to create or maintain a technical debt register — a tracked, visible list of known shortcuts, deferred fixes, and code needing rework — so debt is a deliberate, chosen tradeoff rather than something invisible until it causes a problem, as distinct from [[refactoring]], which is the act of paying down debt rather than tracking that it exists.
Use when asked to write code test-driven — red/green/refactor, writing the failing test first, or explaining TDD's benefits and limits — as distinct from behavior-driven development's given/when/then framing (see behavior-driven-development) or writing tests after the fact.