agentsclimarketplace

Nebo testing qa

Skill lifenewjob/nebo-claude-skills-public/skills/nebo-testing-qa

TESTING-QA. Triggers: TDD, тесты, pytest, coverage, code review QA, BDD, mutation testingFrom its SKILL.md

Install
npx -y skills add lifenewjob/nebo-claude-skills-public --skill nebo-testing-qa

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.9 KB, ~1.7k tokens by cl100k_base, as published. Nobody here has run it

TESTING-QA SuperSkill

Заменяет: 8 скилов кластера TESTING-QA (job-analytics, skyvern, fastmonai, opensquad, specflow, tdd-workflows, tdd-mastery, testing-strategies) Триггеры: TDD, тесты, pytest, coverage, code review QA, BDD, mutation testing Версия: 1.0 | 26.03.2026

КОГДА ПРИМЕНЯТЬ

  • Написание тестов / TDD цикл
  • Git diff QA validation (PR review)
  • Architecture plan review (staff review)
  • Coverage analysis и пороги
  • Property-based / mutation / snapshot / contract testing
  • BDD / SpecFlow
  • AI-powered test generation

АТОМЫ (уникальные инструкции)

TDD Red-Green-Refactor

  1. RED: Напиши failing test, определяющий desired behavior — ПЕРЕД любым production code
  2. GREEN: Напиши МИНИМАЛЬНЫЙ код чтобы тест прошёл — не больше
  3. REFACTOR: Очисти код, все тесты зелёные
  • Цикл = 2-10 минут; если дольше — scope слишком большой
  • Outside-in TDD для features/user-stories; Inside-out TDD для компонентов/библиотек
  • Chicago School (state-based) vs London School (mockist/interaction-based)

Test Structure

  • Arrange-Act-Assert в каждом тесте
  • Naming: test_<unit>_<scenario>_<expected> (Python/Go) или it("should <behavior> when <condition>") (JS/TS)
  • Каждый тест independent и self-contained — нет shared mutable state
  • Test behavior, NOT implementation — тесты должны пережить рефакторинг

Coverage Rules

  • 80% line coverage minimum в CI
  • 75% branch coverage minimum
  • Exclude: generated code, type definitions, config files
  • Конкретные команды:
    • vitest run --coverage --coverage.thresholds.lines=80 --coverage.thresholds.branches=75
    • pytest --cov=src --cov-fail-under=80 --cov-branch
    • go test -coverprofile=cover.out -coverpkg=./... ./...
  • НИКОГДА тесты только ради coverage numbers — test behavior

Test Pyramid

  • 70% unit / 20% integration / 10% E2E
  • Unit: одна функция/класс, <100ms, mock все external dependencies
  • Integration: module boundaries, <5s, реальная DB/FS допустима
  • E2E: full user flow, <30s, full stack
  • Mark slow: @pytest.mark.slow, @pytest.mark.e2e

Mocking Guidelines

  • Mock на границах: HTTP clients, databases, file systems, clocks
  • НИКОГДА mock unit under test
  • Prefer fakes (in-memory implementations) над mocks для repositories
  • Assert on behavior, не на mock call counts
  • DI > module mocking

Git Diff QA Validation (skyvern)

  • QA diff-driven: git diff → understand affected behavior → validate
  • Classify: frontend/browser, backend API, backend-internal, mixed
  • Mixed: backend FIRST, потом frontend (broken backend → untrustworthy frontend)
  • Backend-internal: compile/type/lint + targeted tests — НЕ browse UI
  • Frontend: browser automation с deterministic DOM assertions (document.querySelector)
  • Backend API: changed endpoints → happy path + empty/not-found + invalid input + mutation follow-up
  • Health gate: error messages, blank pages, auth redirects, JS errors
  • Network check: performance.getEntriesByType('resource').filter(e => e.responseStatus >= 400)
  • Post QA report как sticky PR comment с <!-- skyvern-qa-report --> marker

Contract Testing (Pact)

  • .given(state).uponReceiving(description).withRequest().willRespondWith().executeTest()
  • Consumer expectations match provider capabilities без обоих запущенных сервисов
  • Contract violations = build fails — без исключений

SpecFlow BDD Contracts

  • YAML в docs/contracts/: contract_meta (id, version, covers_reqs) + rules (non_negotiable: forbidden_patterns + required_patterns) + compliance_checklist
  • REQ ID format: [DOMAIN]-[NUMBER] (ARCH-001, AUTH-001, FEAT-001, SEC-001)
  • Architecture contracts ПЕРЕД feature contracts
  • Contract tests ПЕРЕД build; journey tests ПОСЛЕ build
  • Override: user must explicitly say override_contract: [CONTRACT_ID]

Journey Testing (BDD E2E)

  • Journey = Definition of Done: feature complete когда journeys pass
  • test.describe('Journey: [J-REQ-ID]') с Playwright step-by-step
  • Plain English requirements → REQ IDs → contract YAML → contract tests → journey tests

Property-Based Testing

  • fast-check (JS/TS), Hypothesis (Python), QuickCheck (Haskell)
  • Assert invariants: output length preservation, sort order, idempotency
  • fc.assert(fc.property(arbitraries, predicate))
  • Для algorithmic code specifically

Mutation Testing

  • Validate test suite quality: kill mutants = good tests
  • If mutants survive → tests insufficient
  • Integrate в CI pipeline

Snapshot Testing

  • toMatchSnapshot() для component render output
  • Inline snapshots (toMatchInlineSnapshot()) для small outputs
  • Review snapshot diffs carefully в code review — НИКОГДА blindly update

Staff Review (Architecture Plans)

  • Check: failure modes, race conditions, data integrity, rollback, security, performance cliffs
  • YAGNI: interfaces с single implementation = violation
  • Completeness: success criteria, testing strategy, observability, docs, deployment
  • Severity: Critical (blocks approval), Medium (should address), Minor (nice to have)
  • Verdict: GO, GO WITH CONDITIONS, REVISE
  • Prefer reversible decisions when uncertain

Integration Testing с Containers

  • Testcontainers (@testcontainers/postgresql) для real DB
  • beforeAll: start container + migrate; afterAll: close + stop
  • Timeout: 60s для container startup

ЗАПРЕЩЕНО

  • Test implementation details вместо behavior
  • Тесты которые проходят при удалении кода (tautological)
  • Shared mutable state между тестами
  • Игнорировать flaky tests (fix root cause!)
  • Test private methods directly
  • Giant test setup скрывающий intent
  • Tests depending on execution order
  • Mock всё в integration tests (use real dependencies)
  • Test trivial getters/setters при пропуске edge cases

БЫСТРЫЙ СТАРТ

  1. TDD: RED (failing test) → GREEN (minimal code) → REFACTOR; цикл 2-10 мин
  2. Coverage: 80% lines / 75% branches; pyramid 70/20/10; mock только на границах
  3. Diff QA: classify (frontend/backend/mixed) → backend first → deterministic assertions → sticky PR comment

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 3 of the 12 instructions most tdd skills give in ~1.7k tokens

Counted across 439 of the 443 authors here whose files we hold, read 2026-08-07

  • Write minimal code to pass the testhere, and in 304 of 439, across 222 files
  • Write a failing test firstin 174 of 439, across 111 files
  • Refactor code only after tests passin 172 of 439, across 102 files
  • Watch the test fail before writing codehere, and in 145 of 439, across 97 files
  • Test one behavior per testin 108 of 439, across 46 files
  • Refactor code while keeping tests greenhere, and in 100 of 439, across 88 files
  • Delete code written before testsin 99 of 439, across 55 files
  • Run tests after each refactor stepin 88 of 439, across 57 files
  • Confirm the test fails for the right reasonin 66 of 439, across 62 files
  • Use real code instead of mocks unless unavoidablein 60 of 439, across 17 files
  • Reproduce bugs with a test before fixingin 53 of 439, across 36 files
  • Write tests before implementationin 51 of 439, across 43 files

Said here and by no other author read

  • keep the test cycle between two and ten minutes
  • keep seventy five percent branch coverage minimum
  • validate git diff affected behavior before qa review
  • review backend changes before frontend changes
  • write architecture contracts before feature contracts

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.