Przejdź do treści
Biblioteka skilli
Programowanie · Testowanie

wicked-garden-qe-fuzz-property-engineer

/wicked-garden-qe-fuzz-property-engineer

Szuka danych wejściowych, o których zapominają zwykłe testy, metodami property-based testing i fuzzingu.

Repozytorium
wicked-garden ↗
Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

95/ 100Klasa: dobry
Format20 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Szuka danych wejściowych, o których zapominają zwykłe testy, metodami property-based testing i fuzzingu.

Oryginalny opis (EN)

Property-based and fuzz testing — Hypothesis (Python), fast-check (TS), AFL/libFuzzer for native code. Finds inputs example tests never consider. Use when: property testing, fuzzing, adversarial input, parser / state machine verification.

Jak działa

  1. Property testing
  2. Fuzz testing
  3. Rules
  4. Run what you write — never ship
  5. Output
Sekcje z nagłówków SKILL.md, w oryginale · 59 linii, 320 słów
Podgląd SKILL.md
---
name: wicked-garden-qe-fuzz-property-engineer
description: |
  Property-based and fuzz testing — Hypothesis (Python), fast-check (TS),
  AFL/libFuzzer for native code. Finds inputs example tests never consider.

  Use when: property testing, fuzzing, adversarial input, parser / state
  machine verification.
metadata:
  role: worker
---

# Fuzz / Property Engineer

Example-based tests find bugs you imagined. Property-based and fuzz
testing find the ones you didn't.

## Property testing

Framework detection:
- Python → `hypothesis`
- TypeScript/JavaScript → `fast-check`
- Java/Kotlin → `jqwik`
- Go → native `testing/quick` or `gopter`
- Rust → `proptest`

Invariants to assert (candidates, not mandates):
- Round-trip: `decode(encode(x)) == x`
- Idempotence: `f(f(x)) == f(x)`
- Commutativity / associativity where applicable
- Order independence (no matter the input order, same output)
- No exceptions on any valid input

## Fuzz testing

- **libFuzzer / AFL++** for C / C++ / Rust binaries
- **go-fuzz** for Go
- **Atheris** for Python
- **Jazzer** for JVM

Target: parsers, deserializers, crypto code, sanitizers.

## Rules

- Start with a seed corpus from real data (anonymized)
- Define crash criteria — segfault, OOM, panic, assertion
- Minimize discovered crashes before filing
- Integrate into CI as a nightly job — not every PR

## Run what you write — never ship

The `wicked-garden-qe` skill's `refs/author.md` § Verified-test contract binds
every test you produce, whether dispatched or invoked directly:

- Run every file you write with the project's own harness and report
  file · exact command · result (`N passed / N failed`); not run =
  `unverified`, never `covered`; a red test ships as `failing` with the
  reason, never as green.
- A test that needs a server, seed data or a build is `needs-fixture` with
  how to start it, and is run against that fixture before it is claimed.
- Claim pre-existing coverage only with `path:line` of the test; count new
  tests separately from cited pre-existing ones.
- Never `git push` / `gh pr create` / `gh pr merge` — the run's deliver phase
  opens the PR; standalone, the human does. Leave the files on the working tree.

## Output

Property test files (checked in) + any crash-inducing inputs (filed as
issues with minimized repro).

Wersje

W bazie nie ma innych skilli o nazwie wicked-garden-qe-fuzz-property-engineer.

Migawka bazy z 28.10.2026 · wersja paczki d7bda1311f9c (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100fuzzing
    Konfiguruje fuzzing kodu C/C++ w libFuzzer i AFL++: punkty wejścia przy parsowaniu i I/O, integracja z CI, zarządzanie korpusami, sanitizery i OSS-Fuzz.
  • 100cargo-fuzz
    Prowadzi fuzzing kodu Rust w projektach Cargo narzędziem cargo-fuzz z backendem libFuzzer.
  • 100cargo-fuzz
    Prowadzi fuzzing kodu Rust w projektach Cargo narzędziem cargo-fuzz z backendem libFuzzer.
  • 90quality-property-based-testing
    Podpowiada w testach opartych na właściwościach: testach generatywnych, fuzzingu, QuickCheck i fast-check oraz testowaniu niezmienników.
  • 100property-based-testing
    Pisze testy oparte na własnościach z fast-check (TS/JS) i Hypothesis (Python): generowanie danych testowych, szukanie przypadków brzegowych i testy w stylu QuickCheck.
  • 100add-fuzz-target
    Dodaje w remindb nową funkcję Fuzz* do wyszukiwania paniki i odporności na błędne dane wejściowe oraz rozszerza korpus startowy istniejącego celu fuzzingu.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.