Skip to content
Agentmart
Submit a tool

quality-assurance

Testing strategy, test pyramid, unit/integration/E2E testing, load testing, cross-browser testing, and code quality tooling.

Skill by harmansidhudev

IndexedMIT★ 1
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/harmansidhudev-quality-assurance

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Testing strategy, test pyramid, unit/integration/E2E testing, load testing, cross-browser testing, and code quality tooling.

Use cases: testing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/quality-assurance

What's inside

Skill name
quality-assurance
Description
Testing strategy, test pyramid, unit/integration/E2E testing, load testing, cross-browser testing, and code quality tooling.
License
MIT
Instructions
561 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Agent Skills spec issues

  • name: "quality-assurance" does not match folder "07-quality-assurance"
  • body: 561 lines (spec recommends under 500)

Files (9)

  • SKILL.md
  • cross-browser-checklist.md · references/
  • smoke.js · references/k6-load-test-templates/
  • soak.js · references/k6-load-test-templates/
  • spike.js · references/k6-load-test-templates/
  • auth.spec.ts · references/playwright-setup-template/example-tests/
  • navigation.spec.ts · references/playwright-setup-template/example-tests/
  • playwright.config.ts · references/playwright-setup-template/
  • testing-pyramid.md · references/

SKILL.md (first lines)

# Quality Assurance

You handle all testing strategy, test implementation, load testing, cross-browser validation, and code quality tooling. This skill covers the full testing pyramid from unit tests through production load testing.

## When this skill triggers

This skill activates when a developer asks about writing tests, setting up test infrastructure, improving code quality tooling, debugging flaky tests, load testing, or cross-browser compatibility.

---

## Testing Pyramid

Reference: `references/testing-pyramid.md`

Follow the testing pyramid to allocate effort correctly:

| Layer | Share | Speed | Tools | What to test |
|-------|-------|-------|-------|-------------|
| **Unit** | 70% | < 10ms each | Vitest | Pure functions, calculations, permissions, data transforms |
| **Integration** | 20% | < 2s each | Vitest + test DB | API routes, auth flows, DB queries, service interactions |
| **E2E** | 10% | < 30s each | Playwright | 4 critical user paths only |

<!-- beginner -->
**Why a pyramid?** Unit tests are fast and cheap. E2E tests are slow and brittle. If you write mostly E2E tests, your test suite takes 20 minutes and breaks constantly. The pyramid says: test most things at the unit level, some things with real integrations, and only the most critical user flows end-to-end.

<!-- intermediate -->
The pyramid is a cost model. Unit tests give the fastest feedback per dollar of maintenance. Integration tests catch wiring bugs that unit tests miss. E2E tests validate the 4 paths that would cost you customers if broken.

<!-- senior -->
70/20/10 split. Unit for logic, integration for wiring + DB, E2E for critical paths only. Track flake rate — kill any E2E test above 2%.

---

## Unit Tests

Reference: `references/testing-pyramid.md`

### Recommended stack

**Vitest** — drop-in replacement for Jest with native ESM, TypeScript, and Vite integration. Faster cold starts, native code coverage via v8.

### What to unit test

Focus 80% of unit test coverage on **business logic**, not UI:

| Test this | Skip this |
|-----------|-----------|
| Payment calculations | React component renders |
| Permission checks | CSS class assertions |
| Data transformations | Snapshot tests (fragile) |
| Validation logic | Third-party library wrappers |
| State machine transitions | Simple getters/setters |
| Date/currency formatting | Framework boilerplate |

### Copy-paste Vitest config

```ts
// vitest.config.ts
import { defineConfig } from 'vitest/config';
import path from 'path';

export default defineConfig({
  test: {
    globals: true,
    environment: 'node',
    include: ['src/**/*.test.ts', 'src/**/*.spec.ts'],
    exclude: ['src/**/*.e2e.ts', 'node_modules'],
    coverage: {
      provider: 'v8',
      reporter: ['text', 'lcov', 'html'],
      include: ['src/**/*.ts'],
      exclude: [
        'src/**/*.test.ts',
        'src/**/*.spec.ts',
        'src/**/*.d.ts',
        'src/**/types.ts',
        'src/**/index.ts',
      ],
      thresholds: {
        // [CUSTOMIZE] Adjust thresholds per your project maturity
        statements: 80,
        branches: 75,
        functions: 80,
        lines: 80,
      },
    },
    setupFiles: ['./src/test/setup.ts'],
  },
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'),
    },
  },
});
```

### Example unit test

```ts
// src/features/billing/utils/calculate-invoice.test.ts
import { describe, it, expect } from 'vitest';
import { calculateInvoiceTotal } from './calculate-invoice';

describe('calculateInvoiceTotal', () => {
  it('sums line items correctly', () => {
    const items = [
      { quantity: 2, unitPrice: 10.0 },
      { quantity: 1, unitPrice: 25.5 },
    ];
    expect(calculateInvoiceTotal(items)).toBe(45.5);
  });

  it('applies percentage discount', () => {
    const items = [{ quantity: 1, unitPrice: 100 }];
    expect(calculateInvoiceTotal(items, { discountPercent: 20 })).toBe(80);
  });

  it('returns 0 for empty items', () => {
    expect(calculateInvoiceTotal([])).toBe(0);

From harmansidhudev/shipwise, MIT.

More from harmansidhudev/shipwise

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Mar 24, 2026 (7 months ago)
Last release
Mar 24, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from harmansidhudev

Cite this page

quality-assurance skill. Agent Mart. https://agentmart.dev/skills/harmansidhudev-quality-assurance (last updated 2026-10-24)