BlockWatch

Prawdziwy linter Rust, który wykrywa dryf kodu/dokumentacji za pomocą tagów komentarzy <block affects=...> -- zweryfikowany rzeczywistym skompilowanym binarnym plikiem, a nie tylko czytaniem kodu źródłowego.

Autor: mennanov · mennanov/blockwatch

Testowano · Działa ★ 9.2/10

BlockWatch — Prawdziwy linter Rust, który wykrywa dryf kodu/dokumentacji za pomocą tagów komentarzy <block affects=...> -- zweryfikowany rzeczywistym skompilowanym binarnym plikiem, a nie tylko czytaniem kodu źródłowego.

Co robi ten skill

Niezależny od języka linter (Rust CLI, instalowalny przez cargo lub brew), który waliduje tagi <block> w stylu HTML umieszczone w komentarzach plików źródłowych: listy keep-sorted/keep-unique, ograniczenia wzorców linii/liczby linii i linki affects, które powodują, że sparowany plik (np. enum i jego tabela README) zmienia się razem. Uruchamia się podczas pisania lub edycji kodu w projekcie, który już używa BlockWatch, lub gdy plik już zawiera tagi <block ...>; umiejętność instruuje agenta, aby dodał tagi w tej samej edycji, która wprowadza wzorzec możliwy do zabezpieczenia, i aby zweryfikował za pomocą `git diff --patch | blockwatch`.

Raport z testu

Zainstalowałem rzeczywisty plik binarny za pomocą `brew install mennanov/blockwatch/blockwatch` (zaufany formuła, skompilowany w 1s) i przeprowadziłem pełny test A/B w wyrzuconym repozytorium git: naiwna edycja bazowa dodała język do listy Pythona, ale cicho zapomniała o pasującym wierszu README bez żadnego ostrzeżenia, podczas gdy edycja kierowana przez umiejętność dodała tagi `<block affects=...>` w tej samej zmianie, utrzymała oba pliki w synchronizacji, przeszła `git diff --patch | blockwatch` (exit 0), a następnie poprawnie wychwyciła kolejne naiwne edycje z precyzyjnym naruszeniem 'jest zmodyfikowany, ale README.md:supported-langs nie jest' (exit 1) -- ale twierdzenie SKILL.md, że sam `blockwatch` (bez potoku diff) 'waliduje każdy blok w drzewie' jest fałszywe, zweryfikowane empirycznie: z nieposortowaną listą keep-sorted i bez diff na stdin cicho wychodzi 0, co jest sprzeczne z tekstem --help narzędzia i jego własnym zdaniem 'walidowane tylko wtedy, gdy dotknięte przez diff' w innym miejscu tego samego pliku.

Testowano: 2026-07-15 · Claude Code 2.x (agent harness)

Instalacja

git clone https://github.com/mennanov/blockwatch
cd blockwatch
mkdir -p ~/.claude/skills
cp -r .agents/skills/blockwatch ~/.claude/skills/blockwatch

Komendy i przykładowe prompty

  • /blockwatchPrawdziwy linter Rust, który wykrywa dryf kodu/dokumentacji za pomocą tagów komentarzy <block affects=...> -- zweryfikowany rzeczywistym skompilowanym binarnym plikiem, a nie tylko czytaniem kodu źródłowego.

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

  • Add a block tag so this Python list stays in sync with README docs
  • I added a new item to this enum, check if the docs need updating too
  • Verify my code changes with blockwatch before I commit this diff