Blog post, który pisze się sam
Date Published

Pisanie blog postów zwykle zajmuje mi więcej czasu niż zbudowanie tego, o czym piszę. Sesja z Claude Code, w której powstaje coś fajnego — godzina, dwie. Opisanie tego na bloga? Kolejna godzina na tekst, potem formatowanie, SEO, generowanie zdjęcia, upload, publikacja. Postanowiłem to zautomatyzować.
Problem: sesja się kończy, blog post nie powstaje
Pracuję z Claude Code codziennie. Buduję API, piszę toole MCP, konfiguruję deploye. W każdej sesji jest materiał na wpis. Ale bariera wejścia jest wysoka — trzeba usiąść, przypomnieć sobie co się zrobiło, napisać tekst, sformatować markdown, wymyślić tytuł i meta description, wygenerować hero image, uploadować, opublikować. Większość sesji kończy się bez posta.
Rozwiązanie: skill /blog-by-session
Zbudowałem skill do Claude Code, który robi to za mnie. Wpisuję /blog-by-session i dostaję gotowy, opublikowany blog post w kilka minut. Cały pipeline w 5 krokach.
Krok 1: Analiza sesji
Skill działa w ramach sesji, więc Claude ma pełen kontekst rozmowy w pamięci. Nie trzeba parsować transkryptów ani logów. Skill instruuje Claude: przeanalizuj co zrobiliśmy, wyciągnij co zbudowano, jakie problemy rozwiązano, jakie decyzje podjęto i co było zaskakujące. Skup się na wątkach ciekawych dla czytelnika, nie na specyfice projektu.
Krok 2: Propozycje
Claude proponuje 3 warianty — krótki (800-1200 słów), średni (1500-2500) i długi (3000+). Każdy z tytułem, opisem i zarysem. Wybieram, daję feedback, mogę skorygować zakres. Ważne: to interakcja, nie automat — ja decyduję co wchodzi.
Krok 3: Pisanie w moim stylu
Tutaj najciekawsza część. Przed pisaniem Claude czyta profil stylu — plik writing-style-profile.md wyekstrahowany z moich 6 istniejących artykułów. Przeanalizowałem ton (bezpośredni, pewny siebie, konwersacyjny), strukturę (hook, kontekst, deep dive, takeaways, callback do hooka), signature moves (reality check moment, tabelki porównawcze, pytania retoryczne) i czego unikać (korporacyjny żargon, kontrastowa negacja).
Do tego plik sample-excerpts.md z 4 fragmentami moich tekstów jako wzorzec tonu i języka. Claude pisze nowy tekst, ale brzmi jak ja — bo wie jak piszę.
Krok 4: Humanizacja
Tekst przechodzi przez skill /humanize-text — 5-krokowy proces usuwania wzorców AI: zamiana buzzwordów, reguła 5/25 (mix długości zdań), zero-connector transitions, boosters zamiast hedgingu, idiomy.
Rozszerzyłem humanize-text o krok 6: Personal Style Overlay. Gdy calling skill dostarcza profil stylu, humanizer dodatkowo sprawdza czy tekst ma pytania retoryczne, reality check moment, callback do hooka i odpowiednią gęstość kolokwializmów. Jeśli tekst jest zbyt doskonały — dodaje niedoskonałość (aside, parenthetical, kolokwializm). Bo ludzie tak piszą.
Krok 5: Publikacja
Po zatwierdzeniu przeze mnie, skill robi 4 rzeczy:
- Zapisuje artykuł do Obsidian (vault BRAIN, katalog CONTENT/articles) z frontmatter
- Generuje hero image — wymyśla prompt tematyczny i wywołuje Replicate API z modelem flux-2-pro
- Uploaduje obraz przez MCP upload_media
- Publikuje post przez MCP create_post z tytułem, treścią, obrazem, kategoriami i SEO
Artykuł ląduje na devince.dev jako draft. Mogę go jeszcze podejrzeć w admin panelu zanim opublikuję. No i właśnie tyle — reszta dzieje się sama.
Jak powstał profil stylu
To była osobna praca. Przeczytałem 6 moich artykułów z Obsidian — od case study o SSTI w Drupalu, przez deep dive o security audit skill, po tekst o marce osobistej. Wyciągnąłem wzorce:
- Zawsze zaczynam od hooka (problem albo zaskakujący wynik, nigdy "w tym artykule omówimy")
- Mieszam krótkie punchline'y z długimi zdaniami
- Używam pytań retorycznych do prowadzenia narracji
- Podaję konkretne liczby zamiast ogólników
- Konkluzja wraca do otwarcia
To wszystko trafiło do writing-style-profile.md i sample-excerpts.md w katalogu skilla. Claude czyta oba pliki przed każdym pisaniem.
Meta
Ten artykuł powstał dokładnie tym skillem. Wpisałem /blog-by-session, Claude przeanalizował sesję, zaproponował warianty, wybrałem krótki, dostałem tekst, przeszedł humanizację, zatwierdziłem — Obsidian, obraz, MCP, opublikowane.
Pipeline zamyka koło. Buduję rzeczy w sesji Claude Code, kończę sesję blog postem o tym co zbudowałem. Następna sesja zaczyna się od kolejnego tematu. Bariera wejścia spadła z godziny do kilku minut interakcji.