test-writer
Write integration and unit tests for this codebase. Generate test files following repo patterns. Use when adding tests, improving coverage, writing test cases, or creating test suites.
allowed_tools: Read, Grep, Glob, Write, Edit, Bash
$ 安裝
git clone https://github.com/jamesjlundin/full-stack-web-and-mobile-template /tmp/full-stack-web-and-mobile-template && cp -r /tmp/full-stack-web-and-mobile-template/.claude/skills/test-writer ~/.claude/skills/full-stack-web-and-mobile-template// tip: Run this command in your terminal to install the skill
SKILL.md
name: test-writer description: Write integration and unit tests for this codebase. Generate test files following repo patterns. Use when adding tests, improving coverage, writing test cases, or creating test suites. allowed-tools: Read, Grep, Glob, Write, Edit, Bash
Test Writer
Creates tests following this repo's testing patterns.
When to Use
- "Write tests for..."
- "Add test coverage for..."
- "Create integration test"
- "Test this endpoint"
- "Add unit tests for mobile"
Test Locations
| Type | Location | Framework |
|---|---|---|
| Integration tests | packages/tests/src/ | Vitest |
| Mobile unit tests | apps/mobile/__tests__/ | Jest |
| Tools testing | packages/tools-testing/ | Custom |
| Evals | packages/evals/ | Custom |
Procedure
Step 1: Identify What to Test
Determine test type needed:
- API endpoint → Integration test in
packages/tests/src/ - React Native component → Unit test in
apps/mobile/__tests__/ - Shared package → Integration or unit test in package
Step 2: Read Existing Tests
Study patterns in existing tests:
Read: packages/tests/src/auth.cookie.test.ts
Read: packages/tests/src/stream.test.ts
Step 3: Write Test File
Use templates from templates.md.
Key patterns:
- Use
describefor grouping - Use
itfor test cases - Import helpers from
./http.ts - Use
getTestToken()for auth
Step 4: Run Tests
# Integration tests (requires web server)
pnpm -C apps/web dev & # Start server
pnpm test:integration
# Mobile unit tests
pnpm -C apps/mobile test
# Single test file
pnpm -C packages/tests vitest run src/{file}.test.ts
Step 5: Check Coverage
Ensure tests cover:
- Happy path (success case)
- Authentication (401 for protected routes)
- Validation (400 for bad input)
- Authorization (403 for forbidden)
- Edge cases
Test Categories
Must Test
- API endpoints (auth, validation, success)
- Database operations (CRUD)
- Authentication flows
- Rate limiting behavior
- Error handling
Should Test
- Input edge cases
- Concurrent requests
- Token expiration
- Mobile-specific flows
Guardrails
- ALWAYS follow existing test patterns
- ALWAYS clean up test data after tests
- NEVER hardcode credentials in tests
- NEVER skip authentication tests
- Use environment variables for config
- Tests must be deterministic (no random failures)
Repository

jamesjlundin
Author
jamesjlundin/full-stack-web-and-mobile-template/.claude/skills/test-writer
8
Stars
0
Forks
Updated6d ago
Added1w ago