Claude Code · skill writing-style · instrukcja · sierpień 2026
U Piotra drafty maili wychodzą dziś prawie bez poprawek — to jego własne wrażenie, nigdy nie policzone. Ta strona pokazuje dokładnie, z czego to się zbudowało i jak dojść do tego samego szybciej.
Jeżeli Twój skill nadal wymaga poprawek, to prawie zawsze dlatego, że powstał z opisu („piszę zwięźle i ciepło") zamiast z pomiaru. Przymiotnik nie zmienia ani jednego zdania w drafcie. Zmienia je zasada wyciągnięta z policzalnej obserwacji: albo z tego, co realnie jest w Twojej skrzynce, albo z konkretnej różnicy draft/wysłane.
Materiał treningowy już masz i leży w Twojej skrzynce. Wysłane maile to Twój głos w czystej postaci. Jeszcze cenniejsze są pary: draft, który dostałaś, i wersja, którą faktycznie wysłałaś po poprawkach. Ta różnica to dokładnie to, czego model nie wie.
Jedna zasada = działanie plus powód plus wyzwalacz. „Rób X zamiast Y", pod spodem Why i How to apply. Zasada bez powodu nie generalizuje się na nową sytuację, a zasada bez wyzwalacza nie odpala we właściwym momencie.
Pętla po każdej wysyłce, nie jednorazowy setup. U nas to 108 wywołań /internalize rozłożonych na 43 dni. Każda runda to 0–3 nowe zasady — szacunek autora, nie pomiar; jednorazowa poprawka faktu nie daje żadnej. Bez pętli skill zamarza na dniu pierwszym i po miesiącu jest tak samo nietrafiony jak na starcie.
Każde „nie" na tej liście odpowiada za konkretną klasę poprawek, które musisz robić ręcznie. Reszta strony to instrukcja, jak zamienić te „nie" na „tak".
To nie był plan, tylko seria potknięć — fazy nawet nie ustawiły się po kolei, bo pętla z fazy 3 ruszyła wcześniej niż podział z fazy 2. Dlatego warto tę historię znać: każdy element powstał dlatego, że poprzedni przestał działać, a Ty możesz wejść od razu na koniec.
Realistyczny plan dla Ciebie: dwie sesje na start, potem 8–12 wysyłek z pętlą. Przy normalnej korespondencji to dwa, trzy tygodnie do momentu, w którym poprawki wyraźnie rzedną. To nie jest ten sam punkt, w którym jest dziś skill Piotra po ponad stu rundach — na klasy wiadomości, których jeszcze nie wysłałaś, zasad po prostu nie ma i pojawią się dopiero z kolejnych wysyłek.
Wszystkie są przenośne — nie zależą od tego, w jakim języku piszesz ani do kogo. Piąta to twardy warunek wstępny: bez niej skill nie wczyta się sam i przy zwykłym poleceniu cztery pierwsze nie mają jak zadziałać. Szósta nie warunkuje zasad 1–4 — draft pokazany w czacie też jest napisany według nich — tylko decyduje, czy pętla utrzyma się w czasie.
Model nie potrafi zoperacjonalizować przymiotnika. Potrafi odtworzyć konkretną zamianę, jeśli wie, kiedy ją stosować.
Samo „ciepło, ale profesjonalnie" nie zmienia niczego w drafcie — u Piotra takie zdanie w skillu jest, tylko nad zmierzonymi zasadami, nie zamiast nich. Zmienia coś dopiero: „w mailu do klienta zaczynaj od jednego zdania kontekstu zamiast od podziękowania za wiadomość". Pierwsza wersja takich zdań bierze się z pomiaru Twoich wysłanych maili, a każda następna z różnicy: co napisał Claude, a co wysłałaś Ty. Różnice są mocniejszym źródłem, bo pokazują dokładnie to, czego model sam nie wie.
Powód pozwala modelowi zastosować zasadę w sytuacji, której nie przewidziałaś. Wyzwalacz decyduje, czy zasada w ogóle odpali.
Sam zakaz („nie używaj wykrzykników") zostawia pustkę, którą model wypełnia stylem domyślnym. Zapis pozytywny mówi, czym zastąpić. Ta trójka — działanie, powód, wyzwalacz — to format docelowy, do którego zasady się dociąga, a nie stan, w którym wszystkie już są. U Piotra dopisany powód ma 312 zasad, a spośród nich wyzwalacz około dwóch trzecich: 203 mają „How to apply" albo „Trigger", pozostałe 109 zatrzymało się na samym powodzie (stan na 12 sierpnia 2026). Pozostałe zapisy w tych plikach nie doszły nawet do powodu, więc w tej liczbie ich nie ma. To dług, nie cecha — zasada bez wyzwalacza odpala rzadziej.
Zasada z nazwiskiem w treści pasuje do jednego przypadku, który już się wydarzył, i do niczego więcej.
Kiedy wychodzi reguła „nie pisz tak do Kasi z tamtej firmy", trzeba ją podnieść o poziom: „w pierwszym kontakcie z osobą, której nie znasz, nie odwołuj się do wspólnych znajomych". Nazwiska, firmy i daty zostają jako przykład pod zasadą, nigdy w jej treści.
Kontekst jest skończony. Poza tym, co obowiązuje zawsze, wczytuje się tylko ten plik, który dotyczy tego, co właśnie piszesz.
Krótki SKILL.md trzyma to, co obowiązuje zawsze, i tabelę „jeśli piszesz X, wczytaj plik X". Reszta siedzi w osobnych plikach i nie zajmuje miejsca, dopóki nie jest potrzebna. Dzięki temu skill może mieć 3000 linii i dalej działać.
Claude decyduje o automatycznym wczytaniu skilla na podstawie pola description. Jeśli Twoje sformułowanie tam nie pada, skill nie wczyta się sam — zostaje wywołanie ręczne komendą /writing-style, a tego przy każdym mailu nie zrobisz.
W description ma być lista realnych fraz, których używasz: „odpisz", „napisz maila", „draft email", „reply to", „napisz wiadomość". Warto wiedzieć, że opis jest w liście skilli przycinany do 1536 znaków, więc najważniejsze frazy dajesz na początek.
Każdy dodatkowy krok między draftem a wysłaniem to miejsce, w którym pętla się urywa.
U nas draft nie jest pokazywany w czacie do zatwierdzenia — leci prosto do wersji roboczej w Gmailu. Poprawiasz na miejscu i wysyłasz. Dzięki temu różnica draft/wysłane jest zapisana w jednym miejscu i pętla ma czym się karmić.
Poniżej pięć gotowych promptów, ponumerowanych dokładnie w kolejności wklejania. Wklejasz jeden na raz i czekasz na wynik. Prompty 1–2 to pierwsza sesja, czyli sam pomiar. Prompty 3–4 to druga sesja, w której powstają oba skille. Prompt 5 to treść jednej rundy pętli — wklejasz go tylko wtedy, gdy skill z promptu 4 się nie zainstalował; normalnie po każdej wysyłce piszesz samo „internalize". Na samym końcu jest jeszcze jeden prompt dodatkowy, poza tą piątką — potrzebny wyłącznie wtedy, gdy Claude pisze do Gmaila przez Twoją własną integrację z API. Prompty są po angielsku, bo pliki skilla piszemy po angielsku — Claude i tak pisze maile po polsku, dokładnie tak jak u Piotra. Przykłady zdań w tych plikach zostają po polsku, w oryginale.
Claude Code sam z siebie nie ma dostępu do poczty, a cała ta instrukcja zakłada, że potrafi dwie rzeczy: przeczytać Twoje wysłane maile i utworzyć wersję roboczą. Czytania wymagają prompty 1, 2 i 5, tworzenia wersji roboczej — zasada numer 6 z poprzedniej sekcji, a reguły z promptu dodatkowego dochodzą tylko przy własnej integracji z Gmail API. U Piotra robi to właśnie taka integracja, napisana pod siebie; jej nie skopiujesz.
Gotowego konektora Gmaila nie da się podłączyć od strony Claude Code — dokumentacja mówi to wprost: Gmail, Kalendarz Google i Microsoft 365 nie wspierają logowania OAuth z Claude Code, bo dostawca tożsamości przyjmuje wyłącznie adres powrotny zarejestrowany przez claude.ai. Podłącza się go na stronie claude.ai, w Ustawieniach w sekcji Konektory, i dopiero wtedy pojawia się w Claude Code sam z siebie. Trzy warunki, których łatwo nie zauważyć: musisz być zalogowana do Claude Code kontem claude.ai z abonamentem, a nie kluczem API ani tokenem (przy kluczu API konektory w ogóle się nie wczytują); na planie Team i Enterprise konektory dodaje administrator, nie Ty; a organizacja może wyłączyć albo ograniczyć poszczególne narzędzia konektora. Jeśli którykolwiek warunek nie jest spełniony, tej drogi po prostu nie ma i zostają ścieżki zapasowe poniżej — nie próbuj obejść tego dłużej niż kwadrans.
Sprawdzenie, że działa — wklej to jako pierwsze, ale w dwóch osobnych krokach, bo te dwie rzeczy bywają włączone osobno. Krok A, czytanie: List the subjects and dates of the three newest emails in my Sent folder. Krok B, zapis wersji roboczej: Create a draft addressed to me with the subject "test" and tell me its draft id. Do not send anything.
Na obu ścieżkach zapasowych prompt 2 odpada, bo par draft/wysłane nie ma z czego wyciągnąć. Prompt 3 wtedy nie blokuje: buduje skill z samego pomiaru z promptu 1 i mówi wprost, że par nie było — dlatego pierwsza wersja jest chudsza, nie żadna. Prompt 1 czytasz wtedy z pliku .mbox albo z tego, co wkleiłaś, a prompt 5 wymaga wklejenia wysłanej wersji ręcznie za każdym razem. Zasada numer 6 z poprzedniej sekcji jest nieosiągalna — i to ona najczęściej decyduje, czy pętla przetrwa pierwszy miesiąc. Prompt dodatkowy z regułami Gmail API nie ma się wtedy na czym wykonać i po prostu go pomijasz. Dlatego dostęp do skrzynki naprawdę warto załatwić raz, a nie omijać.
Read the last 60 emails I sent, newest first, skipping one-line logistics replies. If you cannot reach my mailbox, read them instead from the .mbox file at the path I give you, or from the messages I pasted above — everything below is the same on all three paths. Do not ask me how I write, and do not use anything I have told you about my style — I want you to measure it from the messages themselves.
For each email record: recipient class (client, colleague, friend, vendor, institution), language, word count, number of paragraphs, the exact greeting, the exact sign-off, whether it ends with a question or an ask, punctuation habits (dashes, ellipses, exclamation marks, emoji), whether Polish diacritics are written in full or dropped when I write fast, and any phrase that repeats. Then report the 3 to 5 recipient classes I actually write to, and for each one: median length, the greeting and sign-off inventory with frequencies, the sentence-length range, and 5 verbatim sentences that are most typical of me. Flag anything that varies too much to become a rule. Table plus verbatim examples. Then save the whole result — the table and the verbatim examples, nothing summarised away — to ~/.claude/skills/writing-style/_corpus-measurement.md, creating the folder if it does not exist, and tell me the path you wrote.
Now find the pairs, which are the highest-signal training data I have. Search my mailbox for cases where a first version exists and a different final version went out: drafts written for me that I edited before sending, texts someone else wrote that I rewrote, and threads where I sent a corrected version of my own earlier message.
For each pair give me three columns: what the first version said, what I changed it to, and the smallest general rule that would have produced my version the first time. The rule must not name a person, a company, or a date — if it does, raise it one level until it is about a class of recipient or a class of message. Sort by how often the same change repeats, because a change I made once is noise and a change I made five times is a rule. Save the full table to ~/.claude/skills/writing-style/_corpus-pairs.md and tell me the path you wrote.
First read ~/.claude/skills/writing-style/_corpus-measurement.md. If it is missing or empty, stop and tell me to rerun prompt 1 — do not work from memory and do not fill the gap with general knowledge. Then read ~/.claude/skills/writing-style/_corpus-pairs.md as well; if that one is missing, do not stop — say so and continue from the measurement alone, because on a mailbox you could not reach there are no draft/sent pairs to extract. Then check whether ~/.claude/skills/writing-style/ already holds a SKILL.md or references files. If it does, copy the whole folder to ~/.claude/writing-style-backup-<today's date>/ before touching anything — that path is deliberately outside ~/.claude/skills/, because any folder there containing a SKILL.md becomes a second live skill competing for the same trigger phrases — and merge instead of overwriting: keep every rule that is already there, add the measured ones, and at the end report what you kept, what you merged and what you dropped, with the reason for each drop.
Create the personal skill at ~/.claude/skills/writing-style/SKILL.md plus one references file per channel or class of message I actually use, based only on those two files. Nothing invented, nothing from general advice about business writing.
SKILL.md gets YAML frontmatter with name and a description listing my real trigger phrases in Polish and English, most important first. Then the iron rules that hold in every channel, with rule number one being: read this skill before drafting anything, every time; and, if the measurement in _corpus-measurement.md shows that I skip Polish diacritics when writing fast, rule number two being: write full Polish diacritics in every Polish message, even where my own sent messages skip them, because I never want them missing in what goes out. Then a routing table mapping each kind of message to its references file. Cap SKILL.md at 200 lines and every references file at 250. Every rule takes exactly this shape: a line saying do X instead of Y, then a Why line stating the reason at the level of a class of message, then a How to apply line stating the trigger. No person, company or date inside a rule statement — those go under it as examples. Put my own verbatim sentences under the rules they illustrate.
First check whether ~/.claude/skills/internalize/ already exists. If it does, copy the whole folder to ~/.claude/internalize-backup-<today's date>/ before touching anything — that path is deliberately outside ~/.claude/skills/, because any folder there containing a SKILL.md becomes a second live skill competing for the same trigger phrases — and merge instead of overwriting: keep every instruction that is already there, add the ones below, and at the end report what you kept, what you merged and what you dropped, with the reason for each drop.
Now create a second skill at ~/.claude/skills/internalize/SKILL.md that I will run after sending a message. Its job: fetch from my mailbox the version that actually went out — and if it cannot reach my mailbox, ask me to paste the sent version and work from that, never inferring or reconstructing what went out — then diff that against the draft you produced, and for each difference that qualifies under the filter below, infer the general rule that would have produced my version first time.
The draft side of that diff must be a draft you actually wrote. The skill looks for it in the current conversation. It does not look in my Gmail drafts: Gmail deletes a draft the moment it is sent and creates a new message with a different id, so after sending there is nothing there to recover. If the draft is not in the conversation, the skill tells me to reopen the session it was written in with claude --resume and run internalize there, and only if that session is gone does it ask me to paste the draft — it never reconstructs, rewrites or guesses what the draft probably said, because a diff against an invented draft produces invented rules. If several of my messages went out since the last run, it asks once which one we are learning from. If several drafts of that same message exist in the conversation, it asks once which of them we are learning from, listing two or three candidates, and defaults to the first draft it produced for that message, counting every revision I asked for in between as a difference too. The never-ask rule below covers writing rules, not identifying the draft.
Not every difference is a rule. A one-off factual correction — a number, a date, a name, a fact I added or removed — is reported to me as a tactical note and never written into the skill. Only differences about form, tone, structure, length or register get generalised into rules. If nothing qualifies, the skill says "nothing new to internalize" and writes nothing; a run that produces zero rules is a correct run, not a failure.
It writes those rules into the matching references file, merging into an existing rule when one is close instead of appending a near-duplicate. If no existing references file fits the rule, it creates one named after the channel or the class of message and adds its row to the routing table in SKILL.md in the same run — a references file with no routing row never gets loaded again, so creating the file without the row is a silent failure. Before writing any rule it checks that the rule statement names no person, company, address or date — if one appears, it raises the rule to the class of recipient or class of message and keeps the name underneath as an example. It keeps SKILL.md under 200 lines, and if a references file goes over 250 lines it splits the most self-contained topic into a new references file and fixes the routing table in the same run. It never asks for approval before writing, and it finishes by listing one line per rule: what changed and why. Give its description the trigger words "internalize", "ucz się z tego", "zapamiętaj na przyszłość".
Tego sprawdzenia nie pomijaj: skill, który leży na dysku, ale się nie ładuje, wygląda dokładnie tak samo jak brak skilla. Zrestartuj Claude Code, jeśli katalog ~/.claude/skills powstał dopiero w tej sesji — dokumentacja mówi wprost, że nowo utworzony katalog skilli wymaga ponownego uruchomienia, żeby Claude Code zaczął go obserwować; zmiany w katalogu, który już istniał na starcie sesji, widać bez restartu. Niezależnie od tego krok 2 rób w całkiem nowej sesji, bo kontekst z budowania skilla maskuje luki w jego instrukcjach.
Jak zaczyna maile, czym je kończy, jak stawia prośbę, kiedy pisze krótko. To jest jego głos zbudowany na jego korespondencji. Skopiowany daje drafty, które brzmią jak on — czyli dokładnie ten problem, który próbujesz rozwiązać.
Struktura skilla, limity plików, tabela routingu i cały mechanizm uczenia. Nie mają nic wspólnego z tym, jak piszesz — a kosztowały kilkanaście rund poprawek, żeby je znaleźć. Reguły obsługi Gmaila z dodatku na końcu też są do skopiowania, ale tylko wtedy, gdy Claude pisze do skrzynki przez własną integrację z API.
I just sent that one. Fetch the version that actually went out; if you cannot reach my mailbox, ask me to paste the sent version and work from that instead of inferring what went out. Diff it against the draft you produced — look for that draft in this conversation. Do not look for it in my Gmail drafts: Gmail deletes a draft the moment it is sent, so it is no longer there. If it is not in this conversation, tell me to reopen the session it was written in with claude --resume and run this there; only if that session is gone, ask me to paste it instead of reconstructing it. If several of my messages went out since the last run, ask which one. If several drafts of that same message exist in this conversation, ask once which one and default to the first draft you produced for it, counting every revision I asked for in between as a difference too. For every difference that is about form, tone, structure, length or register, infer the general rule that would have produced my version first time. A one-off factual correction — a number, a date, a name, a fact I added or removed — is not a rule: report it to me as a note and do not write it. If nothing qualifies, say "nothing new" and write nothing. Write the rules that do qualify into the matching references file, merging where a close rule already exists; if no file fits, create one and add its row to the routing table in the same run. Then list one line per rule: what changed and why.
Gdy masz już zainstalowany skill z promptu 4, wystarczy napisać „internalize" — reszta jest w skillu. Rób to w tej samej sesji, w której powstał draft, bo tylko tam Claude go jeszcze widzi. Cała sekcja Pętla jest o tym, jak z tego zrobić nawyk.
Ten prompt i lista pod nim dotyczą jednego przypadku: Claude sam składa wiadomość i zapisuje ją przez Gmail API, tak jak u Piotra. Konektor Gmaila z claude.ai to inna droga: tam wiadomość składa konektor, a nie Claude, więc nie masz gdzie tych reguł zastosować i możesz cały dodatek pominąć. Dokumentacja konektora wymienia jako jego możliwości wyszukiwanie i czytanie maili, tworzenie wersji roboczych, dostęp do metadanych, etykiety i wątki oraz listę zapisanych wersji roboczych, a jako ograniczenie podaje brak wysyłki, brak treści załączników i część zaawansowanych filtrów. O edycji istniejącej wersji roboczej ani o kontroli nad strukturą MIME czy formatowaniem HTML nie mówi nic w żadną stronę — ta strona po prostu nie wie, czy to działa. Wracasz tu dopiero, gdy podłączysz własną integrację.
If references/gmail-api.md already exists in the writing-style skill, copy it to ~/.claude/writing-style-backup-<today's date>/ first — outside ~/.claude/skills/, so the copy cannot turn into a second live skill — and merge into it rather than replacing it, keeping every rule that is already there and reporting what you kept and what you added. Otherwise create references/gmail-api.md in the writing-style skill and put the technical rules listed below in this prompt into it, each in the standard shape: the rule, then Why, then How to apply. These are mechanics, not voice, so take them as given rather than deriving them from my mailbox. Add a row for this file to the routing table with the trigger: any task that creates or updates an email draft through the API.
The rules: build every body as multipart HTML and never as plain text, because plain text hard-wraps at 76 columns and breaks both the rendering and the collapsing of quoted history. Set no font family, size or line height, and separate paragraphs with a single blank line. Include the full quoted thread in every reply, carried over in its original HTML rather than re-rendered. When editing an existing draft, replace only the new-content section and never rebuild the message from the body string, because a rebuild silently drops attachments and the quote. Select the reply target from real messages only, excluding drafts. Append the signature only to messages written from scratch, never to a reply. After writing a draft, assert that a text/html part exists and contains the quoted thread. Create and update drafts freely, never send.
Jedna z tych reguł obowiązuje niezależnie od tego, czym Claude pisze do skrzynki, więc warto ją mieć zawsze: wersja robocza tak, wysyłka nigdy bez Twojej decyzji. Dochodzi do niej jedna spoza tej listy — diakrytyki uzupełniane za Ciebie w każdym mailu, jeśli piszesz szybko i gubisz ogonki; prompt 3 dopisuje ją sam, na każdej ścieżce, ale tylko wtedy, gdy pomiar z promptu 1 rzeczywiście to u Ciebie pokaże. Tanie zasady, a widać je w pierwszym zdaniu.
Pierwsza wersja skilla trafia może w połowę. Reszta bierze się z tego, co poprawiasz — pod warunkiem, że każda poprawka zostaje zapisana jako zasada, a nie tylko wykonana.
Treść jest w prompcie 5 w sekcji Start. Gdy masz już zainstalowany skill z promptu 4, nie musisz go wklejać — wystarczy napisać „internalize" po wysłaniu wiadomości, a reszta jest w skillu.
Uruchamiaj rundę w tej samej sesji, w której powstał draft. Gmail kasuje wersję roboczą w chwili wysłania, więc draftu nie da się już odzyskać ze skrzynki. Jeśli sesja jest zamknięta, otwórz ją z powrotem: Claude Code zapisuje każdą sesję na dysk, więc komenda claude --resume pozwala wybrać tę właściwą z listy i uruchomić rundę w niej, z draftem nadal na miejscu. Wklejanie draftu ręcznie zostaje dopiero wtedy, gdy tej sesji już nie ma — a na ścieżce z zasady numer 6, gdzie draftu nie widziałaś w czacie, jedyną kopią jest to, co sama skopiujesz do notatki przed wysłaniem.
Bez podłączonej skrzynki ta sama runda wymaga wklejenia także wysłanej wersji, zaraz po słowie „internalize". Działa, tylko kosztuje jeden ruch więcej za każdym razem — i to jest ten ruch, na którym pętle najczęściej umierają.
Poprawka jest wykonana, ale nigdzie nie zapisana. Ta sama zmiana wróci przy następnym mailu tej samej klasy, i przy kolejnym. Po miesiącu masz to samo poczucie, że „prawie dobrze, ale zawsze coś".
Poprawka zostaje uogólniona i wpisana do właściwego pliku tematycznego. Ta klasa zmian znika z następnych draftów. Liczba poprawek na maila spada z rundy na rundę w obrębie danej klasy wiadomości i to jest miernik postępu, na który patrz w pierwszej kolejności.
Poniżej realny rozkład 312 zasad z zapisanym powodem na 23 pliki tematyczne, stan na 12 sierpnia 2026 — kilka na kanał, więcej na klasę wiadomości, pięć na mechanikę i strategię. Sześć plików na górze zbiera połowę wszystkiego (160 z 312), a kilkanaście dalszych ma po kilka zasad, bo tyle wystarczyło. Skill rośnie z każdą rundą, więc za miesiąc te liczby będą inne.
Wszystkie cztery są wpisane w prompt 4, więc od pierwszego dnia pilnują się same — łącznie z filtrem nazw własnych i limitem 200 linii, które muszą być właśnie tam, a nie tylko w prompcie budującym skill. Powód jest prosty: po pierwszej wysyłce każdą kolejną zasadę pisze już pętla, a nie Ty. Warto jednak wiedzieć, po co te reguły są, bo pierwszy odruch przy każdej z nich jest odwrotny.
Każdy z tych ruchów wygląda na skrót, a kończy się skillem, który dalej wymaga poprawek — tyle że teraz nie wiadomo dlaczego.
Liczby o skillu Piotra pochodzą z jego plików i z zapisów sesji, każda z podaną regułą liczenia. 312 zasad z zapisanym powodem w 23 plikach tematycznych, stan na 12 sierpnia 2026 — wystąpienia znacznika „Why:" w plikach references skilla writing-style, policzone tym samym przebiegiem skryptu, który narysował wykres wyżej; zapisów bez tego znacznika jest w tych plikach więcej i one w tej liczbie nie siedzą; z tego 203 mają pod tym samym znacznikiem linię wyzwalacza („How to apply" albo „Trigger"), a 109 nie, zaś sześć największych plików zbiera 160 z 312. Skill rośnie z każdą rundą, więc te cztery liczby są prawdziwe na dzień przeliczenia, nie na zawsze. 108 wywołań /internalize w 43 dniach — w plikach zapisu sesji Claude Code (katalog ~/.claude/projects, pliki .jsonl) zliczone zostały wiadomości użytkownika, w których treści pada „/internalize", z pominięciem bloków, które Claude Code sam dopisuje do zapisu jako wiadomość użytkownika: treści wczytanego skilla, komunikatów systemowych i powiadomień o zadaniach. Powtórzeń nie było: wszystkie 108 mają różne znaczniki czasu. Zakres od 14 maja do 12 sierpnia 2026, dni różnych 43. Liczba obejmuje każde użycie tej komendy, także po postach, dokumentach i pracy z innymi skillami — nie tylko rundy po wysłanym mailu. 13 wcześniejszych plików z notatkami o pisaniu — tyle wymienia SKILL.md jako zastąpione przy rozbiciu monolitu; wszystkich plików feedbacku w pamięci projektów jest dziś 229, ale dotyczą całej pracy z Claude'em, nie samego pisania. 1236 linii monolitu — liczba zapisana w uzasadnieniu limitu w skillu internalize; sam plik już nie istnieje. Daty powstania obu skilli pochodzą z dat utworzenia ich katalogów; data 16 czerwca to data utworzenia obecnego pliku internalize/SKILL.md. Kilku liczb na tej stronie nikt nie policzył i reguły liczenia nie mają: 0–3 zasady na rundę, 8–12 wysyłek na start, kilkanaście rund poprawek na samą mechanikę, trafienie mniej więcej w połowę przy pierwszej wersji — to szacunki autora. Tak samo zdanie „drafty wychodzą prawie bez poprawek", które jest wrażeniem, nie liczbą: poprawek na wysłanego maila Piotr u siebie nigdy nie liczył. Ty licz od pierwszej rundy, tak jak każe sekcja Pętla; będziesz miała to, czego on nie ma. Twierdzenia o działaniu Claude Code pochodzą z dokumentacji.