Skip to main content

sztuczny-miodek

Skill Claude Code do audytu polszczyzny i eradykacji manieryzmu AI (AI-tellów) w tekstach polskich i angielskich. Metodologia: pragmatyczny puryzm Jana Miodka.

Ten projekt to fork. Rdzeń pochodzi od Tomasza Jakubowskiego, z oryginalnego repozytorium researchanddeploy/sztuczny-miodek: deterministyczny linter Stage 1, kanon manieryzmu, metodologia Miodka, instalacja jako skill Claude Code oraz słownik domenowy.

Fork rozwija narzędzie o kolejne warstwy:

  • CLI przez uvx z ujednoliconym poleceniem miodek,
  • trzy bramki jakości: przy zapisie pliku, na merge request, przed publikacją,
  • korektor zamykający pętlę audytu do werdyktu PASS,
  • osąd modelu Stage 2 z routingiem silników i lejkiem kosztowym,
  • ekonomię i obserwowalność: metryki z manifestu oraz eksporter Prometheus,
  • integrację LanguageTool na żądanie.

Spis treści

Co robi

Skill realizuje dwie misje:

  1. Wzorcowa polszczyzna (PL) — pełny audyt tekstu polskiego wg dziesięciu priorytetów: cyrylica, kalki angielskie, fałszywi przyjaciele, anglicyzmy, sztuczne kolokacje, interpunkcja, styl i gramatyka, ortografia terminów łacińskich/greckich, manieryzm AI, typografia.
  2. Usuwanie AI-tellów (PL + EN) — wykrywa i usuwa manieryzmy generatywne: puste signposty, triady (rule-of-three), antytezę „nie X — to Y”, paralelizm, nadużycie myślnika, puste superlatywy, klisze redefinicyjne, emoji w nagłówkach. Dla raportów, syntez, listów motywacyjnych, CV i dokumentacji.

Skill działa jako twarda bramka jakości przed deklaracją „done”. Obowiązuje semantyka „PASS z uwagami = NIE PASS”: każdy nierozwiązany flag blokuje werdykt PASS. Werdykt FAIL zapada przy cyrylicy w tekście PL (FAIL-HARD), markerze klasy block po przekroczeniu progu albo gęstości ważonej trafień powyżej 8 na 500 słów.

Zasada Miodka: poprawiaj to, co ma polski odpowiednik; zachowuj to, co przyjęło się w danej dziedzinie. Dla manieryzmu AI: zmieniaj teksturę prozy, zachowuj fakty i metryki.

Kluczowe funkcje

  • Deterministyczny linter (Stage 1). Wykrywa manieryzm bez kosztu tokenów LLM, na samej bibliotece standardowej Pythona. Łapie szeroko, a niepewne trafienia oznacza do przeglądu.
  • Opcjonalny osąd modelu (Stage 2). Rozstrzyga niepewne trafienia w kontekście całego zdania i nanosi poprawkę tylko tam, gdzie trzeba.
  • Kanon manieryzmu PL i EN. Czternaście kategorii ze wspólnym źródłem w manieryzm-ai.md, każda z odpowiednikiem w linterze.
  • Pełny audyt polszczyzny. Priorytety od cyrylicy po typografię, wedle pragmatycznego puryzmu Jana Miodka (szczegóły w SKILL.md).

Format manifestu i czytanie werdyktu opisuje sekcja Interpretacja manifestu i werdyktu.

Instalacja

Tryb A — bezpośredni clone (skill)

Najprostszy. Skill ląduje wprost w katalogu skilli Claude Code:

mkdir -p ~/.claude/skills
git clone https://github.com/researchanddeploy/sztuczny-miodek.git ~/.claude/skills/sztuczny-miodek

Claude Code wykryje skill automatycznie na podstawie SKILL.md. Wywołanie: /sztuczny-miodek.

Aktualizacja: cd ~/.claude/skills/sztuczny-miodek && git pull.

Tryb B — plugin przez marketplace

Wersjonowane aktualizacje i instalacja jedną komendą:

/plugin marketplace add researchanddeploy/sztuczny-miodek
/plugin install sztuczny-miodek@sztuczny-miodek

Wywołanie: /sztuczny-miodek:sztuczny-miodek. Aktualizacja: /plugin update sztuczny-miodek@sztuczny-miodek.

Oba tryby korzystają z tego samego SKILL.md w korzeniu repo. Katalog .claude-plugin/ jest używany tylko w trybie B.

Tryb C — CLI przez uvx

Narzędzie linii poleceń miodek można uruchomić bez ręcznej instalacji. Wymaga uv. Najprościej, wprost z PyPI:

uvx miodek lint --lang both ŚCIEŻKA_DO_PLIKU.md

uvx pobiera paczkę do cache i uruchamia ulotnie, bez instalowania niczego na stałe. Polecenie miodek to dispatcher z podkomendami lint, correct, gate, lt oraz build-dict. Eksporter metryk Prometheus jest osobnym poleceniem miodek-exporter.

Alternatywnie, wprost ze źródła git (np. dla gałęzi roboczej przed wydaniem na PyPI):

uvx --from git+https://github.com/hretheum/sztuczny-miodek@epic-a-reguly-jako-dane \
  miodek lint --lang both ŚCIEŻKA_DO_PLIKU.md

Czysty skill (tryby A i B) żyje w Claude Code: wywołujesz go w rozmowie, a model prowadzi audyt i korektę. Tryb C wynosi te same reguły poza Claude Code, do terminala i do potoku CI, jako samodzielne polecenie. Co daje:

Rdzeń nie ma żadnych zależności (sama biblioteka standardowa). Warstwy opcjonalne wydzielają extras [exporter] i [lt], dziś puste, bo wszystkie komponenty działają na bibliotece standardowej. Powiązanie z homelabem (quadlet, systemd) zostaje poza paczką.

Użycie

W Claude Code

Skill uruchamia się przez jeden z wyzwalaczy w rozmowie:

  • sprawdź polszczyznę
  • sztuczny miodek
  • audyt językowy
  • korekta tekstu, manieryzm AI, AI-tell, de-AI, usuń ślady AI, odAI-uj

Claude przeprowadzi pełny protokół: pre-scan linterem, osąd kontekstowy, korektę, przebieg weryfikacyjny i werdykt PASS/FAIL.

Linter z linii poleceń

Pre-scan można uruchomić samodzielnie podkomendą lint:

miodek lint --lang both ŚCIEŻKA_DO_PLIKU.md

Po instalacji przez uvx (Tryb C) zadziała też bez klonu repo. Z klonu repo, bez instalacji, ten sam linter uruchomisz przez python3 -m miodek.ai_linter --lang both ŚCIEŻKA_DO_PLIKU.md (z PYTHONPATH=src).

Flaga --lang przyjmuje pl, en lub both. Można podać kilka ścieżek naraz. Audyt całych katalogów i wzorców glob, raport zbiorczy --report oraz pozostałe flagi opisuje Użycie z CLI: batch i flagi.

Interpretacja manifestu i werdyktu

Manifest to jedna linia na trafienie:

raport.md:42:PL-SIGN:review:Warto podkreślić, że

Pola: ścieżka pliku, numer linii, ID kategorii, klasa (review lub block), dopasowany fragment. Klasa review wymaga osądu kontekstowego (możliwy false-positive). Klasa block to bloker werdyktu po przekroczeniu progu.

Blok == SUMMARY == podaje werdykt na końcu:

== SUMMARY ==
plik | słowa | trafienia | em-dash/akapit(max) | gęstość/500 | blokery | WERDYKT

PASS zapada tylko przy zerze blokerów i gęstości nie większej niż 8.

Dokumentacja

Pełny opis warstw zaawansowanych żyje w katalogu docs/. Pełną listę flag każdej komendy pokazuje miodek <komenda> --help.

Atrybucja i licencja

Autor oryginalnego skilla: Tomasz Jakubowski (upstream: github.com/researchanddeploy/sztuczny-miodek). To repozytorium rozwija jego narzędzie jako fork zgodny z licencją MIT.

Kod, taksonomia AI-tellów, reguły polszczyzny i układ skilla: licencja MIT (zob. plik LICENSE).

Metodologia opiera się na pracy Jana Miodka (pragmatyczny puryzm, „Ojczyzna polszczyzna”). To referencja i atrybucja, nie redystrybucja chronionej treści. Licencja MIT obejmuje wyłącznie materiały tego repozytorium; nie rozciąga się na cudzą własność intelektualną, do której repo się odwołuje.

Release files for miodek 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for miodek 1.2.1
File Size Uploaded
miodek-1.2.1.tar.gz 199.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for miodek 1.2.1
File Interpreter ABI Platform
miodek-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 324.8 kB

Release files / miodek-1.2.1.tar.gz

Download URL miodek-1.2.1.tar.gz
Size 199.9 kB
Tags Source
SHA-256 checksum
How to use checksums
77844ec46f00f1b1ae9760603643b85d3e50333d389202922ed6e6f60a7b1ef6
BLAKE2b-256 checksum
How to use checksums
f252b8d4eae67c11d1481165680bd6fa79d2749ea895cc15df2be30eeaf7dc81
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / miodek-1.2.1-py3-none-any.whl

Download URL miodek-1.2.1-py3-none-any.whl
Size 124.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f81e9991cd0629184ed589ecf78ded7427f34eabdaf3224c63a3da0b4d1c967b
BLAKE2b-256 checksum
How to use checksums
e269ecac18aa4e1e5099b38a3a9705dee43f8d5dda1dd6370ae97eaec75def8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page