.claude/skills/test-engineering/SKILL.md
Use when the Integrator is writing unit tests, e2e tests, designing test strategies, improving test coverage, creating test fixtures, or mocking dependencies. Activates for any testing-related work including TDD, test refactoring, or test debugging.
npx skillsauth add dsivov/ai_development_team test-engineeringInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Apply this guidance when:
Every test should follow this pattern:
test("should calculate total with tax", () => {
// Arrange — Set up test data and dependencies
const cart = createCart([{ price: 100 }, { price: 50 }]);
const taxRate = 0.1;
// Act — Execute the code under test
const total = calculateTotal(cart, taxRate);
// Assert — Verify the result
expect(total).toBe(165);
});
| Test | Example | |------|---------| | Happy path | Valid input produces expected output | | Edge cases | Empty input, boundary values, max/min | | Error cases | Invalid input, missing data, exceptions | | State transitions | Before/after mutation operations |
Test names should describe the scenario and expected outcome:
should return empty array when no items match filtershould throw ValidationError when email is invalidshould update timestamp after successful saveFeature: User authentication
Scenario: Successful login
Given a registered user with email "[email protected]"
When they submit valid credentials
Then they receive an auth token
And they can access protected resources
| Mock | Don't Mock | |------|-----------| | External APIs and services | The code under test | | Database in unit tests | Pure functions | | File system in unit tests | Data transformations | | Time/randomness | Simple dependencies |
Before committing (via /commit-work), verify:
development
Use when the Architect is breaking down change requests into implementable tasks, defining acceptance criteria, estimating task size, mapping dependencies, or creating technical sub-tasks for Developer and Integrator.
development
Use when the Architect is designing system architecture, choosing technology stacks, defining data models, designing APIs, making scalability decisions, or updating ARCHITECTURE.md. Activates for any architecture design, technology evaluation, or system structure discussion.
documentation
Use when the Manager is writing status updates, daily reports, queue messages to team members, escalation notices, or cross-role coordination messages. Activates when composing any team communication, reports, or documentation updates.
devops
Use when the Production Engineer is planning rollback strategies, reverting a bad release, handling data migration reversals, managing feature flags, implementing hotfix workflows, or preparing disaster recovery procedures. Activates when discussing rollbacks, reverts, or recovery from failed deployments.