Use when writing, reviewing, or diagnosing any automated test regardless of scope or framework. Triggers on: writing new tests, reviewing test quality, identifying test smells, naming tests, structuring test suites, or deciding which scope skill to apply.
How this skill is triggered — by the user, by Claude, or both
Slash command
/feima-awesome-harness:auto-testThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Core principles that apply to every automated test regardless of scope (unit, integration, e2e, contract, performance) or framework. Scope skills extend these; they do not replace them.
Core principles that apply to every automated test regardless of scope (unit, integration, e2e, contract, performance) or framework. Scope skills extend these; they do not replace them.
After applying universal principles, identify the test scope and load the corresponding skill:
| Scope | Load skill |
|---|---|
| Testing one function/class in isolation | unit-test |
| Testing a real integration boundary (DB, queue, service) | integration-test |
| Testing full user-facing flows through the live stack | e2e-test |
| Testing the contract between a consumer and provider | contract-test |
| Testing latency, throughput, or resource behaviour under load | performance-test |
assert call.should_<outcome>_when_<condition> or <unit>_<scenario>_<expectation>.if, for, switch inside test bodies. Use parameterisation instead.sleep, no wall-clock assertions, no fixed timestamps.| Principle | Unit | Integration | E2E | Contract | Performance |
|---|---|---|---|---|---|
| External dependencies | Always double | Real by design | Real by design | Stubbed provider | Real target system |
| Isolation strategy | Pure in-process | Transaction rollback, container reset | Per-test accounts, data namespacing | Published artifact | Environment isolation, baseline variance budget |
| AAA mapping | Setup → call → assert | Seed → trigger → assert DB/API state | Navigate/seed → user action → visible outcome | Consumer expectation → provider verification | Configure load → run → assert vs SLO |
| Determinism concern | Logic-level | Data state | UI state + network | Schema version | Statistical; requires baseline + variance budget |
| Smell | Description |
|---|---|
| Interleaved AAA | Arrange and assert mixed into the act block |
| Mystery guest | Test depends on state set up outside the test body |
| Eager test | Multiple behaviours asserted in one test |
| Sensitive equality | Asserting on exact timestamps, IDs, or generated values |
| Commented-out test | Dead test neither deleted nor explained |
| Tautological assertion | Assert that x == x or mirrors the implementation trivially |
| Sleepy test | sleep or fixed timeout instead of condition-based waiting |
| Setup leakage | Fixture or before-hook does real work that belongs in arrange |
| No assertion | Test body has no assertion; passes vacuously |
test_save() says nothing about the scenario or expected outcome.npx claudepluginhub feimacode/feima-awesome-harness --plugin feima-awesome-harnessProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.