Use when: (1) testing boundaries (database, APIs, queues), (2) writing acceptance tests for user workflows, (3) setting up test fixtures with real infrastructure, (4) questions about transaction rollback or HTTP test clients. For pure unit tests, use typescript-unit-testing skill instead.