nearform/unwind/uw-analyze-unit-tests
Claude Code and agent skill by nearform/unwind
- community
Checking that the SKILL.md file is still in the repository.
Use when analyzing unit test coverage, patterns, and test code for isolated component testing
Install
npx vskill@latest install nearform/unwind/uw-analyze-unit-testsSKILL.md
Analyzing Unit Tests
Output: docs/unwind/layers/unit-tests/ (folder with index.md + section files)
Principles: See analysis-principles.md - completeness, machine-readable, link to source, no commentary, incremental writes.
Output Structure
For large codebases (50+ test files), split by domain:
Process (Incremental Writes)
Step 1: Setup
Write initial index.md:
Step 2: Analyze and write service-tests.md
- Find all service layer tests
- Include actual test code showing what is tested
- Write
service-tests.mdimmediately - Update
index.md
Step 3: Analyze and write domain-tests.md
- Find all domain/entity tests
- Write
domain-tests.mdimmediately - Update
index.md
Step 4: Analyze and write utilities.md
- Find test utilities, factories, mocks
- Write
utilities.mdimmediately - Update
index.md
Step 5: Analyze and write coverage-gaps.md
- Identify classes without tests
- Write
coverage-gaps.mdimmediately - Update
index.md
Step 6: Finalize index.md Add coverage summary table
Output Format
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.9.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>5.0.0</version> <scope>test</scope> </dependency>
@ExtendWith(MockitoExtension.class) class UserServiceTest {
@Mock private UserRepository userRepository;
@Mock private PasswordEncoder passwordEncoder;
@InjectMocks private UserService userService;
@Test void createUser_success() { CreateUserRequest request = new CreateUserRequest("test@example.com", "password", "Test"); when(userRepository.existsByEmail(request.email())).thenReturn(false); when(passwordEncoder.encode(request.password())).thenReturn("encoded"); when(userRepository.save(any())).thenAnswer(inv -> inv.getArgument(0));
User result = userService.createUser(request);
assertThat(result.getEmail()).isEqualTo("test@example.com"); verify(userRepository).save(any()); }
@Test void createUser_duplicateEmail_throws() { CreateUserRequest request = new CreateUserRequest("existing@example.com", "password", "Test"); when(userRepository.existsByEmail(request.email())).thenReturn(true);
assertThrows(DuplicateEmailException.class, () -> userService.createUser(request)); } }
class UserTest {
@Test void suspend_activeUser_setsSuspended() { User user = new User("test@example.com", "hash"); user.setStatus(UserStatus.ACTIVE);
user.suspend();
assertThat(user.getStatus()).isEqualTo(UserStatus.SUSPENDED); }
@Test void suspend_deletedUser_throws() { User user = new User("test@example.com", "hash"); user.setStatus(UserStatus.DELETED);
assertThrows(IllegalStateException.class, () -> user.suspend()); } }
public class TestDataFactory { public static User createUser() { return new User("test@example.com", "encodedPassword"); }
public static Order createOrder(User user) { Order order = new Order(user); order.addItem(createProduct(), 2); return order; } }
Refresh Mode
If docs/unwind/layers/unit-tests/ exists, compare current state and add ## Changes Since Last Review section to index.md.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/uw-analyze-unit-tests/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/nearform/unwind/uw-analyze-unit-tests)