From b0c712c4e80f4cffd66fec958d4998f6d010308a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Doma=C5=84ski?= Date: Fri, 7 Aug 2026 13:29:13 +0000 Subject: [PATCH] Aug 7, 2026, 3:29 PM --- ...tórych większość ludzi nigdy nie próbuje.md | 191 ++ ...micki przepływ pracy_ Zotero i Obsidian.md | 246 +++ ...e Code with Jiaona Zhang, CPO at Laurel.md | 298 +++ ...aph_ Zamień dowolny folder w graf wiedzy.md | 154 ++ ...zem, aby wykonać pracę dwa razy szybciej.md | 150 ++ ...iejętnościach i orkiestracji wieloagentowej.md | 68 + inbox/Obsidian jest zaginiony Dlaczego.md | 355 ++++ ... akademicki workflow_ Zotero i Obsidian.md | 312 +++ inbox/cadence-content-machine-all-prompts.md | 1690 +++++++++++++++++ 9 files changed, 3464 insertions(+) create mode 100644 inbox/20 rzeczy, które NotebookLM potrafi, a których większość ludzi nigdy nie próbuje.md create mode 100644 inbox/Akademicki przepływ pracy_ Zotero i Obsidian.md create mode 100644 inbox/How to Build a Company OS in Claude Code with Jiaona Zhang, CPO at Laurel.md create mode 100644 inbox/Jak korzystać z CodeGraph_ Zamień dowolny folder w graf wiedzy.md create mode 100644 inbox/Jak używam Claude'a i NotebookLM razem, aby wykonać pracę dwa razy szybciej.md create mode 100644 inbox/Master Hermes Agent_ Przewodnik dla początkujących bez zbędnych rzeczy po pamięci, umiejętnościach i orkiestracji wieloagentowej.md create mode 100644 inbox/Obsidian jest zaginiony Dlaczego.md create mode 100644 inbox/Zaktualizowany akademicki workflow_ Zotero i Obsidian.md create mode 100644 inbox/cadence-content-machine-all-prompts.md diff --git a/inbox/20 rzeczy, które NotebookLM potrafi, a których większość ludzi nigdy nie próbuje.md b/inbox/20 rzeczy, które NotebookLM potrafi, a których większość ludzi nigdy nie próbuje.md new file mode 100644 index 0000000..13dc2b9 --- /dev/null +++ b/inbox/20 rzeczy, które NotebookLM potrafi, a których większość ludzi nigdy nie próbuje.md @@ -0,0 +1,191 @@ +--- +title: "20 rzeczy, które NotebookLM potrafi, a których większość ludzi nigdy nie próbuje" +source: "https://nitingavhane.medium.com/20-things-notebooklm-can-do-that-most-people-never-try-a9f4b580743b" +author: + - "[[Nitin Gavhane]]" +published: 2026-06-15 +created: 2026-06-29 +description: "Najważniejsze wydarzenie" +tags: + - "clippings" +--- +Cześć wszystkim, nazywam się Nitin Gavhane i na tym blogu pokażę wam, jak właściwie korzystać z NotebookLM + +==Większość osób przesyła PDF, klika podsumowanie, otrzymuje trzy punkty i zamyka zakładkę.== Robiłem to przez miesiące, zanim zdałem sobie sprawę, że używam może 10% tego, co to narzędzie faktycznie potrafi. + +NotebookLM nie jest podsumowującym. To bliższe partnerowi badawczemu, który przeczytał wszystko, co mu przekazałeś, i czeka, aż zadasz lepsze pytania. Problem w tym, że nikt nie mówi ci, jak wyglądają te pytania. Oto 20 podpowiedzi, których faktycznie wykorzystałem, plus kilka notatek, jak najlepiej z nich wyciągnąć. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*jzGI3oqv5TxB3hEAariCyg.png) + +## 1\. Sprawdzenie "wyjaśnij mi to źle" + +```c +Explain this concept back to me the way someone who misunderstood it might. +What's the common misconception? +``` + +Natknąłem się na ten przypadek i stał się jednym z moich ulubionych. Znajomość *błędnej* wersji pomysłu często sprawia, że właściwa wersja trafia do przodu. Czytasz błędne przekonanie i myślisz "aha, rozumiem, dlaczego ktoś miałby tak myśleć, ale tak naprawdę — " i nagle rozumiesz prawdziwą sprawę lepiej niż pięć minut temu. + +## 2\. Przepustka sceptyka + +```c +If you were a peer reviewer trying to find flaws in this paper, what would you flag? +``` + +Zazwyczaj prosimy AI tylko o pozytywne wyjaśnienia. Odwróć to. Poproś ją, by znalazła słabe punkty. Dostaniesz dużo bardziej szczery odczyt tego, jak solidny jest argument, i przestaniesz kiwać głową na rzeczy, które tak naprawdę nie wytrzymują sensu. + +## 3\. Filtr "i co z tego" + +```c +For each main point, tell me why it matters in practice. +If it doesn't matter, say so. +``` + +Nie każdy pomysł w źródle ma taką samą wagę. Proste podsumowanie traktuje je wszystkie równo. Ten prompt wymusza ocenę, a "jeśli to nie ma znaczenia, powiedz to" jest najważniejsze. Daje modelowi pozwolenie, by powiedzieć, że coś nie jest wielkim problemem, czego zwykle unika. + +## 4\. Przetłumacz dla konkretnej grupy odbiorców + +```c +Rewrite the key findings for a [12-year-old / busy executive / non-native English speaker]. +``` + +Spróbuj tego samego źródła z trzema różnymi odbiorcami i obserwuj, jak wyjaśnienie zmienia się za każdym razem. To naprawdę przydatne, jeśli musisz komuś coś wyjaśnić, bo znajdziesz wersję, która faktycznie trafi, zanim staniesz przed nim. + +## 5\. Znajdź założenie nośne + +```c +What's the one assumption that, if wrong, would break this entire argument? +``` + +Każdy argument opiera się na czymś, czego nigdy do końca nie dowodzi. Ten prompt szuka go na poszukiwaniu. Często jest to bardziej przydatne niż zrozumienie samego argumentu, bo dokładnie pokazuje, gdzie naciskać, jeśli chcesz sprawdzić, czy całość się trzyma. + +## 6\. Zbuduj arkusz przygotowawczy do debaty + +```c +I'm about to discuss this with someone who disagrees. +Give me their likely objections and how I'd respond. +``` + +Używam tego przed spotkaniami, gdy wiem, że ktoś się sprzeciwi. Szczerze mówiąc, jest też przydatna przed rodzinnymi kolacjami, gdzie pewien temat na pewno się pojawi. + +## 7\. Zwróć uwagę na przestarzałe części + +```c +Which claims in this source are most likely to be outdated, and why? +``` + +NotebookLM nie może sprawdzać faktów na żywo, ale zaskakująco dobrze rozpoznaje, które rodzaje roszczeń starzeją się najszybciej, zwłaszcza w przypadku technologii. Warto poszukać starszych źródeł, zanim zaczniesz je cytować. + +## 8\. Przekształcić to w decyzję + +```c +Based on this, what should I actually do? Give me options, not just information. +``` + +Wiele materiałów źródłowych opisuje sytuację, nie mówiąc ci, co z nią zrobić. To zmniejsza tę lukę. Czasem odpowiedź brzmi "nic", co również warto wiedzieć. + +## 9\. Porównaj przed i po + +```c +How does this source's view differ from the conventional wisdom on this topic? +``` + +Tak właśnie rozróżniam, co jest naprawdę nowe w czymś, a co jest po prostu tym samym pomysłem z nowym opakowaniem. Oszczędza dużo czasu na materiałach pełnych hype'u. + +## 10\. Generuj pytania, które powinieneś zadawać + +```c +What questions should I be asking about this topic that I probably haven't thought of? +``` + +Czasem najbardziej użytecznym wynikiem wcale nie jest odpowiedź. To lepsze pytanie, którego nie wiedziałeś, że zadać. + +## 11\. Notatka "wyjaśnij przyszłemu sobie" + +```c +Write a note to myself in 6 months, reminding me what this was about and why it mattered. +``` + +Za pierwszym razem wydawało się to sztuczne, ale wymusza taki poziom kompresji, który się utrzymuje. Sześć miesięcy później ta notatka jest naprawdę najszybszą drogą powrotu do materiału. + +## 12\. Zmapuj obsadę postaci + +```c +List every person, organization, or entity mentioned, and explain their role in one sentence each. +``` + +Gęste raporty często zawierają tuzin nazwanych zawodników i tracisz z oczu, kto jest kim już na trzeciej stronie. To naprawia to jednym razem. + +## 13\. Prompt "co zmieniłoby moje zdanie" + +```c +What evidence, if it existed, would make this argument fall apart? +``` + +To jeden z lepszych sposobów, jakie znalazłem, by sprawdzić, czy naprawdę w coś wierzę, czy po prostu jeszcze tego nie kwestionowałem. + +## 14\. Zbuduj słownik na bieżąco + +```c +Pull out every technical term and define it in plain language, ordered by how often each one appears. +``` + +Kolejność częstotliwości ma większe znaczenie, niż się wydaje. Najczęściej pojawiają się terminy, które warto najpierw ustalić; Wszystko inne możesz sprawdzić w razie potrzeby. + +## 15\. Znajdź sprzeczność + +```c +Are there any points in this source that seem to contradict each other? Where? +``` + +Dłuższe dokumenty, zwłaszcza te napisane przez komisję, częściej się przeczą, niż można by się spodziewać. To szybko go znajduje. + +## 16\. Zamień to w rozmowę + +```c +Write this as a dialogue between two people with different views, based on the source. +``` + +Dialogi ułatwiają śledzenie złożonych pomysłów niż zwykła ekspozycja, a to fajny sposób, by wrócić do czegoś, co już raz czytałeś. + +## 17\. Wyzwanie z jednym slajdem + +```c +If you could only show one slide to summarize this, what would be on it? +``` + +Ekstremalne priorytetyzowanie. Cokolwiek przetrwa to cięcie, jest faktycznym rdzeniem tego dzieła. + +## 18\. Znajdź analogię, która już tam jest + +```c +Is there an analogy or metaphor used in this source? If not, suggest one that fits. +``` + +Czasem autor miał już dobre wyjaśnienie ukryte na stronie 12. Czasem takiej nie ma i trzeba ją zbudować sam. + +## 19\. Zbuduj listę "tego, czego brakuje" + +```c +What would you expect a source like this to cover that it doesn't? +``` + +Przydatne do wykrywania luk, zwłaszcza w artykułach naukowych lub raportach o określonym zakresie, który cicho się zawęża w trakcie czytania. + +## 20\. Stwórz własną listę lektur do uzupełnienia + +```c +Based on this source, what topics or questions would be worth researching next? +``` + +W ten sposób jeden dokument staje się punktem wyjścia, a nie końcowym. Szczerze mówiąc, to cała gra. + +## Kilka rzeczy, które naprawdę zrobiły różnicę + +Jeśli możesz, wrzuć więcej niż jedno źródło. Prawdziwą siłą NotebookLM jest praca między dokumentami, a nie w jednym z nich. Samotny PDF to nie docenia. + +Bądź konkretny co do formatu. "Daj mi tabelę" albo "pięć punktów" daje ci coś, czego naprawdę możesz użyć. Na ogólnikowe prośby odpowiadają się niejasne. + +I nie traktuj pierwszej odpowiedzi jako ostatecznej. Sprzeciw się temu, poproś o głębsze słowa, przepisz to dla kogoś innego. Narzędzie jest stworzone do wymiany zdań, a pierwsze wyjście rzadko jest najlepsze. + +Jeśli znalazłeś tematy, które działają lepiej niż te, naprawdę chętnie je posłucham. Zostaw je w komentarzach. \ No newline at end of file diff --git a/inbox/Akademicki przepływ pracy_ Zotero i Obsidian.md b/inbox/Akademicki przepływ pracy_ Zotero i Obsidian.md new file mode 100644 index 0000000..bd6d046 --- /dev/null +++ b/inbox/Akademicki przepływ pracy_ Zotero i Obsidian.md @@ -0,0 +1,246 @@ +--- +title: "Akademicki przepływ pracy: Zotero i Obsidian" +source: "https://medium.com/@alexandraphelan/an-academic-workflow-zotero-obsidian-56bf918d51ab" +author: + - "[[Alexandra Phelan]]" +published: 2022-04-10 +created: 2026-08-07 +description: "More" +tags: + - "clippings" +--- +![](https://miro.medium.com/v2/format:webp/1*NADjCHzJSxgEj92Xr71MVQ.png) + +Moja baza danych Obsidian w widoku grafu, pokazująca dwukierunkowe powiązania między notatkami i kluczowymi węzłami popularnych tagów. + +*Uwaga: Zaktualizowana wersja tego workflow jest* [*dostępna tutaj.*](https://medium.com/@alexandraphelan/an-updated-academic-workflow-zotero-obsidian-cffef080addd) + +Jako naukowiec, mój codzienny workflow polega na zbieraniu materiałów, ich czytaniu i komentowaniu, tworzeniu notatek, pisaniu rękopisów oraz cytowaniu źródeł. Ta lista nie odzwierciedla różnic intensywności i wysiłku pomiędzy tymi etapami. Coraz częściej "tworzenie notatek" staje się centralną częścią mojego workflow: to miejsce, gdzie syntetyzuję to, co przeczytałem, łączę koncepcje, zdobywam i rozwijam pomysły oraz kończę pierwszy szkic na atomową część szerszego tematu. Podobnie pisanie rękopisu to ogromny wyzwanie, ale jest łatwiej, gdy mam już przygotowane mniejsze, już zsyntetyzowane i przygotowane notatki (dla tych, którzy znają [system Zettelkasten](https://zettelkasten.de/posts/overview/), będzie to już znajome). Znacznie łatwiej mi też pisać w edytorze Markdown niż w Wordzie, Scrivenerze czy Google Docs – każdy z własną powolnością i rozpraszającym formatowaniem. + +### Zotero: zbieranie zasobów, ich adnotowanie, cytowanie źródeł + +W większości moich etapów pracy akademickiej [Zotero](https://www.zotero.org/) radzi sobie znakomicie. Używam mojej biblioteki jako bazy danych, która przechowuje prawie 15 lat moich badań. Dodaję zasoby do mojej biblioteki za pomocą konektorów przeglądarkowych dołączonych do Zotero lub ręcznie, co oznacza, że wszystkie metadane dotyczące zasobu (autor, tytuł, typ, nazwa czasopisma, data itd.) są rejestrowane. Każdy wpis w mojej bazie danych jest również powiązany z PDF-em książki lub artykułu, gdzie mogę czytać, zaznaczać i dodawać notatki. Wtedy, gdy piszę manuskrypt, mogę łatwo wstawić cytowania w dowolnym stylu cytowania, jaki wymaga odpowiednie czasopismo lub redaktor. Jako osoba pracująca w różnych dziedzinach prawa i nauk ścisłych, możliwość przełączania się między APA, Bluebook lub Nature za pomocą przycisku jest kluczowa. Chociaż używam [Jurism](https://juris-m.github.io/) — forku Zotero lepiej zaprojektowanego do obsługi prawa lub źródeł międzynarodowych — najnowsza aktualizacja Zotero do Zotero 6 skłoniła mnie do przekalkulowania mojego workflow. I choć na razie będę dalej korzystać z Jurism, poniższy workflow powinien być pomocny dla osób korzystających z Zotero 6 i Obsidian. + +### Obsydian: tworzenie notatek, pisanie rękopisów + +Zbieranie zasobów i nic z nimi nie robienia to strata czasu. Nieefektywne jest zbieranie ich, a potem wracanie do takiej bazy tylko po to, by przywołać jakieś źródło, *jeśli* pamiętasz. Dla mnie synteza moich lektur i adnotacji w nowe notatki, które pomagają mi tworzyć manuskrypty, jest najważniejszą częścią mojego workflow. Mógłbym użyć dowolnego edytora tekstu do zbierania tych notatek, albo nawet funkcji notatek w samym Zotero. Ale chcę budować i łączyć swoje pomysły. Nigdy nie pracowałem w ścisłych dyscyplinarnych silosach, więc mój proces pisania też nigdy nie działał. Aby naprawdę to wykorzystać, prosty edytor tekstu, potencjalnie z jednokierunkowymi powiązaniami między tematami, nie wystarczy. Potrzebuję [dwukierunkowego łączenia](https://maggieappleton.com/bidirectionals) i radości z pluralizmu. I tu wkracza [Obsidian](https://obsidian.md/). Obsidian to edytor do przeceniania cen, oferujący środowisko pisania wolne od rozpraszaczy. Ale Obsidian oferuje coś więcej niż tylko edytor tekstu i umożliwia dwukierunkowe powiązania, by tworzyć relacje między ideami. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*PF7DtY7gZf_hSlDkyfFwcQ.png) + +## I. Ustawienie Zotero + +Istnieje wiele wtyczek do Zotero, ale polecam zainstalować: + +- [**Zotfile**](http://zotfile.com/) do zarządzania PDF-ami. Chociaż Zotero 6 umożliwia adnotacje w aplikacji i przechowywanie plików pdf w pamięci Zotero, ja używam zotfile, aby automatycznie przemianować pliki pdf na spójny format (np. author\_date\_title) i przenosić je do określonego folderu z załącznikami, który nie znajduje się w pamięci Zotero. Dzięki temu mogę przechowywać wszystkie adnotacje osobno w Zotero i mieć do nich dostęp przez eksplorator plików (w tym na tablecie, gdzie używam ulubionego czytnika PDF). Jeśli jesteś zadowolony z pozostania w ekosystemie Zotero, może to nie być konieczne. +- [**Betterbibtex**](https://retorque.re/zotero-better-bibtex/) do tworzenia citekeys. Betterbibtex robi wiele, ale głównie używam go do automatycznego tworzenia spójnych kluczy cytologicznych [pandoc](https://pandoc.org/) (author\_date, np. Carter\_2022), których mogę używać podczas pisania manuskryptów w Obsidianie. Jeśli nie planujesz używać Obsidian do pisania i cytowania, może to nie być konieczne. +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*4nABx_iY92q0CrrS3gWhYQ.jpeg) + +Moja baza danych Zotero, zawierająca artykuły naukowe, książki, rozdziały, raporty oraz źródła pierwotne, takie jak międzynarodowe i krajowe sprawy sądowe, ustawy i traktaty. + +## II. Obsidian Setup + +Druga część workflow opiera się na kilku wtyczkach społecznościowych Obsidian. [**Obsidian Zotero Desktop Connector**](https://github.com/mgmeyers/obsidian-zotero-desktop-connector) to jedyny niezbędny do tworzenia notatek literackich. Jednak strona sumacji wymaga [**dataview**](https://github.com/blacksmithgu/obsidian-dataview), a eksport manuskryptów napisanych w Obsidian z citekeys do docx wymaga wtyczki [**pandoc**](https://github.com/OliverBalfour/obsidian-pandoc). W Obsidian (v0.14) włączono już wywołania. Używam wtyczki [**adomitions**](https://github.com/valentine195/obsidian-admonition) do tworzenia spersonalizowanych wywołań. + +Notatki literackie to w zasadzie jedna notatka dla każdego źródła, zawierająca pełne metadane, link do Zotero oraz adnotacje i notatki wyodrębnione z pliku PDF przechowywanego w Zotero. + +**Zotero Desktop Connector for Literature Notes +**Do uzyskania struktury notatki literackiej potrzebne są dwa główne szablony — nagłówek i adnotacje. Kod markdown dla każdego z nich przedstawiono poniżej. Są one zapisywane jako pliki Markdown w skarbcu. + +- **Nagłówek notatki literackiej** +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*fqO-aQMtcv-gZp3yRnNg1w.png) + +Ten szablon – "infoheader" – stanowi ramy formatowania dla moich notatek literackich. Lubię mieć pełne cytowanie na górze, żeby w razie potrzeby skopiować i wkleić. Lubię też od razu syntetyzować kluczowy wkład tego utworu w literaturę. Szablon wyodrębnia metadane z Zotero, w tym używając funkcji "jeśli" nunjucka do wypełniania szczegółów konkretnych zasobów. Po imporcie ręcznie zmieniam pierwszego autora z **Autor**::na **Pierwszy Autor**:: aby uprościć długie listy autorów w mojej tabeli podsumowań (poniżej). + +```c +> [!Cite] +> {{bibliography}}>[!Synth] +>**Contribution**::>[!md] +> {%- for creator in creators %} {%- if creator.name == null %} **{{creator.creatorType | capitalize}}**:: {{creator.lastName}}, {{creator.firstName}}{%- endif -%}
+> {%- if creator.name %}**{{creator.creatorType | capitalize}}**:: {{creator.name}}{%- endif -%}{%- endfor %} +> **Title**:: {{title}} +> **Year**:: {{date | format("YYYY")}} +> **Citekey**:: @{{citekey}} +> {%- if itemType %}**itemType**:: {{itemType}}{%- endif %} +> {%- if itemType == "journalArticle" %}**Journal**:: *{{publicationTitle}}* {%- endif %} +> {%- if volume %}**Volume**:: {{volume}} {%- endif %} +> {%- if issue %}**Issue**:: {{issue}} {%- endif %} +> {%- if itemType == "bookSection" %}**Book**:: {{publicationTitle}} {%- endif %} +> {%- if publisher %}**Publisher**:: {{publisher}} {%- endif %} +> {%- if place %}**Location**:: {{place}} {%- endif %} +> {%- if pages %} **Pages**:: {{pages}} {%- endif %} +> {%- if DOI %}**DOI**:: {{DOI}} {%- endif %} +> {%- if ISBN %}**ISBN**:: {{ISBN}} {%- endif %}> [!LINK] +> {%- for attachment in attachments | filterby("path", "endswith", ".pdf") %} +> [{{attachment.title}}](file://{{attachment.path | replace(" ", "%20")}}) {%- endfor -%}.> [!Abstract] +> {%- if abstractNote %} +> {{abstractNote}} +> {%- endif -%}{%- set important = annotations | filterby("comment", "startswith", "important") -%} +{%- if important.length > 0 %}> [!important] Callouts +{%- for annotation in important -%} +{%- if annotation.annotatedText %} +> - {{annotation.annotatedText | nl2br}} +{%- endif -%} +{%- if annotation.imageRelativePath %} +> - ![[{{annotation.imageRelativePath}}]] +{%- endif %} +> [page {{annotation.page}}](file://{{annotation.attachment.path | replace(" ", "%20")}}) +{%- endfor -%} +{%- endif %} +{%- if annotations.length %}## Annotations +{%- endif %} +``` +- **Adnotacje** +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*GC06No20_eZ83uGgM6vYag.png) + +Ten szablon adnotacji – "annots" – robi kilka funkcji. Po pierwsze, określa osobne formatowanie kolorów jasności. To dla mnie przydatne, ponieważ używam różnych kolorów podkreślania, by przekazać różne rzeczy: +\- 🟡 ciekawy punkt +\- 🟢 literatura do czytania +\- 🔵 kluczowe wnioski/ *ratio decdendi +*\- 🟣 krytyka autora wobec innej literatury *\-* 🔴 nie zgadzam się z autorem +\- 🟠️ podkreślanie +po pierwszej iteracji + +Szablon również wyodrębnia notatki pisemne jako notatki. Tutaj możesz też ustawić style podkreśleń, przekreśleń itp., ale ja ich nie używam, więc uprościłem szablon. + +Reszta szablonu pozwala następnie na dodawanie kolejnych adnotacji do notatki literackiej bez usuwania zmian czy edycji dokonanych po imporcie. + +```c +{%- macro calloutHeader(type, color) -%} +{%- if type == "highlight" -%} +Highlight +{%- endif -%}{%- if type == "text" -%} +Note +{%- endif -%} +{%- endmacro -%}{%- set annots = annotations | filterby("date", "dateafter", lastExportDate) -%} +{%- if annots.length > 0 %} +### Exported: {{exportDate | format("YYYY-MM-DD h:mm a")}}{% for annot in annots -%} +> {{calloutHeader(annot.type, annot.color)}} +{%- if annot.annotatedText %} +> {{annot.annotatedText | nl2br}} +{%- endif -%} +{%- if annot.imageRelativePath %} +> ![[{{annot.imageRelativePath}}]] +{%- endif %} +> [page {{annot.page}}](file://{{annot.attachment.path | replace(" ", "%20")}}) [[{{annot.date | format("YYYY-MM-DD#h:mm a")}}]] +{%- if annot.comment %} +> - {{annot.comment | nl2br}} +{% endif %}{% endfor -%} +{% endif -%} +``` + +## III. Tworzenie notatek literackich + +Po skonfigurowaniu plików Nagłówka i Adnotacji aktywuj wybór poleceń Obsidian (cmd-p na mac) i wybierz "Zotero Desktop Connector: Create Literature Note". Ustawiłem to na skrót klawiszowy, który uruchamia się od razu. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*GgiVm5CAnXgwS25GcNIWAA.png) + +Powinno pojawić się pytanie Zotero, a ty możesz wpisać swoje źródło, dla którego tworzysz Notatkę Literacką. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*Czplq0hnBk6XZ9BqF77-0Q.png) + +Po wybraniu ZDC uruchamia się i w jednym Literature Note wyświetla nagłówek oraz adnotacje: + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*ULEiGz45BTM6JZTQUjN5AQ.png) + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*gcOCdiY170_nuJV-qp9qOg.png) + +Pierwsze dwa odniesienia zostały ręcznie edytowane w ramach procesu syntezy. + +Możesz wtedy edytować dokument, a jego zmiany zostaną zachowane. Jeśli następnie dodasz więcej notatek i adnotacji w odpowiednim PDF, zostaną one dodane osobno podczas ponownego uruchomienia "Zotero Desktop Connector: Create Literature Note". Jeśli przeniesiesz Literature Note z folderu wyjściowego, nie zaktualizuje to pliku przeniesionego, lecz utworzy nową notatkę w oryginalnym folderze wyjściowym. Polecam więc trzymać jeden folder z wyjściem Literature Notes i nie przenosić plików. + +**Podsumowanie notatek literackich** + +W nowej notatce Obsidian dataview może być użyty do stworzenia zbioru wszystkich notatek literackich: + +```c +\`\`\`dataview +tabletitle as Title, +FirstAuthor as "First Author", +Year as Year, +itemType as Item, +Citekey as Citekey, +Contribution as Contribution +FROM "[insert Literature Notes folder here]"\`\`\` +``` + +co skutkuje: + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*eTBRlCz2WNsv4kbTdYZwRQ.png) + +## IV. Pisanie rękopisów + +Pisanie w Obsidian jest zasadniczo takie samo w każdym innym edytorze tekstu, z tą różnicą, że formatowanie odbywa się za pomocą [markdown](https://help.obsidian.md/How+to/Format+your+notes): + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*gktExOIMD7CNU0VIeI92KA.png) + +Do dodawania cytowań można używać Zotero Desktop Connector. Najpierw musisz ustalić preferowane style cytowania. Upewnij się, że masz zainstalowany wybrany styl (CSL) w Zotero (Preferencje > Cytowanie > Styles). To wstawi ukończone cytowanie w preferowanym formacie. + +Alternatywnie możesz też ustawić cytowania Pandoc, które pozwalają łatwo zmieniać formaty według potrzeb (na przykład, jeśli wysyłasz do różnych czasopism). + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*n4tMks1KJd-mzTH5lFHCAA.png) + +### Dodawanie cytowań + +Użyj wiersza poleceń Obsidian, aby wybrać styl cytowania, dla którego chcesz wstawić cytat. Możesz ustawić skróty klawiszowe, które od razu przechodzą do preferowanego stylu. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*r0VUZOpe0IBQgMDfys7rYA.png) + +Następnie możesz wybrać odpowiednie cytowanie w Zotero... + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*GVlE0vA76QWpxBCd5-6Vbg.png) + +a wybrany cytowanie jest wstawiane do dokumentu. Tutaj użyłem cytowania pandoka: + +![](https://miro.medium.com/v2/resize:fit:1300/format:webp/1*syWgKqI1nro_fjl_cQEbYA.png) + +### Przejście z markdown do docx i cytowania procesów + +**Ustawienie pandoc do odczytu Twojej biblioteki** Zotero Po dodaniu cytowań możesz je przetwarzać za pomocą wtyczki pandoc. Pierwszym krokiem jest wyeksportowanie biblioteki Zotero jako pliku.bib, a następnie wskazanie wtyczki pandoc na ten plik. Możesz to zrobić za pomocą YAML frontmatter: + +```c +--- +bibliography: ~/yourpath/My library.bib +--- +``` + +lub ustaw ją na stałe w wtyczce pandoc, dodając ją do pola Dodatkowe argumenty Pandoc: + +```c +--metadata bibliography=~/yourpath/My Library.bib +``` + +**Ustawienie pandoca do przetwarzania cytowania w preferowanym stylu** + +Domyślne cytowanie pandoc to Chicago (data autorstwa). + +Jeśli chcesz zmienić styl cytowania lub dodatkową bibliotekę Zotero, możesz ustawić CSL w metadanych YAML lub w ustawieniach wtyczki pandoc: + +```c +--- +csl: ~/yourpath/style.csl +--- +``` + +lub ustaw to na stałe w ustawieniach wtyczki Pandoc, dodając do pola Dodatkowe argumenty Pandoca: + +```c +--metadata csl=~/yourpath/style.csl +``` + +**Eksport do docx** + +Wystarczy otworzyć paletę poleceń i wybrać wtyczkę pandoc: eksport jako dokument Word (docx). Będzie eksportowany do tego samego folderu co plik md lub do określonego folderu eksportu udostępnionego w ustawieniach wtyczki pandoc obsidian. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*dr3nU3opf87UYmx-xxTB1Q.png) + +Alternatywnie, jeśli masz Maca, możesz użyć Terminala do wszystkich powyższych czynności. Instrukcje montażu [tutaj](https://pandoc.org/installing.html). + +```c +pandoc "path/to/input.md" -o "path/to/output.docx" --citeproc --bibliography "path/to/library.bib" --csl "path/to/citation_style.csl" +``` + +### Przyszłość + +Gdy już poznasz procesy i konfigurację, proces przebiega niesamowicie sprawnie. To stroma krzywa nauki, jeśli masz ograniczone doświadczenie lub komfort programowania, ale jest to dość przyjazne dla użytkownika podejście do opracowania pełnego akademickiego workflow badawczego i cytowania. + +**Dzięki** Discordowi Obsidian, zwłaszcza [Mathew Meyersowi](https://github.com/mgmeyers), [Chrisowi Grieserowi](https://github.com/chrisgrieser), [Eleanor Konik](https://www.eleanorkonik.com/), [Leah Ferguson](https://notes.leahferguson.com/Home). \ No newline at end of file diff --git a/inbox/How to Build a Company OS in Claude Code with Jiaona Zhang, CPO at Laurel.md b/inbox/How to Build a Company OS in Claude Code with Jiaona Zhang, CPO at Laurel.md new file mode 100644 index 0000000..96304ea --- /dev/null +++ b/inbox/How to Build a Company OS in Claude Code with Jiaona Zhang, CPO at Laurel.md @@ -0,0 +1,298 @@ +--- +title: "How to Build a Company OS in Claude Code with Jiaona Zhang, CPO at Laurel" +source: "https://www.news.aakashg.com/p/company-os-jz" +author: + - "[[Aakash Gupta]]" +published: 2026-06-24 +created: 2026-07-07 +description: "Jiaona Zhang, CPO at Laurel and ex-Airbnb, Dropbox, WeWork, shows exactly how a product team of 9 can outperform 90." +tags: + - "clippings" +--- +One AI native team of 9 can now out-ship what used to take 90 people. Here is how Laurel built that team. + +![](https://www.youtube.com/watch?v=qsDX0PMKcaE) + +*Sprawdź rozmowę na [Apple](https://podcasts.apple.com/in/podcast/how-to-become-a-builder-pm-with-n8n-claude-code/id1763555775?i=1000762483697), [Spotify](https://open.spotify.com/episode/5ZNRFSYL15vRo7Rt51ANXP?si=glhi9q4SS7igfxzCWWA0bw) i [YouTube](https://youtu.be/qsDX0PMKcaE).* + +**Prezentowane przez:** + +1. [Ariso](https://ariso.ai/aakash) – Wysyła agentów i funkcje AI szybciej, z mniejszą liczbą regresji +2. [Bolt](https://bolt.new/solutions/product-manager?utm_source=Promoted&utm_medium=email&utm_campaign=aakash-product-growth) – Wysyła produkty oparte na AI 10 razy szybciej +3. [Pendo](http://www.pendo.io/aakash) – #1 platforma do zarządzania doświadczeniem programistycznym +4. [Product Faculty](https://maven.com/product-faculty/ai-product-management-certification?promoCode=AAKASH550C7) – Zdobądź 550 dolarów zniżki na ich #1 certyfikat AI PM: kod AAKASH550C7 +5. [Customer.io](http://customer.io/productgrowth) - Wysyłaj mądrzejsze komunikaty, korzystając z danych produktowych + +--- + +## Dzisiejszy odcinek + +Pisałem o budowaniu [systemu zarządzania projektami](https://www.news.aakashg.com/p/pm-os) i [systemu zespołowego](https://www.news.aakashg.com/p/team-os-cc) w kodzie Claude. To moje dwa najpopularniejsze prace 2026 roku. + +Dziś jest aktualizacja: **system operacyjny firmy**, który pozwala *nawet CSM w twojej firmie na [produkcję](https://www.news.aakashg.com/p/pm-guide-ship-production)* produkcyjną. + +I to nie jest teoria. + +[Jiaona Zhang "JZ"](https://www.linkedin.com/in/jiaona/) jest CPO w Laurel – która zebrała **[100 milionów dolarów w serii C](https://www.laurel.ai/resources-post/ai-time-platform-laurel-raises-100-million-to-transform-the-professional-services-industry)** – a jej firma faktycznie działa na systemie operacyjnym firmy. Napotkali problemy i niedociągnięcia. Wygładzili je. Teraz pokazują, co działa. + +JZ nie jest jakimś "purystą AI". Prowadziła produkty w **Airbnb, Dropbox, Webflow i WeWork**. Jest realistką AI. + +A w tym odcinku nic nie ukrywa: + +- **System operacyjny firmy**, który to wszystko umożliwia +- **Jak PM-owie przechodzą od pomysłu na produkt do wysłanej funkcji** z agentami +- **Jak prowadzi rozmowy kwalifikacyjne z AI** PM w tej epoce i jak je osiągać na wysokim poziomie + +To jeden z najgęstszych odcinków, jakie kiedykolwiek nagrałem. + +*Mam nadzieję, że oglądanie tego będzie Ci się podobało tak samo, jak mnie nagrywając.* + +--- + +- ***Aby uzyskać dostęp do mojego zestawu narzędzi AI** – Dovetail, Arize, Linear, Descript, Reforge Build, Relay.app, Magic Patterns, Speechify, Bolt.new i Mobbin – **[zostań rocznym subskrybentem](https://www.news.aakashg.com/account) (150 USD) i pobierz [pakiet Aakasha](https://bundle.aakashg.com/)**.* +- ***Aby uzyskać dostęp do moich personalizacji AI PM** – [PM OS,](http://l.threads.com/?u=https%3A%2F%2Fwww.news.aakashg.com%2Fp%2Fpm-os&e=AT3OpE6P_HWG7KYcTl7xmfJz8h5zD8r-frJ3BkELyP3DYU58vBRyaMu95EaIbAjHMK36o_aZMzrCeGtw4SDHYwhZVyucVSaW1gqpGFsZrI6GBstPgR1InkhqtfU1niMfNeO455rFAhLe) [Job Search OS](https://www.news.aakashg.com/p/job-search-os) i [Prompt Library](https://www.news.aakashg.com/p/pm-prompt-library) – **[zostań założycielem](https://www.news.aakashg.com/account) (250 USD).*** + +--- + +## Newsletter Deep Dive + +*Witamy w pierwszym przewodniku internetowym, który pokazuje, jak liderzy produktu mogą stworzyć system operacyjny firmy, aby przyspieszyć wdrażanie kodu Claude w całej organizacji:* + +1. **Jak zbudować system operacyjny firmy** + - Jak rozszerzyć adopcję AI poza inżynierię +2. **Nowa rola PM w zespole natywnym dla AI** +3. **Jak zostać zatrudnionym jako PM natywny w AI-** + +--- + +## 1\. Jak zbudować system operacyjny firmy + +System operacyjny firmy może odblokować produktywność w całej organizacji. Wykorzystuje moc koncepcji takiej jak [system operacyjny PM](https://www.news.aakashg.com/p/pm-os) poza pojedynczych PM-ów czy [zespoły produktowe](https://www.news.aakashg.com/p/team-os-cc). + +W Laurel **nawet CSM wysyłają do produkcji**. + +*Oto jak zbudować własną:* + +![](https://substackcdn.com/image/fetch/$s_!PpJ9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6fe0aa47-7bed-4cb3-93c5-e4f3c646bc07_2160x2700.png) + +#### Architektura jest prostsza, niż myślisz + +Jedno repozytorium na GitHub. Każdy zespół w firmie ma własny folder. Każdy folder odpowiada aktywnościom prowadzonym przez daną drużynę. Każda aktywność ma swój plik umiejętności. Pliki umiejętności trafiają bezpośrednio do ustawień organizacji Claude'a. Każdy, kto otwiera Claude'a, ma już załadowane odpowiednie umiejętności. + +Podczas dema JZ udostępniał na żywo pełną strukturę GitHub Laurel. Sukces klienta, data science, projektowanie, inżynieria, finanse, prawo, marketing, wszystko to: + +![](https://substackcdn.com/image/fetch/$s_!DuDj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f5e748b-05dd-49f9-92eb-db754b383e0e_2470x1302.png) + +Oryginalny system operacyjny firmy, a następnie JZ at Laurel + +*Są trzy warstwy, które pozwalają zbudować własne.* + +#### Warstwa 1 – Zacznij od ontologii + +Projektowi budują system operacyjny, a potem zastanawiają się, dlaczego nikt go nie używa. Pomylili się w kolejności. + +Zacznij od ontologii, jak JZ. Przypisuj pracę każdej funkcji do kategorii, a następnie do zadań w obrębie każdej kategorii. Co powinna robić sprzedaż? Co powinno robić CS? Co powinien robić produkt? Ta mapa pracy kształtuje strukturę folderów. System operacyjny jest zbudowany na podstawie ontologii: + +![](https://substackcdn.com/image/fetch/$s_!7u0N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe2521ba-f521-436f-a550-1b52f44ce05c_2466x1234.png) + +Jak wygląda ontologia firmy + +W Laurel ontologia znajduje się obok systemu operacyjnego. Dla każdej funkcji pokazuje, które aktywności powinny wzrosnąć (więcej czasu ludzkiego), a które zmniejszyć (automatycznie). Jeśli chodzi o produkty, analizy konkurencyjne, briefy interesariuszy oraz syntezę badawczą należą do kolumny "przestań robić ręcznie". Prace nad funkcjami, kontrola jakości oraz bezpośredni kontakt z klientem są w kolumnie "spędzaj tu więcej czasu". Oznaczone kolorami. Widoczne dla każdego lidera. + +*To jest część, którą większość firm pomija. Instalują narzędzia, zanim zdecydują, która praca faktycznie ma znaczenie.* + +#### Warstwa 2 - Architektura plików umiejętności + +Gdy już masz ontologię, rozwijaj umiejętności. + +Plik umiejętności to dokument Markdown, który koduje, jak wykonać konkretną pracę. To nie jest zwykła podpowiedzi. Konkretny, opiniotwórczy przewodnik, który odzwierciedla, jak Twoja firma to robi. Jak napisać e-mail o odnowieniu w swojej firmie? Jak wygląda dobra prośba o funkcjonalność, gdy pochodzi od przedstawiciela obsługi klienta? Jakie pytania zadajesz przed segregacją eskalacji wsparcia? + +Plik umiejętności wyjaśnia to wszystko. Prześlij go do ustawień organizacji Claude'a i stanie się dostępny dla wszystkich. Umiejętność jest wywoływana, gdy jest potrzebna. Dzięki temu prostemu ustawieniu najlepszy workflow dla jednej osoby staje się domyślnym dla wszystkich. + +#### Warstwa 3 - Warstwa dostarczająca + +W Laurel każdy członek zespołu z kontaktem z klientem otrzymuje codzienną poranną wiadomość w Slacku. Kalendarz, spotkania, kontrole, sesje wdrożenia – wszystko się pojawiło. A obok każdego przedmiotu wbudowana jest umiejętność do użycia. Masz telefon o odnowieniu o 10:00. Oto umiejętność odnowienia. Masz sesję wdrożenia o 14:00. Oto umiejętność wdrożenia. System operacyjny spotyka ludzi tam, gdzie już są. + +![](https://substackcdn.com/image/fetch/$s_!dwaR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c54c706-236a-46cf-80e3-6c1c344fead3_2534x1644.png) + +*Ten 1% zawsze to rozgryzie. System operacyjny firmy to sposób, w jaki sprawiasz, że ich workflow jest domyślny dla wszystkich.* + +--- + +### Jak rozszerzyć adopcję AI poza inżynierię + +Gdy adopcja AI jest odpowiedzialnością wszystkich, to nie jest odpowiedzialnością nikogo. Osoba, która miała budować workflow obsługi klienta, prowadzi też odnowienia, zajmuje się eskalacją i wdraża trzy nowe konta. Workflow nigdy nie jest budowany. To prowadzi do ogromnej luki. + +Naprawa ↓ + +#### Krok 1 – Poświęć temu osobę + +W Laurel ta rola nazywa się operacjami AI. Jedna osoba, na pełen etat na zlecenie, której cała praca polega na znajdowaniu efektywności, budowaniu przepływów pracy i rozprzestrzenianiu tego, co działa, na każdą funkcję. + +JZ opisuje to jako nowy BizOps: + +> ***AI ops** **to nowy BizOps**. Wcześniej BizOps robiły naprawdę znaczące rzeczy, ale często były to bardzo wysokie poziomy, różne role, wiele rzeczy na poziomie rynku. Jeśli przekształcisz pomysł BizOps, który w wielu aspektach jest znowu szwajcarskim scyzorykiem, na znalezienie osób niesamowicie ciekawych, majsterkujących przy najnowszej technologii i nieustannie dążących do osiągania efektywności, **to właśnie tego DNA naprawdę szukam**.* + +Laurel zaczęła od jednej osoby, Sashy. W ciągu kilku miesięcy każda inna impreza chciała mieć swoją własną Sashę. To właśnie ten popyt pozwala na uzyskanie budżetu. Pokazujesz wartość jednej osobie, a potem pozwalasz, by przyciąganie pojawiło się naturalnie. + +Jeśli czytasz to jako lider, który jeszcze nie może zatrudnić na to stanowisko, to osoba najbliższa temu już istnieje w twoim zespole. To oni wymyślili automatyzację Slacka, której nikt im nie kazał budować. Znajdź ich. Daj im oficjalny mandat. + +#### Krok 2 - Zorganizuj firmowy hackathon + +Założenie, które blokuje adopcję AI w funkcjach nietechnicznych, jest proste: trzeba być technicznym, by coś zbudować. + +Jeden hackathon przełamuje to założenie szybciej niż jakikolwiek program szkoleniowy. + +Laurel zorganizowała firmowy hackathon na ich offsite około trzy miesiące temu. Każda drużyna wzięła udział. Nie tylko inżynieria. Wyraźnym celem było pokazanie, że każdy może budować. Gdy menedżer ds. sukcesu klienta wysyła coś w ciągu jednego dnia, historia się rozprzestrzenia. Ta historia robi więcej dla adopcji niż jakiekolwiek nakazy odgórne. + +Jeśli cała praca poza miejscem pracy wydaje się poza zasięgiem, jedno popołudnie też się sprawdza. Wybierz jedną funkcję. Daj im cztery godziny i jasny problem do rozwiązania. Trzymaj niską poprzeczkę, spraw, by nawet działająca automatyzacja Slacka się liczyła. Szablon promptu, który oszczędza 30 minut dziennie, się liczy. Celem jest pierwsze zwycięstwo nad idealnym rozwiązaniem. + +#### Krok 3 – Spraw, by kultura była widoczna + +Niektóre firmy mają wartość slajdu, którego nikt nie czyta po zakończeniu prezentacji. + +Laurel przekształciła swoją wartość "nierozsądnej gościnności" w sposób pracy. Gdy menedżer ds. sukcesu klienta ma nadchodzącą wizytę i od jakiegoś czasu nie miał kontaktu osobistego z tym klientem, system operacyjny to ujawnia. Czerpie z transkrypcji Gong to, co klient uwielbia. Sugeruje ten gest. Zajmuje się logistyką. Jeśli widzisz, teraz wartość nie jest już tylko slajdem. + +To właśnie część większości liderów pomija. Kultura rozprzestrzenia się przez systemy, które czynią właściwe zachowania domyślnym. Nie musisz mieć wewnętrznej motywacji, by okazywać gościnność. Potrzebujesz systemu, który ułatwi to wszystkim i tak robić. + +*Ta sama logika dotyczy adopcji AI. Czekanie, aż 99% Twojej firmy samo zainteresuje się AI, to ryzykowna stawka. Postaw odpowiednią umiejętność w odpowiednim momencie, a ciekawość sama się załatwi.* + +--- + +## 2\. Nowa rola PM w zespole natywnym dla AI + +Na Reddicie właśnie toczy się taka rozmowa. Prywatny menedżer pyta, czy jego praca znika. Dostałem 200 odpowiedzi, połowa spanikowana, a druga zbywająca. Szczerze mówiąc, żadna z tych grup nie ma racji. + +Ta praca nie znika. Jego kształt zmienia się szybciej, niż większość ludzi chce przyznać. + +Oto jak wygląda nowy kształt. + +![](https://substackcdn.com/image/fetch/$s_!7bK9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb90546b-5dd5-45e8-b288-1a029a3a1567_2160x2700.png) + +#### Model kapitana + +Zapomnij o starym łańcuchu przekazywania. PM pisze specyfikację, wysyła do projektanta, projektant wysyła do inżyniera, inżynier odsył, projektant mówi, że to nie jest to, co zaprojektował. Ta pętla dzieje się w zespołach natywnych dla AI. + +Zastępcą jest model kapitana. Każda funkcja ma jedną osobę, która ją posiada od początku do końca. + +Kapitan to osoba, która ma najważniejszą umiejętność do najtrudniejszego problemu danej cechy: + +- **Kapitan inżynierii –** zmiany architektoniczne, przebudowy systemów, wszystko, gdzie ryzyko bazy kodu jest największą zmienną. +- **Kapitan projektanta –** Funkcje z dużą ilością interakcji, gdzie doświadczenie jest wszystkim, a inżynieria prosta. +- **Kapitan PM –** Funkcje, gdzie najtrudniej jest dobrze zrozumieć klienta i kontekst biznesowy. Puste stany. Onboarding przebiega. Wszystkie, gdzie treść i wgląd użytkownika są ważniejsze niż kod. + +To jest pełny model. + +#### Recenzje produktów z dwoma ścieżkami + +Prędkość bez ustawienia to po prostu krążenie w kółko. Model kapitana potrzebuje barier. + +W Laurel są dwa tory: + +**Ścieżka 1 - Szybko.** + +Małe cechy, jeden kapitan, całkowite posiadanie. Korzysta z kanału Ask Devin recenzentów na Slacku. Inżynier przegląda PR. Projektant sprawdza to w razie potrzeby. Nie było formalnego spotkania przeglądowego produktu. + +**Utwór 2 – pełna recenzja.** + +Wymagane są radykalne zmiany w kluczowych interakcjach z użytkownikami, decyzjach architektonicznych, myśleniu na poziomie systemowym. To właśnie JZ nazywa przeglądem strategii produktu. "Jesteśmy pewni, że to właściwy kierunek dla całego produktu?" Dodatkowo osobna recenzja architektoniczna – "Czy system faktycznie będzie wspierał to, co chcemy osiągnąć?" + +Pytanie, które większość zespołów rozwiązuje źle, brzmi: na którym torze należy dany obiekt. + +Test jest prosty. Jeśli zmiana dotyczy kluczowej interakcji użytkownika, która dotyka całego produktu, jest to Track 2. Jeśli jest ograniczony do jednego workflow, a najtrudniejszym problemem jest wykonanie, to jest to Track 1. Inicjatywy tymczasowe, mimo że były funkcją frontendu i backendu, były Ścieżką 1. Przeprojektowaniem sposobu, w jaki Laurel wyświetla czas przez cały dzień, byłby Track 2. + +Omówiłem mechanikę wysyłania PM do produkcji w moim [przewodniku PM dotyczącym wysyłki pierwszego pull requesta](https://www.news.aakashg.com/p/pm-guide-ship-production). Model kapitana sprawia, że żegluga jest zrównoważona na dużą skalę, a nie jednorazowym eksperymentem. + +Na zakończenie powiedziałbym... + +*Podstawy świetnego zarządzania produktem nigdy się nie zmieniały. Zmieniło się to, że nie można już ukrywać się za procesami, spotkaniami i liczbą pracowników.* + +*Praca jest pracą teraz.* + +--- + +## 3\. Jak zostać zatrudnionym jako PM z natywną inteligencją AI + +Zapytaj kogoś z zespołu, czy korzysta z AI. Wszyscy mówią tak. Poproś ich, żeby ci pokazali. I tu właśnie zmienia się odpowiedź. + +Istnieje rama, która natychmiast przebija się przez szum. Cztery poziomy. Każda osoba, każdy zespół, każda firma znajduje się gdzieś na tej skali. + +![](https://substackcdn.com/image/fetch/$s_!F-Si!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62aa4187-c0a7-444b-9eb1-54e65c4343d8_2160x2700.png) + +#### Poziom 1 – Tryb czatu. + +Otwierasz Claude'a lub ChatGPT. Wpisujesz pytanie, żeby uzyskać konkretną odpowiedź. + +To jest AI jako nieco mądrzejsze Google. Większość ludzi tu jest. Jeśli zamykasz zakładkę po każdej sesji i zaczynasz od nowa następnym razem, jesteś na poziomie 1. + +#### Poziom 2 – Automatyzacja przepływu pracy. + +Przestajesz wykonywać zadanie ręcznie i budujesz coś, co robi to za ciebie. + +Automatyzacja Slacka, która sortuje żądania funkcji. Szablon, który automatycznie zapełnia się z twojego CRM. Poranne spotkanie, które wyciąga z kalendarza i pokazuje priorytety. Jeden workflow. To jest punkt wejścia. Jeśli nie znasz, opisałem, jak zacząć budować te elementy w moim przewodniku [AI Agents for PMs](https://www.news.aakashg.com/p/ai-agents-pms). + +#### Poziom 3 – Tworzenie aplikacji. + +Identyfikujesz coś na tyle żmudnego, że zasługuje na prawdziwe narzędzie, i tworzysz aplikację. + +Coś z interfejsem, logiką i stanem. To tutaj mieszkają projektowi deweloperzy. Mahesh Yadav wyjaśnił dokładnie, jak do tego dojść w [naszym odcinku o zostaniu budowniczym PM.](https://www.news.aakashg.com/p/how-to-become-a-builder-pm) + +#### Poziom 4 – Współdzielone aplikacje i wysyłka do klientów. + +Budujesz rzeczy, których używają inni. Twój zespół Customer Success udostępnia funkcję. Twój PM składa PR, który trafia do produkcji. Jesteś w pełnym cyklu życia produktu. To tutaj działają zespoły natywne dla AI. + +W większości organizacji zespół inżynierów jest podzielony na poziom 2 i poziom 3. Sprzedaż i Customer Success to głównie poziom 1. Finanse i prawo często są na poziomie 0, co nawet nie jest na skali. + +#### Test udostępniania ekranu + +Oto jak JZ wykorzystuje ten framework w praktyce. W każdej rozmowie kwalifikacyjnej prosi kandydata o udostępnienie ekranu. + +W ciągu 60 sekund dokładnie wiesz, gdzie ktoś jest. Osoba na poziomie 1 ma otwarte kilka zakładek czatu Claude'a z jednorazowymi pytaniami. Osoba na poziomie 3 ma strukturę folderów, zestaw zapisanych workflowów, może aplikację, którą stworzyła w zeszłym tygodniu. + +*Ten sam test działa w twoim zespole. Wybierz pięć osób z różnych funkcji. Poproś ich, żeby pokazali ci, jak korzystają z AI. Nie proś ich o opis. Patrz, jak się dzieje. Za mniej niż godzinę będziesz mieć jasną mapę faktycznego miejsca pracy Twojej firmy.* + +--- + +*Oto najważniejsze wnioski z jednej infografiki:* + +![](https://substackcdn.com/image/fetch/$s_!N09v!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F211898e5-a78c-45b3-a368-faab4c26ce64_2160x2700.png) + +--- + +## Gdzie znaleźć Jiaonę Zhang + +- [LinkedIn](https://www.linkedin.com/in/jiaona/) +- [Przekuwanie](https://www.reforge.com/profiles/jiaona-zhang) +- [Laurel](https://www.laurel.ai/) + +--- + +SONDAŻ + +### Co sądzisz o dzisiejszym wpisie? + +Super - 5/5 + +Dobrze - 3/5 + +Źle - 1/5 + +--- + +## Powiązane treści + +**Podcasty:** + +1. [Jak wiceprezes wykorzystuje Claude'a bez tworzenia bzdur](https://www.news.aakashg.com/p/claude-vp) - [YouTube](https://youtu.be/yDeFGKaSoX8?si=Ys51buJ4L6LK7b4h) | [Spotify](https://open.spotify.com/episode/03YzqmgOWNSekE6ERaqy75?si=3_w5eMzrQGOlJQLeaakNYw) | [Apple](https://podcasts.apple.com/in/podcast/how-a-vp-of-product-uses-claude-without-producing/id1763555775?i=1000771935484) +2. [Jak zbudować system operacyjny zespołu w kodzie Claude](https://www.news.aakashg.com/p/claude-code-team-os) - [YouTube](https://youtu.be/0UArKLQ6bXA?si=qIDcoIQzw4F5SAOs) | [Spotify](https://open.spotify.com/episode/76EZMxuTLXhG8MTmVGhmi1?si=eeLVBTCWSGCfffYNEVcn6g) | [Apple](https://podcasts.apple.com/in/podcast/how-to-build-a-team-os-in-claude-code-with/id1763555775?i=1000760124968) +3. [Jak zostać budowniczym PM](https://www.news.aakashg.com/p/how-to-become-a-builder-pm) - [YouTube](https://youtu.be/PL7908aNeSE?si=ZjqGGEfI53M2MLBt) | [Spotify](https://open.spotify.com/episode/5ZNRFSYL15vRo7Rt51ANXP?si=GAI9a0qNTu-2r5RgpmUIRQ) | [Apple](https://podcasts.apple.com/in/podcast/how-to-become-a-builder-pm-with-n8n-claude-code/id1763555775?i=1000762483697) + +**Biuletyny:** + +1. [Ostatni tydzień spędziłem na budowaniu systemu operacyjnego w kodzie Claude](https://www.news.aakashg.com/p/team-os-cc) +2. [Spędziłem setki godzin na budowaniu systemu zarządzania projektami dla Ciebie](https://www.news.aakashg.com/p/pm-os) +3. [Jak budować strategię produktową w erze AI](https://www.news.aakashg.com/p/ai-product-strategy-2026) + +--- + +*PS. Prosimy o subskrypcję [na YouTube](https://www.youtube.com/@growproduct?sub_confirmation=1) oraz śledź na [Apple](https://podcasts.apple.com/in/podcast/how-to-ai-prototype-well-masterclass-from-%245-5b-founder/id1763555775?i=1000752030510) i [Spotify](https://open.spotify.com/episode/4oHNke2KJNHh7xrbiynQEI?si=0V6avOAiQ-WxS9V-VuePYw). To pomaga!* \ No newline at end of file diff --git a/inbox/Jak korzystać z CodeGraph_ Zamień dowolny folder w graf wiedzy.md b/inbox/Jak korzystać z CodeGraph_ Zamień dowolny folder w graf wiedzy.md new file mode 100644 index 0000000..e233f87 --- /dev/null +++ b/inbox/Jak korzystać z CodeGraph_ Zamień dowolny folder w graf wiedzy.md @@ -0,0 +1,154 @@ +--- +title: "Jak korzystać z CodeGraph: Zamień dowolny folder w graf wiedzy" +source: "https://medium.com/agentic-builders/how-to-use-codegraph-turn-any-folder-into-a-knowledge-graph-9958f5a2d077" +author: + - "[[Ana Bildea]]" + - "[[PhD]]" +published: 2026-06-25 +created: 2026-06-29 +description: "Przewodnik krok po kroku po wykorzystaniu CodeGraph, otwartoźródłowego narzędzia, które tworzy zapytanialny graf wiedzy dla agentów kodujących AI." +tags: + - "clippings" +--- +## Przewodnik krok po kroku po wykorzystaniu CodeGraph, otwartoźródłowego narzędzia, które tworzy zapytanialny graf wiedzy dla agentów kodujących AI. + +![](https://miro.medium.com/v2/resize:fit:2000/format:webp/1*PoYDeY8Osqdi12pPD5BG3Q.png) + +Za każdym razem, gdy zaczynasz nową sesję z asystentem programowania AI, takim jak Claude Code czy Cursor, zaczyna się przewidywalny taniec. Zadajesz pytanie o funkcjonariusza, a agent zaczyna szaloną pętlę:,,. To "eksplorowanie" — i płacisz za każdy token, który zużywa, podczas gdy on próbuje znaleźć twoją logikę uwierzytelniania.`ls` ` grep` `read_file,``repeat` + +Ta faza odkrywania to ukryty podatek rozwoju agentów. W zasadzie prosimy o inteligencję na poziomie doktora, by pełniła rolę bibliotekarza, przeglądając każdą książkę w budynku, by znaleźć indeks. **CodeGraph** zmienia matematykę. Udostępniając wstępnie zindeksowaną, strukturalną mapę kodu za pośrednictwem serwera Model Context Protocol (MCP), pozwala agentom pominąć poszukiwania i od razu przejść do odpowiedzi. Średnio zmniejsza to liczbę wywołań narzędzi o ponad 70% i koszt tokenów o prawie połowę. + +![Tradycyjni agenci marnują zasoby na "pętlę odkrywania"; CodeGraph zapewnia bezpośrednią ścieżkę do odpowiedzi.](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*Uz_pC3ztaT7Oy0uJNSarkQ.png) + +Tradycyjni agenci marnują zasoby na "pętlę odkrywania"; CodeGraph zapewnia bezpośrednią ścieżkę do odpowiedzi. + +## Inżynieria stojąca za grafem + +CodeGraph to zaawansowany projekt inżynieryjny zaprojektowany z myślą o wysokiej wydajności inteligencji kodu. + +### 1\. Potok parsowania Tree-Sittera + +U podstaw CodeGraph znajduje się Tree-Sitter Parsing Pipeline. W przeciwieństwie do tradycyjnych narzędzi do wyszukiwania opartego na regexie, CodeGraph wykorzystuje prawdziwy parser gramatyczny, aby z chirurgiczną precyzją zrozumieć elementy budulcowskie kodu. + +![CodeGraph używa prawdziwego parsera gramatycznego, aby zrozumieć strukturę twojego kodu.](https://miro.medium.com/v2/resize:fit:2000/format:webp/1*vF_xQUCnqiMY6eYkbkGfsw.png) + +CodeGraph używa prawdziwego parsera gramatycznego, aby zrozumieć strukturę twojego kodu. + +## 2\. Most infrastruktury MCP + +CodeGraph komunikuje się z Twoim agentem AI przez MCP. Działa to jak most infrastrukturalny, standaryzująco komunikację agent-graf za pośrednictwem JSON-RPC. + +![CodeGraph używa prawdziwego parsera gramatycznego, aby zrozumieć strukturę twojego kodu.](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*zHRa-eBX9_a7o4w2oeIFKw.png) + +CodeGraph używa prawdziwego parsera gramatycznego, aby zrozumieć strukturę twojego kodu. + +## 3\. Zoptymalizowany schemat grafu SQLite + +Wszystkie wyodrębnione dane i powiązania są przechowywane w Optimized SQLite Graph Schema, zaprojektowanym do wysokowydajnych zapytań grafowych całkowicie na twoim lokalnym komputerze. + +![Schemat relacyjny zaprojektowany dla zapytań grafów o wysokiej wydajności, przechowywany lokalnie dla +Szybkość i prywatność.](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*q8HF3h-ygs6TQoV19TzkqQ.png) + +Schemat relacyjny zaprojektowany dla zapytań grafów o wysokiej wydajności, przechowywany lokalnie dla Szybkość i prywatność. + +## Główne zalety: gęstość i prywatność + +Poza czystą szybkością, CodeGraph oferuje dwie fundamentalne zalety, które czynią go niezbędnym dla rozwoju zawodowego: **gęstość kontekstu** i **prywatność**. + +### Gęstość kontekstu: lepsze dane, mniej tokenów + +Tradycyjni agenci AI często są przytłoczeni przez "context bloat" — proces wprowadzania dużych, chaotycznych plików do modelu tylko po to, by znaleźć jedną funkcję. CodeGraph rozwiązuje ten problem, zapewniając **wysoką gęstość kontekstu**. Wydobywa jedynie odpowiednie symbole i ich relacje, zapewniając, że model otrzymuje jak najwięcej informacji w jak najmniejszej liczbie tokenów. + +![CodeGraph zapewnia wysoką gęstość kontekstu, dostarczając modelu precyzyjne informacje +zamiast surowych, niechlujnych plików.](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*b35-VwGPujZ5bKSdzQaQnQ.png) + +CodeGraph zapewnia wysoką gęstość kontekstu, dostarczając modelu precyzyjne informacje zamiast surowych, niechlujnych plików. + +### Prywatność: Twój kod pozostaje twój + +W erze AI opartej na chmurze prywatność jest najważniejsza. CodeGraph działa całkowicie w ramach **lokalnych granic prywatności**. Twój kod źródłowy i powstały graf SQLite nigdy nie opuszczają twojego komputera. Agent AI zadaje zapytania lokalnemu serwerowi, zapewniając, że twoja własność intelektualna nigdy nie zostanie wystawiona na zewnętrzne indeksowanie lub szkolenia. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*qw8y1dtFIwUGyuVbFGb40A.png) + +## Jak działa CodeGraph + +Efektywność CodeGraph wynika z precyzyjnego, czteroetapowego wewnętrznego pipeline'u, który przekształca surowy kod źródłowy w wysokowydajny graf wiedzy. + +![Wewnętrzna mechanika CodeGraph: od ekstrakcji surowego kodu do dostarczania wniosków za pomocą +MCP.](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*YZ9lqLAd7VbDpWZo9_Nlpg.png) + +Wewnętrzna mechanika CodeGraph: od ekstrakcji surowego kodu do dostarczania wniosków za pomocą MCP. + +## Zaczynamy + +Gotowy, by zamienić swój folder w wykres wiedzy? Proces został zaprojektowany tak, aby był płynny, lokalny i niezwykle szybki. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*IqFxgq246Rm8JlAPdziV7Q.png) + +### 1\. Instalacja + +CodeGraph to lekkie narzędzie CLI. Możesz zainstalować go globalnie za pomocą npm w zaledwie kilka sekund: + +```hs +npm install -g @colbymchenry/codegraph +``` + +### 2\. Indeksowanie bazy kodu + +Przejdź do folderu projektu i uruchom polecenie init. CodeGraph zeskanuje Twoje pliki, analizuje strukturę za pomocą Tree-Sitter i buduje lokalny graf SQLite. + +```hs +codegraph init -i +``` + +### 3\. Łączenie agenta AI + +Po indeksowaniu możesz połączyć swojego ulubionego asystenta AI (np. Claude Code czy Cursor) przez most MCP. Pozwala to agentowi bezpośrednio zapytać Twój wykres, pomijając kosztowną fazę eksploracji. + +```hs +codegraph install +``` + +### Workflow zespołowy: Programista, Agent i Grafik + +Prawdziwa siła CodeGraph ujawnia się w **procesie współpracy (Collaborative Workflow).** Programista dostarcza intencję, agent AI dostarcza rozumowanie, a CodeGraph dostarcza mapę strukturalną. Ten cykliczny przepływ zapewnia, że każde rozwiązanie jest osadzone w rzeczywistej rzeczywistości bazy kodu. + +![Cykliczny przepływ pracy, w którym CodeGraph pełni rolę źródła prawdy zarówno dla +deweloper i agent AI.](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*9SrxA2alWNvKFUNOOByUZg.png) + +Cykliczny przepływ pracy, w którym CodeGraph pełni rolę źródła prawdy zarówno dla deweloper i agent AI. + +### Krajobraz wywiadu agentów: CodeGraph kontra reszta + +Choć CodeGraph jest potężnym narzędziem w mapowaniu strukturalnym, jest częścią szerszego ekosystemu narzędzi zaprojektowanych, by uczynić agentów AI mądrzejszymi. Możesz zajrzeć do moich wcześniejszych artykułów na temat [lat.md](https://medium.com/p/8cffac54ceaa) i [zgłębnić grafikę](https://medium.com/agentic-builders/how-to-use-graphify-turn-any-folder-into-a-knowledge-graph-d51b38eb60b6?sharedUserId=anna.bildea). + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*U7Q9FeRI-r7WM9HHbIXfDw.png) + +## Przepływ end-to-end w CodeGraph + +Cały workflow CodeGraph jest zaprojektowany tak, aby był lokalny, prywatny i bezproblemowo zintegrowany z istniejącymi asystentami AI programistycznymi. + +![](https://miro.medium.com/v2/resize:fit:1390/format:webp/1*TgVkK2MxBC0uA72a-PL1Ww.png) + +Mapując symbole i ich relacje, CodeGraph zapewnia głębokie zrozumienie architektoniczne, które umożliwia agentowi AI działanie z chirurgiczną precyzją. Dzięki specjalistycznemu "Toolkitowi" poleceń MCP agent może poruszać się po złożonych bazach kodu i wykonywać analizę "promienia wybuchu", aby zidentyfikować zależności, zanim staną się problemami. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*9O2Lr-irZG4RhV1lJ3p6mA.png) + +![](https://miro.medium.com/v2/resize:fit:1176/format:webp/1*sgGGU8dtafMNl6wBSWtjDg.png) + +## Wnioski + +CodeGraph to świetne narzędzie stworzone do tworzenia wspomaganego przez AI. Kiedy agenci AI poświęcają cenny czas i zasoby na "eksplorowanie" twojego kodu, kosztuje cię to dużo pieniędzy. CodeGraph pomaga, dostarczając agentom precyzyjną, wstępnie zindeksowaną mapę, przekształcając ich z cyfrowych bibliotekarzy w wysoce efektywnych rozwiązywaczy problemów. + +Rozważ CodeGraph jako kluczowy element swojego **Agentic Stack**. Podczas gdy narzędzia takie jak Graphify świetnie wydobywać znaczenie semantyczne i **lat.md** pomagają zarządzać intencją, CodeGraph zapewnia podstawową mapę strukturalną twojego kodu. Razem te narzędzia tworzą potężną synergię, pozwalając agentom AI działać z niezrównaną precyzją i efektywnością. + +Główna filozofia jest prosta: najdroższą pracą, jaką agent AI może zrobić, jest "rozejrzenie się"; CodeGraph daje mu mapę, dzięki czemu może po prostu "patrzeć". Oznacza to, że odblokowuje prawdziwy potencjał agentycznej AI, czyniąc ją płynnym, inteligentnym partnerem w Twoim procesie tworzenia oprogramowania. + +Dziękuję za przeczytanie. Do zobaczenia w następnym. + +Jeśli to było przydatne, przycisk klaśnięcia pomaga większej liczbie osób to ❤️ znaleźć. + +Piszę o zarządzaniu agenticzną AI, architekturze agentów, optymalizacji oraz decyzjach infrastrukturalnych, które odróżniają systemy +produkcyjne od demonstracji → [Subscribe](https://medium.com/subscribe/@anna.bildea) + +Wdrażanie długoletnich agentów w regulowanym środowisku? Porozmawiajmy → [LinkedIn](https://www.linkedin.com/in/ana-bildea-phd-2339b728/) \ No newline at end of file diff --git a/inbox/Jak używam Claude'a i NotebookLM razem, aby wykonać pracę dwa razy szybciej.md b/inbox/Jak używam Claude'a i NotebookLM razem, aby wykonać pracę dwa razy szybciej.md new file mode 100644 index 0000000..ff9db1e --- /dev/null +++ b/inbox/Jak używam Claude'a i NotebookLM razem, aby wykonać pracę dwa razy szybciej.md @@ -0,0 +1,150 @@ +--- +title: "Jak używam Claude'a i NotebookLM razem, aby wykonać pracę dwa razy szybciej" +source: "https://medium.com/@mubashirburfat4/how-i-use-claude-and-notebooklm-together-to-get-work-done-twice-as-fast-feddc05e9584" +author: + - "[[Mubashir Burfat]]" +published: 2026-06-17 +created: 2026-06-19 +description: "Dwa darmowe narzędzia AI. Jedna absurdalnie skuteczna kombinacja. Oto dokładny workflow, którego używam każdego dnia." +tags: + - "clippings" +--- +## Dwa darmowe narzędzia AI. Jedna absurdalnie skuteczna kombinacja. Oto dokładny workflow, którego używam każdego dnia. + +*Hej, szybka sprawa, zanim przejdziemy do rzeczy. Przygotowałem* [***\[Praktyczny zestaw narzędzi AI\],***](https://burfat1.gumroad.com/l/wjnxsc) *który dokładnie pokazuje, jak skonfigurować takie narzędzia AI dla konkretnego workflow. Jest praktyczny, przyjazny dla początkujących i stworzony dla osób, które chcą realnych efektów bez technologicznego przytłoczenia.* [***\[Złap tutaj.\]***](https://burfat1.gumroad.com/l/wjnxsc) + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*zsYx-UdPC1YP8zReVyRK5Q.jpeg) + +Stworzone w Google Labs + +Pozwól, że opowiem ci o wtorkowym popołudniu, które naprawdę zmieniło mój sposób pracy. + +Miałem zlecenie dla klienta do końca dnia. Raport bogaty w badania, który musiał czerpać z czterech różnych dokumentów źródłowych, syntetyzować kluczowe ustalenia, a następnie być napisany w sposób jasny i przekonujący dla odbiorców nietechnicznych. + +Stary ja spędziłbym na tym cały dzień. Otwieranie dokumentów w osobnych zakładkach. Czytam ponownie rzeczy, które już czytałem. Robienie notatek na kolejnych. Potem przez czterdzieści pięć minut wpatrywał się w pustą kartkę, próbując zdecydować, od czego zacząć pisać. Potem pisałem coś, nienawidziłem tego, przepisywałem, nienawidzę trochę mniej, a w końcu wysyłam coś, z czego nie byłem do końca dumny, bo zabrakło mi czasu. + +We wtorek zrobiłem coś innego. Uruchomiłem Claude'a i NotebookLM razem, w konkretnej kolejności, którą powoli rozgryzałem przez ostatnie tygodnie. + +Skończyłem zadanie w trzy godziny. To było jedno z najczytelniejszych tekstów, jakie stworzyłem od miesięcy. Klient był zachwycony. + +To był moment, w którym przestałem traktować te dwa narzędzia jako oddzielne rzeczy, których używałem okazjonalnie, i zacząłem traktować je jako połączony system, którego używam prawie do wszystkiego. + +Pozwól, że pokażę Ci dokładnie, jak to działa. + +## Dlaczego właśnie te dwa narzędzia + +Zanim przejdziemy do procesu pracy, warto wyjaśnić, dlaczego warto budować wokół Claude'a i NotebookLM, bo istnieje wiele narzędzi AI i naturalnym pytaniem jest, czy to konkretne połączenie jest naprawdę wyjątkowe, czy po prostu akurat używam tych dwóch. + +Szczerze mówiąc, rozwiązują one naprawdę różne problemy, a te problemy są dwoma największymi punktami tarcia w większości prac związanych z wiedzą. + +NotebookLM jest wyjątkowy w jednej konkretnej rzeczy: dokładnej pracy z dokumentami. Przesyłasz źródła, on czyta je w całości, a wszystko, co mówi, opiera się na tym, co podałeś i cytowania, które możesz zweryfikować. To nie wymyśla niczego. Nie łączy twoich dokumentów z ogólną wiedzą internetową w sposób, którego nie da się śledzić. Pozostaje w twoim materiale i pomaga ci go zrozumieć oraz niezawodnie z niego wyciągnąć. + +Claude jest wyjątkowy w zupełnie innej rzeczy: tworzeniu tekstów, które brzmią, jakby napisał je przemyślany człowiek. Szkice, e-maile, propozycje, artykuły. Bierze informacje i zamienia je w czytelną, dobrze ustrukturyzowaną, naturalną prozę. Rozwiązuje problemy na głos. Daje ci informację zwrotną, która jest naprawdę użyteczna, a nie ogólna. + +Luka, której większość ludzi nie zauważa, to przekazanie tych dwóch rzeczy. Zbierasz informacje z dokumentów. Potem piszesz coś z tymi informacjami. To wydaje się jednym procesem, ale w rzeczywistości są dwa, a większość ludzi radzi sobie z przejściem, trzymając w myślach wszystko, co właśnie przeczytali, i mając nadzieję, że zapamiętają ważne fragmenty, gdy siadają do pisania. + +Użycie NotebookLM do fazy ekstrakcji i Claude'a do fazy pisania całkowicie eliminuje tę lukę. Nie trzymasz nic w głowie. Przenosisz zweryfikowane informacje z jednego narzędzia do drugiego i tworzysz coś znacznie lepszego niż sam bysz. + +## Workflow krok po kroku + +Dobrze, oto jak to działa w praktyce. Przeprowadzę cię przez to dokładnie tak, jak ja to robię, bo niejasne opisy przepływów pracy są bezużyteczne, a obiecałem praktyczność. + +**Krok pierwszy: Załaduj swoje źródła do NotebookLM.** + +Cokolwiek masz do czynienia, zapisz to do zeszytu. Dokumenty klientów. Artykuły naukowe. Transkrypcje ze spotkań. Twoje własne notatki z poprzednich sesji. Raporty branżowe. Wszystko, co jest związane z tym, co chcesz stworzyć. + +Nie martw się o idealną organizację. Po prostu to tam włóż. NotebookLM czyta całość. + +**Krok drugi: Porozmawiaj z NotebookLM o tym, co chcesz stworzyć.** + +To właśnie tutaj większość ludzi nie wykorzystuje tego narzędzia. Traktują NotebookLM jak wyszukiwarkę i wpisują proste pytania wyszukiwania. Lepszym podejściem jest traktować to jak asystenta badawczego i prowadzić prawdziwą rozmowę. + +Zazwyczaj zaczynam od czegoś w stylu: "Piszę raport na ten temat dla nietechnicznej publiczności. Zanim zacznę, pomóż mi zrozumieć trzy do pięciu najważniejszych tematów w tych dokumentach." Potem zadaję pytania uzupełniające. "Co mówią źródła jeden i trzy na ten konkretny temat?" "Czy w tych dokumentach jest coś, co wydaje się sobie przeczyć?" "Jakie informacje byłyby najbardziej przydatne do rozpoczęcia?" + +Pod koniec tej rozmowy wydarzyły się dwie rzeczy. Rozumiem materiał źródłowy znacznie lepiej niż czytając go liniowo. Mam też zestaw cytowanych, zweryfikowanych punktów informacyjnych, które mogę bezpośrednio wykorzystać w fazie pisania. + +Kopiuję najbardziej przydatne fragmenty tej rozmowy w NotebookLM do osobnego dokumentu. Nie sformatowane pismo. Tylko informacje, kluczowe punkty, cytaty i cytowania, których chcę wykorzystać. To staje się moim briefem pisarskim. + +**Krok trzeci: Zanieś wszystko do Claude'a.** + +Teraz otwieram Claude'a i dzielę się briefem, który właśnie stworzyłem. Informacje z NotebookLM, kluczowe punkty, które chcę podkreślić, odbiorców, dla których piszę, ton, którego potrzebuję, wszelkie konkretne wymagania strukturalne. + +Oto struktura promptów, której używam regularnie, bo zajęło mi trochę czasu, żeby zrozumieć, co faktycznie daje dobre rezultaty, a co przeciętne pierwsze szkice. + +Daję Claude'owi cztery rzeczy: dla kogo to jest i co już wiedzą, co chcę osiągnąć tym tekstem, konkretne informacje, które chcę zawrzeć z sesji NotebookLM, oraz wszelkie wymagania dotyczące stylu lub formatu. To wszystko. Cztery rzeczy. Gdy wszystkie cztery są obecne, pierwszy szkic zwykle jest naprawdę dobry. Gdy któregokolwiek z nich brakuje, efekt jest wyraźnie słabszy. + +**Krok czwarty: Edytuj i zrób to po swoim.** + +Oto coś, w czym chcę być bezpośredni. Szkic Claude'a nie jest gotowym produktem. To bardzo mocny punkt wyjścia, który nadal wymaga twojego głosu, konkretnych obserwacji i oceny tego, co jest najlepsze dla konkretnej osoby lub odbiorców, którym służysz. + +To właśnie w montażu pojawia się twoja prawdziwa wiedza. Dodasz konkretny przykład, o którym wiesz tylko ty, bo byłeś na tym spotkaniu. Złagodzisz akapit, który jest technicznie poprawny, ale nie do końca odpowiada temu, jak komunikuje się ten konkretny klient. Wycinasz fragment, który powtarza coś, co zostało wcześniej opisane, w sposób, którego Claude nie zauważył, ale od razu to zauważyłeś. + +==Montaż zajmował się AI. Ty zajmij się dopracowaniem. Oba są konieczne. Żadne nie zastępuje drugiego.== + +## Konkretne rzeczy, które ta kombinacja robi lepiej niż każde z tych narzędzi + +Pozwól, że podam kilka konkretnych przykładów z mojej rzeczywistej pracy, ponieważ abstrakcyjne opisy workflow są tylko do pewnego stopnia przydatne. + +**Pisanie oparte na badaniach wszelkiego rodzaju.** + +Artykuły, raporty, propozycje, wszystko, gdzie trzeba dokładnie przedstawić informacje z wielu źródeł. NotebookLM czyta wszystko i pozwala to przesłuchać. Claude zamienia efekt w czytelną prozę. Efektem jest pisanie, które jest zarówno dokładne, jak i dobrze wykonane, co jest naprawdę trudne do osiągnięcia, gdy wykonujesz obie prace ręcznie. + +**Wyniki dla klientów, które muszą być dokładne i jasne.** + +To mój najczęstszy przypadek użycia. Klient wysyła mi mnóstwo dokumentów i oczekuje czegoś zsyntetyzowanego i możliwego do zastosowania. NotebookLM czyta ich dokumenty. Zadaję mu pytania, które zadałby inteligentny analityk. Biorę odpowiedzi do Claude'a i tworzę materiał, który jest naprawdę użyteczny. Całość porusza się znacznie szybciej niż praca ręczna, a wyjście jest bardziej stabilne. + +**Przygotowanie do ważnych spotkań lub rozmów telefonicznych.** + +Ten jest rzadko używany i jest jednym z moich ulubionych. Przed rozmową z klientem zapisuję wszystko, co istotne, do notesu NotebookLM. Ich poprzednie maile. Brief, który wysłali. Notatki z ostatniego razu. Proszę NotebookLM, aby pomógł mi zrozumieć sytuację i na jakie pytania powinienem zwrócić uwagę. Przynoszę wynik Claude'owi i proszę go o pomoc w opracowaniu kluczowych punktów, które chcę przedstawić. Wchodzę na to wezwanie lepiej przygotowany niż kiedykolwiek, spędzając mniej czasu na dotarciu na miejsce. + +**Przekształcając zbiór notatek w dopracowany dokument.** + +Każdy freelancer, którego znam, ma ten sam problem. Notatki ze spotkań, notatki z badań, notatki z twoich własnych przemyśleń rozrzucone w różnych miejscach. Przejście od tej sterty fragmentów do gotowego dokumentu to naprawdę bolesny proces, gdy robi się to ręcznie. NotebookLM czyta wszystkie twoje notatki i pomaga je syntetyzować. Claude zamienia syntezę w coś dopracowanego. To, co kiedyś zajmowało popołudnie, zajmuje kilka godzin. + +*A tak przy okazji, jeśli chcesz zagłębić się dokładnie w taki sposób pracy, mój* [***\[Practical AI Toolkit\]***](https://burfat1.gumroad.com/l/wjnxsc) *zawiera pełny przewodnik konfiguracyjny, konkretne prompty, których używam, oraz szablony, które możesz skopiować do własnej pracy. Jest przeznaczony dla osób, które chcą faktycznie korzystać z narzędzi AI, by oszczędzać czas, a nie tylko czytać o tym, jak teoretycznie mogliby to zrobić.* [***\[Sprawdź tutaj.\]***](https://burfat1.gumroad.com/l/wjnxsc) + +## Błędy, które to spowalniają + +Ponieważ chcę dać Wam pełny obraz, oto rzeczy, które sprawiły, że ten workflow był nieporęczny, gdy dopiero go rozgryzałem. + +Pomijając rozmowę w NotebookLM i idąc prosto do Claude'a. Kiedy próbowałem przenieść surowe dokumenty bezpośrednio do Claude bez wcześniejszego destylowania kluczowych informacji przez NotebookLM, faza pisania była trudniejsza, a wyniki słabsze. Etap destylacji nie jest opcjonalny. Stąd bierze się dokładność. + +Bycie niejasnym w Claude, dla kogo piszę. "Napisz to dla mojego klienta" generuje generyczny wynik. "Napisz to dla dyrektora finansowego w średniej wielkości firmie, który już zna podstawy, ale potrzebuje jasno określonych praktycznych implikacji" daje coś, czego naprawdę możesz wykorzystać. Szczegółowość ma znaczenie za każdym razem. + +Nieprawidłowa edycja wyniku Claude'a. Na początku wysyłałem Claude'owi szkice z minimalną edycją, bo były wystarczająco dobre. Różnica między wystarczająco dobrym a naprawdę doskonałym niemal zawsze tkwi w montażu. Rzeczy, które znacie tylko wy. Głos, który jest twój. Decyzje wymagające faktycznego zrozumienia kontekstu. Nie pomijaj tego kroku. + +Próbuję zrobić za dużo w jednej sesji NotebookLM. Jeśli poproszę NotebookLM o pomoc w zrozumieniu całej kolekcji dokumentów do trzech różnych celów jednocześnie, wyniki się mylą. Jeden notes na projekt, jedno jasne pytanie na raz, działa znacznie lepiej niż próba wyciągnięcia wszystkiego z jednej dużej rozmowy. + +## Realistyczny obraz czasu + +Chcę podać wam szczere liczby, ponieważ "dwa razy szybciej" to twierdzenie, które zasługuje na oparty na czymś prawdziwym. + +Dla typowego zadania opartego na badaniach, które wcześniej zajmowało mi cały dzień, łączny przepływ pracy zwykle trwa cztery do pięciu godzin. To mniej więcej ten sam procent poprawy w większości zadań związanych z wiedzą, mniej więcej w zależności od złożoności i tego, jak dobrze zorganizowany jest mój materiał źródłowy. + +Najbardziej znaczące oszczędności czasu to etap syntezy badawczej. Część, w której czytasz wiele dokumentów, próbujesz utrwalić kluczowe punkty w głowie i budować zrozumienie przed napisaniem czegokolwiek. Ten etap zajmował mi od trzech do czterech godzin przy skomplikowanych projektach. W NotebookLM zajmuje to od czterdziestu pięciu minut do godziny. Stąd pochodzi większość czasu odzyskanego na zdrowie. + +Etap pisania z Claude'em jest szybszy niż pisanie od zera, ale poprawa jest mniej dramatična, bo dobra redakcja nadal wymaga czasu. Najbardziej pomaga to w eliminowaniu problemu wpatrywania się w pustą stronę i licznych pełnych przepisów, które pojawiają się, gdy struktura nie jest właściwa od początku. + +Razem ten workflow zwraca mi znaczącą część każdego dnia pracy, którą teraz poświęcam na te części pracy, które faktycznie wymagają mojej specjalistycznej wiedzy i osądu. To jest prawdziwa wartość. Nie tylko robienie tej samej pracy szybciej. Robienie więcej pracy, która naprawdę się liczy. + +## Rozpoczęcie bez przytłoczenia + +Oto moja szczera rekomendacja, jeśli to dla Ciebie nowe terytorium. + +Nie próbuj w tym tygodniu budować całego swojego workflow od nowa. Wybierz jedno konkretne zadanie, które wykonujesz regularnie, a które obejmuje czytanie dokumentów i pisanie. Coś, co zrobiłeś w zeszłym tygodniu i zrobisz ponownie w przyszłym. + +Wykonaj to jedno zadanie, korzystając z tego workflow. Załaduj odpowiednie dokumenty do NotebookLM. Rozmowa badawcza. Zanieś wynik do Claude'a z odpowiednim promptem. Edytuj szkic. + +Zobacz, jak się czujesz w porównaniu do tego, jak zwykle to robisz. Zobacz, gdzie oszczędza czas, a gdzie jeszcze wymaga poprawy. Niech to jedno doświadczenie nauczy cię więcej niż jakikolwiek artykuł. + +Bo w takim procesie pracy jest to, że z praktyką staje się lepszy. Nie dlatego, że narzędzia się poprawiają, choć tak się dzieje. Bo lepiej wiesz, o co pytać NotebookLM, jak briefować Claude'a i gdzie to twoja ocena jest tym, co robi różnicę. + +Oba narzędzia są darmowe na początku. NotebookLM jest na notebooklm.google.com. Claude jest na claude.ai. Ten workflow można uruchomić w jedno popołudnie. + +Wtorkowe popołudnie, które opisałem na początku tego artykułu, nie było przypadkiem. Jest konsekwentnie powtarzalny. A teraz to domyślne, a nie wyjątkiem. + +Do zobaczenia w następnym. + +— Mubashir:) + +*P.S. — Jeśli chcesz mieć kompletne ustawienia, dokładne prompty, których używam do różnych rodzajów pracy, oraz szablony, które możesz od razu skopiować, mój* [***\[Practical AI Toolkit\]***](https://burfat1.gumroad.com/l/wjnxsc) *ma to wszystko w jednym miejscu. To zasób, którego chciałbym, żeby istniało, gdy dopiero zaczynałem to odkrywać.* [***\[Pobierz tutaj\]***](https://burfat1.gumroad.com/l/wjnxsc) *— a jeśli spróbujesz tego workflow w tym tygodniu i coś Cię zaskoczy, napisz to w komentarzach. Konkretne, prawdziwe odkrycia są zawsze najbardziej przydatne w tej społeczności i naprawdę czytam każde z nich.* \ No newline at end of file diff --git a/inbox/Master Hermes Agent_ Przewodnik dla początkujących bez zbędnych rzeczy po pamięci, umiejętnościach i orkiestracji wieloagentowej.md b/inbox/Master Hermes Agent_ Przewodnik dla początkujących bez zbędnych rzeczy po pamięci, umiejętnościach i orkiestracji wieloagentowej.md new file mode 100644 index 0000000..167011c --- /dev/null +++ b/inbox/Master Hermes Agent_ Przewodnik dla początkujących bez zbędnych rzeczy po pamięci, umiejętnościach i orkiestracji wieloagentowej.md @@ -0,0 +1,68 @@ +--- +title: "Master Hermes Agent: Przewodnik dla początkujących bez zbędnych rzeczy po pamięci, umiejętnościach i orkiestracji wieloagentowej" +source: "https://kd-agentic.medium.com/master-hermes-agent-a-no-bs-beginners-guide-to-memory-skills-and-multi-agent-orchestration-1c94996fdfba" +author: + - "[[KD Agentic]]" +published: 2026-06-07 +created: 2026-06-29 +description: "Przestań walczyć ze swoim agentem AI. Dowiedz się, jak faktycznie działa kuracja pamięci, tworzenie umiejętności i orkiestracja wieloagentowa w Hermes Agent — bez żadnego szumu" +tags: + - "clippings" +--- +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*ryU6SZ9MxfB8bfhOnwSWow.png) + +## Przestań walczyć ze swoim agentem AI. Dowiedz się, jak faktycznie działa kuracja pamięci, tworzenie umiejętności i orkiestracja wieloagentowa w Hermes Agent — bez żadnego szumu + +Większość ludzi podchodzi do Hermes Agent w niewłaściwy sposób. Instalują go, zaczynają rozmawiać i w ciągu kilku dni napotykają te same przeszkody: agent nie pamięta rzeczy, umiejętności są mylące, a podagenci dają zagadkowe rezultaty. + +Wiem to, bo dokładnie to zrobiłem. Po niezliczonych godzinach prób i błędów zrozumiałem, że problemy nie są błędami — to nieporozumienia co do tego, jak Hermes ma działać. + +## Trzy modele mentalne, które zmieniają wszystko + +Zanim dotkniesz się jednego pliku konfiguracyjnego, przyswaj te trzy pomysły. Oddzielają ludzi, którzy walczą z Hermesem, od tych, którzy płyną z nim. + +## Nie pamięta wszystkiego — i to jest celowe + +Hermes korzysta z pamięci kuratorowanej przez agentów. Agent decyduje, co warto zatrzymać, nie ty. To nie jest wada. Gdyby agent zapisywał każde słowo, koszty tokenów gwałtownie wzrosłyby, a kontekst zatopiłby się w szumie spowodowanym odrzuconymi pomysłami i beznadziejnymi eksperymentami. + +Rozwiązanie jest proste. Gdy coś naprawdę ma znaczenie, bądź wprost: "Zachowaj to w pamięci długotrwałej." Na długie sesje, gdzie stan ma znaczenie, poproś agenta o napisanie pliku w katalogu projektu. Plik na dysku nie jest kompresowany ani reorganizowany.`TASK_STATUS.md` + +To, gdzie co zmierza, ma ogromne znaczenie. SOUL.md trzyma trwałe zasady i tożsamość — tylko ty do niego piszesz. USER.md przechowuje Twoje preferencje, a agent może je zaktualizować. MEMORY.md przechowuje notatki robocze i podlega automatycznej reorganizacji. Złota zasada: nigdy nie wkładaj tego, co do SOUL.md należy, do MEMORY.md. + +## Umiejętność to nie kod — to standardowa procedura operacyjna + +Spędziłem tygodnie, myśląc o umiejętnościach jako o wtyczkach lub skryptach. Nie są ani jednym, ani drugim. Umiejętność to wielokrotnego użytku dokument z rabatami, który mówi agentowi: "gdy napotkasz tego typu zadanie, dokładnie oto co należy zrobić." + +Każda skuteczna umiejętność zawiera cztery rzeczy: warunek wyzwalający, który informuje agenta, kiedy go użyć, instrukcje krok po kroku, sposób weryfikacji sukcesu oraz listę pułapek, w które już wcześniej wpadł. Ta ostatnia z nich z czasem narasta na wartości. + +Wzorzec rozwijania umiejętności jest organiczny: powtarzasz workflow, agent to zauważa, mówisz mu, by stworzył umiejętność i on krystalizuje ten wzorzec. Nie twórz umiejętności z wyprzedzeniem. Poczekaj, aż zrobisz coś trzy razy. + +## Subagenci zaczynają od zera — za każdym razem + +To był błąd, który najbardziej mnie poparzył. Tworzysz sub-agenta i mówisz "napraw ten błąd", zakładając, że wie, który plik, która linia i jaka wersja Pythona. + +Nie ma. Subagenci wychodzą z zupełnie nowych kontekstów rozmów. Nie dziedziczą nic po rodzicu. Musisz spakować wszystko, czego potrzebują, w terenie: ścieżki plików, komunikaty o błędach, przyczyny źródłowe, wersje zależności i strukturę projektu. Lenistwo tutaj jest głównym powodem, dla którego zadania subagentów zawodzą.`context` + +Limit współbieżności to dwa do trzech subagentów, nie dlatego, że Hermes cię ogranicza, ale dlatego, że limity prędkości API i kwestie kosztowe w rzeczywistym świecie to ograniczają. Zacznij od dwóch i skaluj się dopiero wtedy, gdy udowodnisz, że wzór działa. + +## Profile: siła izolacji + +Profile dają całkowicie oddzielne środowiska Hermesa na jednej maszynie. Każdy ma własną konfigurację, wspomnienia, sesje i umiejętności — bez zanieczyszczenia krzyżowego. + +Praktyczne zastosowanie jest natychmiastowe: w jednym terminalu można uruchomić asystenta kodowania, a w innym asystenta badawczego. Nie dzielą nic, co oznacza, że nie nadepną na swoje wspomnienia ani umiejętności. + +## Jeśli wdrażasz do produkcji + +Siedem rzeczy do weryfikacji: uruchom bez błędów, zachowaj klucze API w nie, włącz Gateway Heartbeat, aby zapobiec cichym awariom, konfiguruj whitelisty użytkowników, odpowiednio ustaw tryb zatwierdzania, weryfikuj strefę czasową serwera i testuj każde zadanie CRON ręcznie przed jego uruchomieniem.`hermes doctor``.env` `config.yaml` `timedatectl` + +## Co robić, gdy coś idzie nie tak + +SymptomPrawdopodobna przyczynaFixAgent nigdy nie pamiętaSesja zbyt krótka lub uznana za nieistotnąPowiedz "zapisz to do pamięci długoterminowej"Subagent wydaje się nieświadomyNie przekazano żadnego kontekstuNie przekazano kontekstuWypełnij pole kontekstu całkowicieCron nie wywoła się Zła strefa czasowa lub brama nie działaSprawdź strefę czasową, sprawdź bramę, testuj ręcznieKoszty spiralaZa wielu współcześnie agentówOgranicz do dwóch lub trzech, używaj tańszych modeliTirith blokuje normalne poleceniaTryb zatwierdzania zbyt restrykcyjnyPrzełącz na tryb smart + +## Podsumowując. + +Hermes nie jest magią. Są trzy rzeczy: pamięć rozwiązuje zapominanie, ale wymaga od ciebie oznaczania tego, co się liczy, umiejętności rozwiązują powtarzalność poprzez krystalizację workflow w wielokrotnie używane SOP, a subagenty rozwiązują skalę, ale tylko wtedy, gdy dasz im pełny kontekst. + +Większość początkujących nie radzi sobie, bo pomija pierwszy — oczekując, że agent zapamięta wszystko — oraz trzeci — rzucając podagentów do zadań bez odpowiednich instrukcji. + +Napraw te dwie rzeczy i 80 procent bólu znika. Zacznij od "zapisz to do pamięci długoterminowej" i "zapisz wszystko w polu kontekstowym". Wszystko inne wynika stamtąd. \ No newline at end of file diff --git a/inbox/Obsidian jest zaginiony Dlaczego.md b/inbox/Obsidian jest zaginiony Dlaczego.md new file mode 100644 index 0000000..81f1469 --- /dev/null +++ b/inbox/Obsidian jest zaginiony Dlaczego.md @@ -0,0 +1,355 @@ +--- +title: "Obsidian jest zaginiony Dlaczego" +source: "https://medium.com/@onlyformholds_41324/obsidians-missing-why-28a5aac4a9cd" +author: + - "[[Ordo]]" +published: 2026-02-26 +created: 2026-06-19 +description: "Wykorzystanie nauk Tomasza z Akwinu jako soczewki do zrozumienia Obsydianu" +tags: + - "clippings" +--- +## Wykorzystanie nauk Tomasza z Akwinu jako soczewki do zrozumienia Obsydianu + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*8_6cO4uy_Nj7g6_z_B-5bw.png) + +Jeśli używasz [Obsidian](https://medium.com/obsidian-observer) wystarczająco długo, zauważysz, że pojawia się rozszczepienie. Albo twoje notatki wyjaśniają twoje myślenie i ta jasność prowadzi gdzieś — szkice są pisane, decyzje podejmowane, projekty zamykane — albo twój skarbiec stopniowo wypełnia się linkami, pulpitami, szablonami i poprawkami, podczas gdy oryginalne pytania pozostają nierozwiązane. + +Gdy tak się dzieje, instynktem jest zmiana konfiguracji. Dlatego naturalnie zadajemy pytania typu: *Jakie wtyczki powinienem zainstalować? Jakie skale struktur? Czy powinienem refaktoryzować co tydzień? Jak zbudować dashboard, który pokaże, co się liczy?* + +Próbowałem tego wszystkiego. Ostatecznie jednak stało się jasne, że ten podział kształtuje kolejność — a nie umiejętność konfiguracji. + +==[Tomasz z Akwinu](https://en.wikipedia.org/wiki/Thomas_Aquinas)== ==opisuje myślenie jako uporządkowane: od rzeczywistości do zrozumienia, od zrozumienia do wyrazu oraz od wyrazu w kierunku sądu i działania==. Gdy ten porządek jest zachowany, narzędzia wspierają myślenie. Gdy się odwraca, struktura zaczyna zastępować zrozumienie, a ruch zastępuje kierunek. + +Publiczne zobowiązania Obsidian — własność, trwałość, prywatność, plastyczność i niezależność — wydają się odzwierciedlać ten sam porządek. Pytanie brzmi, czy nasze użycie narzędzia się do niego zgadza. + +Ten artykuł wykorzystuje Tomasza z Akwinu jako soczewkę, by wyjaśnić**, dlaczego** niektóre sklepienia pogłębiają zrozumienie, podczas gdy inne dryfują w to, co nazywam *wypolerowanym odkładaniem*. + +Mam nadzieję, że użytkownicy Obsidian uznaliby to za pomocne w poruszaniu się po wszystkich pytaniach, **które** widzimy na [forum Discourse](https://forum.obsidian.md/). + +## Obsydian Manifesto: Roszczenia + +[Manifest Obsidian](https://obsidian.md/about) zawiera pięć twierdzeń: że twoje banknoty są twoje, trwałe, prywatne, plastyczne i niezależne od presji inwestorów. Każde z tych ograniczeń chroni coś strukturalnego. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*OGCfPYFxgKk4fQF-_ZCQUA.png) + +Źródło: https://obsidian.md/about + +### Twój + +Własność utrzymuje interpretację z użytkownikiem (tobą). Chroni ono deklarowany cel narzędzia — wspieranie jasnego myślenia, a nie tylko hostowanie notatek. W terminologii Tomasza z Akwinu "koniec" to po prostu to, *do* czego coś służy — rezultat, który nadaje wszystkim jego częściom ich znaczenie. Narzędzia mają sens tylko wtedy, gdy wiesz, co chcą osiągnąć. + +### Trwałość + +Trwałość utrzymuje notatki jako pliki, a nie artefakty uwięzione w interfejsie. Twoje notatki powinny być czytelne, ruchome i poprawiane za lata — ponieważ zrozumienie rozwija się z czasem, a praktyczna ocena zawsze musi reagować na rozwijające się okoliczności. + +### Prywatny + +Prywatność pozostaje w rękach głównego agenta (Ciebie). To jest roszczenie agencji w formie infrastrukturalnej: Twoje notatki pozostają pod twoją opieką, nie są mediowane przez czyjś inny system. W praktyce oznacza to, że ***to ty decydujesz***, co oznaczają twoje notatki i co z nich wynika — narzędzie nie przejmuje tej roli subtelnie. + +### Plastyczne + +Plastyczność sprawia, że metoda jest podporządkowana myśleniu. To jest twierdzenie projektowe: Obsidian można kształtować wokół twojego myślenia, zamiast narzucać stałą metodę — co oznacza, że wzorce, które w nim powtarzasz, stopniowo staną się twoim domyślnym sposobem myślenia. + +### Niezależne + +Niezależność zmniejsza presję, by optymalizować zaangażowanie zamiast rozumienia. To twierdzenie oparte na zachętach: kierunek produktu ma odpowiadać użytkownikom, a nie wskaźnikom wzrostu — co jest ważne, ponieważ zmniejsza presję optymalizacji pod powierzchniową aktywność zamiast rzeczywistego myślenia. + +[Steph Ango](https://x.com/kepano) doskonale to podkreśla w artykule zatytułowanym [***File over app***](https://stephango.com/file-over-app) + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*j2Pk72jolicLWPI7xYXYqg.png) + +Źródło: https://stephango.com/file-over-app + +Twierdzi, że pliki pozostają niezależnie rzeczywistymi artefaktami, podczas gdy aplikacje mogą stać się środowiskami zamykającymi, które definiują rzeczywistość przez interfejs. Traktowanie skarbca jako folderu plików, a nie jako systemu zamykającego, utrzymuje reprezentację w dalszej części rzeczywistości. + +Te ograniczenia są ważne, ponieważ **chronią zamówienie** przed podjęciem decyzji o przepływie pracy. + +To są więc publiczne ograniczenia Obsidianu. Teraz możemy użyć Tomasza z Akwinu, by zmierzyć, dlaczego pomagają — i jak dochodzi do dryfu, gdy porządek rzeczywistości → rozumieniu → reprezentacji (a potem w kierunku osądu) się odwraca. + +## Benchmark 1: Równanie + +### Wykorzystanie Akwinasa do pomiaru projektu Obsidian z pierwszym punktem + +Tomasz z Akwinu podaje prostą definicję prawdy: ***"veritas intellectus sit adaequatio intellectus et rei"*** — "prawda intelektu jest zgodnością intelektu i rzeczy." + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*K4AOsybWGrupyOfwsKpbxA.png) + +Źródło: De Veritate (Sporne pytania o prawdę), pytanie 1, artykuł 1 + +Mówiąc prosto, oznacza to po prostu, że nasze rozumienie jest *prawdziwe*, gdy pasuje do rzeczywistej rzeczywistości. + +W odniesieniu do Obsidian, notatka jest cenna o tyle, o ile pomaga naszemu zrozumieniu dopasować się do tego, czym się zajmujemy — naszego projektu, obowiązku, pytania badawczego czy relacji. Możemy użyć jego definicji jako linijki, by ocenić, do czego służy notat. + +Jeśli prawda jest "dopasowana do rzeczy", to wszystko, co ułatwia pomylenie *naszej reprezentacji* z *samą rzeczą*, jest zagrożeniem. Ograniczenie Obsidian polegające na pierwszym miejscu na plikach zmniejsza to ryzyko. + +Steph podaje kluczowy fakt: " [W Obsidian 'vault' to po prostu folder z plikami."](https://stephango.com/vault) A manifest przedstawia uzasadnienie trwałości: " [Używamy prostych, otwartych formatów plików, które zapobiegają blokadzie..."](https://obsidian.md/about) + +Razem te dwa twierdzenia sprawiają, że interfejs pozostaje widokiem, a nie pojemnikiem definiującym rzeczywistość. Nasze notatki istnieją jako zwykłe pliki, niezależnie od tego, czy Obsidian jest otwarty, czy nie. Wykres i pulpity to widoki, które znajdują się na tych plikach, a nie kontener, który nadaje im rzeczywistość. Ta strukturalna pokora sprawia, że aplikacja jest w dalszej części niż to, co naprawdę próbujemy zrozumieć. + +Więc gdy zadajemy typowe pytanie **typu** "jakiego systemu tagowania powinienem użyć?", benchmark równań wymusza wcześniejsze pytanie **dlaczego**: co właściwie próbuję śledzić na tyle dobrze, by podjąć ocenę? + +Jeśli tagi spełniają ten cel, czyli pomagają nam wrócić do dowodów, porównać ograniczenia i podjąć decyzję — wykonują swoją pracę. Ale jeśli głównie służą wewnętrznej porządkowi, oddalają się od równania. + +## Benchmark 2: Instrument i Agent + +### Wykorzystanie Tomasza z Akwinu do wyjaśnienia roli Obsydiana + +W Summa Theologiae I, q.105, a.5, Tomasz z Akwinu pisze: " ***Ubi sunt plura agentia ordinata, semper secundum agit in virtute primi; primum enim movet secundum ad agendum.***" — "Gdy jest kilku sprawców w kolejności, drugi zawsze działa na mocy pierwszego; ponieważ pierwszy agent przesuwa drugiego do działania.") + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*yewBF7gDYauk0hG3xvZwBw.png) + +Źródło: Summa Theologiae I, q.105, a.5 + +Tutaj Tomasz z Akwinu rozróżnia głównego agenta — tego, który izycyduje i kieruje działaniem — od instrumentu, który działa tylko dlatego, że główny agent go do tego zmusza. + +To także kwestia przyczynowości: główny agent faktycznie sprawia, że coś się dzieje. Instrument nie inicjuje celu ani zrozumienia. Działa tylko dlatego, że agent go używa. + +W Obsidian **jesteś** agentem, a funkcje są instrumentami. + +Wyszukiwanie zwraca wyniki, ponieważ **sam wybierasz**, czego szukać. Backlinki pojawiają się, ponieważ **stworzyłeś** linki. Widok Graf pokazuje relacje, ponieważ je **ustanowiłeś**. Szablony formatują notatki, bo **zdecydowałeś** się na strukturę. Te narzędzia powierzchownie pojawiają się na powierzchni materiału, ale nie one określają znaczenie — **to ty to robisz**. + +Steph wyraźnie to wyraża w [***książce Don't Delege Understanding***](https://stephango.com/understand), twierdząc, że zrozumienie musi pozostać osobiste, a nie zlecane systemom. W swojej własnej praktyce Obsidian wyłania materiał, a on dostarcza interpretację i decyzję. + +### Dowód A + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*lZZf5JP1FgZU1ZkJb95lHQ.png) + +Źródło: https://stephango.com/understand + +### Eksponat B + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*whkb1UCwm-rTA7OF1zo5HQ.png) + +Źródło: https://stephango.com/understand + +W [***książce Jak używam Obsidianu***](https://stephango.com/vault) wyjaśnia, jak utrzymać zrozumienie w swoich rękach poprzez drobne, świadome praktyki w Obsidian, zanim powtórzy to. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*zJyDJu-Ym17rB94NkrtaHw.png) + +Źródło: https://stephango.com/vault + +**Zwróć uwagę na kolejność**: Obsidian wystawia losową nutę lub pobliskie połączenia, Steph spotyka stare materiały, zauważa wzory lub luki, a potem decyduje, co zmienić — dodając linki, poprawiając pomysły lub poprawiając formatowanie. + +Funkcje te przedstawiają jedynie informacje. Myślenie i decyzje pozostają jego. W tym procesie narzędzie wprowadza treść w widok, a człowiek dostarcza sens i działanie. + +Widziany na tym benchmarku, pytanie Obsidian się zmienia. "Które wtyczki powinienem zainstalować?" staje się: które narzędzia wzmacniają moją rolę głównego agenta, a które zachęcają mnie do reagowania na sugestie maszyn zamiast samodzielnie formułowania wniosków? + +Na przykład wbudowane funkcje Search, Backlinks i Graph Obsidian po prostu pobierają i wyświetlają to, co już tam jest. Wymagają od ciebie decyzji, co się liczy. Dla porównania, wtyczki takie jak [Smart Connections](https://github.com/brianpetro/obsidian-smart-connections) i [Text Generator](https://github.com/nhaouari/obsidian-textgenerator-plugin) wprowadzają generowane streszczenia, sugerowane powiązania i szkice wyjaśnień. + +Te wtyczki nie odbierają sprawczości. Oczywiście nadal decydujesz, czy przyjąć czy odrzucić to, co produkują. Ale przenoszą pracę poznawczą do góry, tak że ocena poprzedza jej rozpoczęcie, a nie następuje. Zamiast zaczynać od własnej analizy, zaczynasz od oceny, co system proponuje. + +Ta zmiana — od pierwotnego myślenia do reagowania na efekt — jest współczesną wersją rozróżnienia Tomasza z Akwinu. Instrument pozostaje użyteczny, ale nie może stać się czynnikiem funkcjonalnym. + +## Punkt odniesienia 3: Nawyk + +### Jak powtarzalność w twoim skarbcu staje się sposobem myślenia + +Tomasz wyjaśnia zwyczaj jako stabilną dyspozycję, która kształtuje się poprzez powtarzające się działania. To nie jest coś narzuconego z zewnątrz. W Summa Theologia **e** I–II, q.51, a.2, opisuje mechanizm: gdy czyny są powtarzane, stopniowo tworzą trwałą cechę w sile, która je wykonuje, a tą cechą nazywamy **nawykiem**. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*RbxT69GEX7Bfiv70BMSaJA.png) + +Źródło: Summa Theologia e I–II, q.51, a.2 + +Innymi słowy, to, co robimy wielokrotnie, kształtuje nasze skłonności do myślenia i działania. Stosowane do Obsidian, ponieważ narzędzie jest elastyczne, wszelkie wzorce, które praktykujemy w naszym skarbcu — jak rozkładamy idee na czynniki pierwsze, jak je ponownie analizujemy, jak je łączymy — stopniowo stają się naszym domyślnym sposobem myślenia. + +Steph jasno to podkreśla w swoim artykule [***o Evergreen Notes***](https://stephango.com/evergreen-notes). Wyjaśnia, że nuty wieczności pozwalają "budować złożone idee z mniejszych pomysłów do składania" i podsumowuje: "Nuty wieczne zamieniają pomysły w obiekty. Przekształcając pomysły w obiekty, możesz nimi manipulować, łączyć je, układać w stos. Nie musisz trzymać ich wszystkich w głowie naraz." + +Poprzez wielokrotne eksternalizowanie pomysłów w drobne nuty i ich ponowne łączenie, trenujesz myślenie kompozytorskie. Z czasem ta praktyka tworzy stabilny nawyk poznawczy: zamiast polegać na pojedynczych spostrzeżeniach, zaczynasz rozumieć, zbierając i wracając do pomysłów. To jest mechanizm Tomasza z Akwinu w nowoczesnej formie — powtarzające się akty kształtujące trwały sposób myślenia. + +Nawyk stabilizuje sposób myślenia, ale nie określa, do czego to myślenie służy. Stabilny nawyk bez końcówki rządzącej **równie dobrze może ustabilizować dryf**. + +## Benchmark 4: Koniec (Telos) + +### Do czego służy twój skarbiec? + +Tomasz jasno wyraża tę zasadę: " ***Omne agens agit propter finem."*** ("Każdy agent działa dla celu.") + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*bYevzede06_2GeCJWO5www.png) + +Źródło: Summa Theologiae I–II, q.1, a.2 + +Dla Tomasza z Akwinu koniec (finis) to to-dla czego, które nadaje porządek działaniu. To właśnie ona decyduje, dlaczego działanie w ogóle istnieje. Środki stają się zrozumiałe tylko wtedy, gdy są postrzegane w odniesieniu do celu. Bez celu może zachodzić aktywność — ale brakuje jej hierarchii. + +Ta zasada jest już zawarta w manifeście Obsidian. Pod "Twoja" jest napisane: + +"Wierzymy, że każdy powinien mieć narzędzia do jasnego myślenia i skutecznego organizowania idei." + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*RuVC-9v464svpYd4_B7wZQ.png) + +Źródło: https://obsidian.md/about + +To **twierdzenie teleologiczne**. Określa to koniec: jasne myślenie. Wszystko inne — trwałość, prywatność, plastyczność, niezależność — to właśnie służy. + +Steph podkreśla tę samą postawę w [***aplikacji File Over***](https://stephango.com/file-over-app), twierdząc, że cyfrowe artefakty powinny być plikami, którymi można sterować, aby przetrwały poza konkretnym interfejsem. Chodzi o trwałość w służbie czegoś: długoterminowego myślenia, które przetrwa narzędzia. + +**Tak więc kategoria celu jest już obecna w publicznych zobowiązaniach Obsidian. Tomasz po prostu jasno przedstawia tę strukturę.** + +Jeśli każdy agent działa dla jakiegoś celu, to każdy skarbiec jest ukierunkowany na coś — czy to jest wyraźnie powiedziane, czy nie. + +I tak decydujące pytanie brzmi: Do czego służy twój skarbiec? + +Czy jest zamówiona do: + +- Tworzenie gotowych tekstów? +- Wyjaśnienie pytań badawczych? +- Śledzenie zobowiązań i decyzji? +- Rozwijanie pomysłów w czasie? +- Zachowanie materiałów referencyjnych? + +Każdy z tych końców miał inną strukturę sklepienia. Ta sama funkcja — tagi, backlinki, pulpity, wtyczki — może być proporcjonalna lub nadmierna, w zależności od celu, do którego służy. + +To zbiera wcześniejsze punkty odniesienia, które do tej pory omówiliśmy, w jedną zasadę rządzącą: **Prawda (równanie)** ma znaczenie w odniesieniu do tego, co próbujesz zrozumieć. **Agencja ma** znaczenie w porównaniu do tego, czym chcesz kierować. **Nawyk** stabilizuje wzorce względem tego, do czego są kierowane. **Koniec (telos)** nadaje hierarchię wszystkim trzom. + +Gdy wiesz, do czego służy twój skarbiec, możesz ocenić, czy dana funkcja faktycznie pomaga, czy tylko dodaje komplikacji. Bez jasnego celu każda nowa struktura wydaje się rozsądna i nic nie mówi, kiedy przestawać. Cel pozwala rozpoznać nadmiar i niedobór za to, czym są. + +## Punkt odniesienia 5: Kolejność i proporcje + +### Gdy struktura ma odpowiednią wagę + +Gdy koniec zostanie wyznaczony, Tomasz z Akwinu wyjaśnia, że z tego wynika porządek. Porządek wykracza poza uporządkowanie czy układ. Lepiej rozumie się ją jako dopasowanie części zgodnie z tym, do czego służy całość — **jej koniec**. + +Stosuje definicję porządku Augustyna z Hippony jako udziałów równych i nierównych, nadając każdemu właściwe miejsce. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*nGyYKVTCBmTBDwm6ByB_uA.png) + +Źródło: Augustyn z Hippony, De Civitate Dei (Miasto Boże), Księga XIX, Rozdział 13 + +Ta definicja oznacza **proporcję**. Niektóre elementy są centralne, inne wspierające. Niektóre zasługują na podkreślenie, podczas gdy inne wymagają powściągliwości. Nadanie każdemu właściwego miejsca oznacza przypisanie mu wagi odpowiedniej do końca. + +I tak proporcja to porządek mierzony względem celu. Gdy cel rządzi wyraźnie, można ocenić strukturę. Gdy koniec jest niejasny, **struktura się rozszerza, bo nic go nie mierzy**. + +W odniesieniu do Obsidian, to właśnie tutaj konfiguracja staje się zrozumiała, a nie estetyczna forma. + +Załóżmy, że celem twojego archiwum jest napisanie gotowych eseji. W takim przypadku: + +- Linkowanie jest wartościowe, ponieważ wyjaśnia argumenty. +- Tagi są przydatne, ponieważ pomagają w pozyskiwaniu dowodów. +- Szablony są pomocne, jeśli przyspieszają tworzenie szkicu. +- Refaktoryzacja jest uzasadniona, jeśli wyostrza strukturę. + +Ale jeśli spędza się godziny na dopracowywaniu pulpitów, projektowaniu estetycznych widoków grafów, reorganizacji folderów lub testowaniu wtyczek bez tworzenia szkiców, to struktura przekroczyła swój zakres do końca. + +Z drugiej strony, jeśli celem jest długoterminowy rozwój badań: + +- Gęste linkowanie może być proporcjonalne. +- Powolna synteza może być w porządku. +- Pisanie może pojawiać się stopniowo, a nie od razu. + +A jeśli celem jest zarządzanie projektem: + +- Widoczność zadań staje się kluczowa. +- Architektura nut wiecznie zielonych może być drugorzędna. +- Szybkość przechwycenia do akcji przeważa nad konceptualną elegancją. + +W terminologii Obsidian "order" oznacza, jak ruchome części twojego skarbca są ułożone tak, by spełniały swoje zadania: przechwytywanie, szkicowanie, linkowanie, tagowanie, przeglądanie, refaktoryzacja, użycie pluginów oraz czas poświęcony każdej z nich. Proporcja jest dla nich ważna. + +Jeśli koniec jest jasny, można je ocenić. Linkowanie służy draftowi, refaktoryzacja zapewnia przejrzystość, wtyczki spełniają określone zadania itd. Czas poświęcony na utrzymanie struktury musi odpowiadać pracy, jaką skarbiec musi wykonywać. + +Nieładunek pojawia się, gdy tracona jest proporcja — gdy element drugorzędny przejmuje centralną wagę lub gdy główny zostaje pomniejszony. + +Pytanie brzmi więc, czy taki nieład to po prostu nieefektywność, czy też głębsza porażka samego porządku. + +## Benchmark 6: Zakończenie (Użycie / Polecenie) + +### Kiedy myśl prowadzi do "Zrób to" + +Tomasz z Akwinu nalega, by praktyczne rozumowanie osiągnęło ostateczność w dowodzeniu: determinacja, która pojawia się w działaniu. Mówi to wprost, gdy traktuje ostrożność. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*S8QMBGbMtZxegFrsNmRg1A.png) + +Źródło: Summa Theologiae II–II, q.47, a.8 + +Mówiąc wprost, praktyczne myślenie pozostaje niedokończone, dopóki nie wygeneruje kolejnego kroku, który faktycznie możesz wykonać. To tutaj wiele skarbców się zatrzymuje. Tworzą materiał do refleksji, ale zatrzymują się przed aktem, który zamyka deliberację. + +Tomasz z Akwinu również strzegł drugiego bieguna. Traktuje pochopność jako "opad": podjęcie działania bez należytej rady. W jego ujęciu opad należy do nieroztropności, ponieważ pomija kroki, które sprawiają, że rozkaz jest racjonalny, a nie impulsywny. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*ZWHFXHYQH0eTPcvsl9-YNQ.png) + +Źródło: Summa Theologiae II–II, q.53, a.3 + +Więc kompletacja ma kształt: radca → osąd → rozkaz → wykorzystanie. Nie porusza się ani impulsywnie, ani przez niekończące się odkładanie. + +W odniesieniu do Obsidian, ukończenie wygląda jak przekształcenie notatki z "about" na "for": dla szkicu, dla decyzji, do rozmowy, do zadania, które możesz wykonać. + +Kilka przykładów skarbców: + +- Notatka ze spotkania kończy się jednym wyraźnym zobowiązaniem: napisz *e-mail X, zapytaj Y, zdecyduj o Z do piątku*. +- Notatka do czytania kończy się twierdzeniem, które możesz przetestować lub wykorzystać: *Ten argument wspiera sekcję 2 – dodaj go do konspektu.* +- Notatka projektowa kończy się jednym wybranym następnym działaniem i jedną opcją: *wyślij tę wersję – przestań szukać alternatyw.* +- Cotygodniowa notatka kończy się małą listą, którą albo robimy, albo celowo przycinam. + +Praktyka zadań Steph pokazuje, jak wygląda "dowodzenie" w zwykłym życiu w skarbcu. Traktuje tę listę jako narzędzie do decyzji, a nie jako magazyn: + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*TO8nCb87Bb2stZOZKRpF6w.png) + +Źródło: https://stephango.com/todos + +Ten moment "porzuć ich" to praktyczny moment: zapada decyzja i lista znów staje się wykonalna. To jest ukończenie. + +Drugi artykuł, który napisał, potwierdza ten sam kierunek z innej perspektywy: jasność istnieje po to, by wspierać działanie i porozumienie, a nie gromadzić słowa. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*vB85HDJshvWnQaXFdHxTmw.png) + +Źródło: https://stephango.com/concise + +Razem z tym: Obsidian pomaga, gdy wspiera doradztwo i osąd, a następnie ułatwia wyrażanie i używanie dowodzenia. + +## Diagnoza: Gdy porządek się odwraca + +### Niedostatk i wyrafinowane odroczenie + +Tomasz z Akwinu odróżnia prostą nieobecność od niedostatku. Brak oznacza brak czegoś, co należy — czegoś, co powinno być obecne ze względu na charakter i cel danej działalności. Dlatego opisuje zło jako niedostatk: nie nową "rzecz", lecz brakujący porządek, w którym należy się porządek. +(Summa Theologiae I, q.48, a.1) + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*4idCQg34GIX_14j1vz-ruw.png) + +Źródło: Summa Theologiae I, q.48, a.1 + +Tomasz z Akwinu mówi, że zło to niedostatk. Oczywiście, mówiąc o problemach związanych z Obsidianem, nie oznacza to zła w sensie dramatycznym czy moralnym. Zło tutaj oznacza po prostu brak tego, co dobre — konkretnie brak porządku, osądu czy dopełnienia, które pomogłyby ci dobrze wykorzystać Obsidian. + +To daje precyzyjny sposób na określenie trybów awarii Obsidian. Skarbiec może wyglądać na wyrafinowany, podczas gdy brakuje odpowiedniego aktu. Efektem *jest dopracowane odkładanie*: ruch na warstwie instrumentów, podczas gdy akty rozumienia, oceny i dopełnienia nie pojawiają się. + +Oto kilka typowych przypadków awarii, każdy powiązany z już określonymi przez nas benchmarkami: + +### 1) Niekończące się przechwytywanie + +**Niedobór:** *ukończenie (komenda/użycie).* +Schwytanie trwa, ale radna nigdy nie zamyka się w "zrób to". +**Poprawka:** każdy strumień przechwytywania musi mieć rytm zwrotu, który kończy się przynajmniej jednym wyraźnym poleceniem: jedną kolejną akcją, jednym ruchem draftowym, jedną decyzją. + +### 2) Fiksacja grafów + +**Niedobór:** *równanie (prawda odpowiednia dla rzeczy).* +Mapa staje się obiektem uwagi, a rzecz się cofa. +**Poprawka:** wymusić cofnięcie wykresu w dalszej fazie: użyj go, by wybrać, co ma związek z pytaniem w rzeczywistości, a potem wrócić do pytania. + +### 3) Obsesja na punkcie wtyczek i zmiany systemów + +**Niedostatk:** *porządek i proporcje*. +Środki drugorzędne mają centralną wagę; Koniec Skarbca traci władzę rządzącą. +**Poprawka:** oceniaj wtyczki jako środki względem celu: jedna wtyczka zdobywa swoje miejsce, tworząc więcej szkiców, wyraźniejsze decyzje, szybsze wykonanie lub wierniejsze przypomnienie — w zależności od wybranego celu. + +### 4) Zależność od AI + +**Niedobór:** *agencja (dokument kontra pełnomocnik).* +Formalnie pozostajesz "odpowiedzialny", ale proces powstawania się zmienia: oceniasz propozycje maszyn, zamiast wyciągać z tego zrozumienie. +**Poprawka:** użyj generowania w dalszej fazie: po napisaniu zgłoszenia poproś narzędzie o skompresowanie, sprawdzenie lub przeformułowanie. Zachowaj pierwszy akt porozumienia z agentem. + +### 5) Gromadzenie bez syntezy + +**Niedobór:** *nawyk wymuszony do końca*. +Powtarzanie tworzy nawyk archiwisty: kolekcjonowanie staje się stabilną dyspozycją. +**Naprawa:** wyrób inny nawyk poprzez powtarzanie aktów rekompozycji: zamieniaj fragmenty w wiecznie zielone twierdzenia, konspekty lub decyzje — małe zamknięcia powtarzane przez czas. + +We wszystkich tych przypadkach wzór jest stały: narzędzie pozostaje potężne, ale kolejność się odwraca. Reprezentacja się wyolęża, a ruch instrumentalny się rozszerza. Znikają odpowiednie czynności — osąd, rozkaz, użycie — znikają. + +To właśnie pomaga nam dostrzec Tomasz z Akwinu i dlatego ta soczewka jest przydatna. Problemem rzadko jest "która cecha" — właściwie bardziej chodzi o "który akt jest nieobecny". + +Gdy wymienisz brakujący akt**, wszystkie pytania** zostają dyscyplinowane. Struktura odzyskuje proporcje, wtyczki odzyskują swoje miejsce, a nuty wracają do końca. + +A skarbiec przestaje być środowiskiem, które utrzymujesz, i staje się tym, czym Obsidian twierdzi, że jest jego celem: narzędziem wspierającym jasne myślenie i wynikające z niego decyzje. + +Ten artykuł został napisany przy użyciu [Obsidian](https://obsidian.md/). + +Teraz, gdy wyjaśniono **dlaczego**, łatwiej podejść **do tego z** jasnością i pewnością siebie. A skoro już o **tym** mowa, jeśli jesteś nowy w Obsidian i chcesz solidnego, praktycznego punktu wyjścia, poniższy film to najlepsze miejsce, by zacząć. \ No newline at end of file diff --git a/inbox/Zaktualizowany akademicki workflow_ Zotero i Obsidian.md b/inbox/Zaktualizowany akademicki workflow_ Zotero i Obsidian.md new file mode 100644 index 0000000..5157c02 --- /dev/null +++ b/inbox/Zaktualizowany akademicki workflow_ Zotero i Obsidian.md @@ -0,0 +1,312 @@ +--- +title: "Zaktualizowany akademicki workflow: Zotero i Obsidian" +source: "https://medium.com/@alexandraphelan/an-updated-academic-workflow-zotero-obsidian-cffef080addd" +author: + - "[[Alexandra Phelan]]" +published: 2023-08-21 +created: 2026-08-07 +description: "Najważniejsze wydarzenie" +tags: + - "clippings" +--- +Sierpień 2023 + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*z4erm4ShPpbDhYS7WDRWbw.png) + +Moja baza danych Obsidian w widoku grafu (stan na sierpień 2023), pokazująca dwukierunkowe powiązania między notatkami i kluczowymi węzłami popularnych tagów. + +W zeszłym roku napisałem wpis ["An Academic Workflow: Zotero & Obsidian](https://medium.com/@alexandraphelan/an-academic-workflow-zotero-obsidian-56bf918d51ab) ", w którym opisuję, jak wykorzystuję oba programy jako część mojej pracy naukowej do prowadzenia badań i pisania publikacji. Stał się dość popularny, ale dzięki znaczącym aktualizacjom Obsidian, Zotero i kilku wtyczkom jest już nieaktualny. Poniższy wpis aktualizuje oryginał i zawiera więcej szczegółów na temat tego, jak obecnie działa mój workflow na sierpień 2023 roku. + +Moja codzienna praca jako akademika wymaga ode mnie zbierania, czytania i komentowania materiałów, tworzenia notatek, pisania rękopisów (indywidualnie i wspólnie) oraz cytowania źródeł. Po roku nadal uważam, że pisanie pierwszych szkiców w edytorze mardown jest znacznie łatwiejsze i bardziej stabilne niż w innych popularnych programach do edycji tekstu, ze względu na ich skłonność do ociężałości, rozpraszającego formatowania i oddzielenia od miejsca, gdzie trzymam wszystkie notatki. Markdown ma także dodatkową zaletę w postaci trwałego i ustandaryzowanego formatu pliku. Niedawno straciłem dostęp do całego zestawu notatek ze szkoły prawniczej, ponieważ były one w wspólnym, ale specyficznym dla programu formacie, który został później zaktualizowany, co naprawdę uświadomiło mi znaczenie zabezpieczenia na przyszłość. + +Ten akademicki workflow wykorzystuje dwa programy: [**Zotero**](https://www.zotero.org/) i [**Obsidian**](https://obsidian.md/). + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*B08ORIPGPYHF9qmWQwNFsg.png) + +Ikony programów Zotero i Obsidian + +## Zotero: zbieranie zasobów, tworzenie adnotacji i cytowań + +Teraz w wersji 6 [Zotero](https://www.zotero.org/) jest doskonałym narzędziem dla badaczy. Moja biblioteka Zotero to baza danych, która przechowuje 15 lat moich badań. Dodaję zasoby do mojej biblioteki, korzystając z konektorów do przeglądarek, które są dołączone do Zotero lub ręcznie. Oznacza to, że wszystkie metadane dla zasobu (autor, tytuł, typ, nazwa czasopisma, data itd.) są wpisywane do bazy danych. Każdy wpis w mojej bazie danych jest również powiązany z PDF-em książki lub artykułu, który od Zotero 6 można czytać i komentować (dodawać wyróżnienia i notatki) w aplikacji. Kiedy piszę manuskrypt, mogę łatwo wstawić cytowania w dowolnym stylu cytowania, jaki wymaga odpowiednie czasopismo lub redaktor. Jako osoba pracująca w różnych dziedzinach prawa i nauk ścisłych, możliwość przełączania się między APA, Bluebook lub Nature za pomocą przycisku jest kluczowa. + +## Obsydian: tworzenie notatek, pisanie rękopisów + +Na początku procesu badawczego łatwo wpaść w pułapkę zbierania zasobów, ale nic z nimi nie robić. Synteza moich lektur i adnotacji w nowe notatki, które pomagają mi tworzyć rękopisy, jest kluczową częścią generowania pomysłów i pisania prac. Chociaż możesz zaznaczać PDF lub używać notatki w notesie czy edytorze tekstu podczas czytania, ja chcę się połączyć i rozwijać moje pomysły. Nigdy nie pracowałem w ścisłych dyscyplinarnych silosach, więc mój proces pisania też nigdy nie działał. Mimo miłości do artykułów papierniczych, wolę trzymać notatki cyfrowe, a prosty edytor tekstu, nawet z jednokierunkowymi połączeniami między tematami, nie wystarcza do mojej pracy. Wolę [dwukierunkowe łączenie](https://maggieappleton.com/bidirectionals) i cieszę się pluralizmem. I tu wkracza [Obsidian](https://obsidian.md/). Obsidian to edytor do przeceniania cen, oferujący środowisko pisania wolne od rozpraszaczy. Ale Obsidian oferuje coś więcej niż tylko edytor tekstu i umożliwia dwukierunkowe powiązania, by tworzyć relacje między ideami. Odkąd regularnie korzystam z Obsidian do pisania, przekształcił się on także w narzędzie do zarządzania projektami i śledzenia statusu publikacji. + +## I. Ustawienie Zotero + +Zotero 6 uprościł mój workflow. Istnieje wiele wtyczek do Zotero, ale polecam zainstalować: + +- [**betterbibtex**](https://retorque.re/zotero-better-bibtex/) do tworzenia biblioteki cytowań i citekeys. Betterbibtex robi wiele, ale głównie używam go do automatycznego tworzenia pliku, który można wykorzystać do cytowań i spójnych kluczy cytowań [pandoc](https://pandoc.org/) (author\_date, np. Carter\_2022), których mogę używać podczas pisania manuskryptów w Obsidian (więcej o tym później). + +*Dla tych, którzy kontynuują zeszłoroczny post, nadal używam* [***zotfile***](http://zotfile.com/) *do automatycznego przemianowania plików pdf na spójny format (np. author\_date\_title), ale nie przenoszę już załączników do osobnego folderu. Dzieje się tak, ponieważ Zotero na iOS nie otwiera powiązanych plików zapisanych w osobnym miejscu. Chociaż nadal można otwierać takie pliki w dowolnym czytniku PDF, ten wybór tylko uprościł mój workflow. Jednak używanie zotfile do przenoszenia załączników jest możliwe, jeśli biblioteka jest duża i nie chcesz płacić za przechowywanie w Zotero.* + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/0*yRAPt99dHz_9xZYs.jpeg) + +Moja baza danych Zotero, zawierająca artykuły naukowe, książki, rozdziały, raporty oraz źródła pierwotne, takie jak międzynarodowe i krajowe sprawy sądowe, ustawy i traktaty. + +## II. Obsidian Setup + +Druga część workflow opiera się na kilku wtyczkach społecznościowych Obsidian. Możesz je zainstalować w ustawieniach wtyczek społecznościowych. W moim workflow są dwie kluczowe wtyczki: + +- [**Integracja z Zotero**](https://github.com/mgmeyers/obsidian-zotero-integration) (dawniej **znana** jako Obsidian Zotero Desktop Connector) jest niezbędna dla tego workflow. Ta wtyczka pozwala importować cytowania, bibliografie i adnotacje PDF z Zotero do Obsidian, a także ułatwia tworzenie Notatek Literackich. +- [**Pandoc Reference List**](https://github.com/mgmeyers/obsidian-pandoc-reference-list) tworzy panel w pasku bocznym Obsidian, który wyświetla sformatowane odniesienie dla każdego klucza cytowania pandoca w otwartym dokumencie. +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*zMig5i6Tpymm9TNiyY8agw.png) + +Przykład zrzutu ekranu wtyczek Obsidian: Zotero Integration i Pandoc Reference List. + +Trzy dodatkowe wtyczki dodają dodatkowe funkcje: + +- [**Dataview**](https://github.com/blacksmithgu/obsidian-dataview) to w pewnym sensie niezbędna wtyczka Obsidian do wyszukiwania i wyświetlania danych. W moim workflow używam go do tworzenia stron podsumowujących. +- Jeśli zamierzasz eksportować rękopisy napisane w Obsidian za pomocą citekeys do innych edytorów tekstu (np. w formacie docx), będziesz potrzebować wtyczki [**pandoc**](https://github.com/OliverBalfour/obsidian-pandoc). +- Chociaż Obsidian pozwala na różne pola "call out", nadal używam wtyczki [**adomitions**](https://github.com/valentine195/obsidian-admonition) do tworzenia spersonalizowanych kolorów i tytułów moich wywołań w moich notatkach literackich. *(*[*Przydatny film na YouTube*](https://www.youtube.com/watch?v=TqYQ0kA1yAo) *z upomnieniami i upomnieniami)* + +## III. Notatki literackie + +Notatki Literackie to w zasadzie jedna notatka dla każdego źródła, zawierająca pełne metadane, link do Zotero, a także adnotacje i notatki PDF przechowywane w Zotero. Integracja Zotero może zautomatyzować pobieranie wszystkich tych informacji do nowej notatki w Obsidian. + +### Przygotowanie + +Aby tworzyć notatki literackie, integracja z Zotero wymaga szablonu. Poniżej dołączam cały mój szablon. + +*(Aktualizacja 28 marca 2024 – Narzędzie do zaznaczania w Medium wydaje się zakłócać szablon. Sugeruję najpierw skopiować i wkleić do notatnika lub podobnego elementu, żeby usunąć podświetlenia średnie, a potem kopiować i wkleić do Obsidian)* + +```c +--- +category: literaturenote +tags: {% if allTags %}{{allTags}}{% endif %} +citekey: {{citekey}} +status: unread +dateread: +--- + +> [!Cite] +> {{bibliography}} + +>[!Synth] +>**Contribution**:: +> +>**Related**:: {% for relation in relations | selectattr("citekey") %} [[@{{relation.citekey}}]]{% if not loop.last %}, {% endif%} {% endfor %} +> + +>[!md] +{% for type, creators in creators | groupby("creatorType") -%} +{%- for creator in creators -%} +> **{{"First" if loop.first}}{{type | capitalize}}**:: +{%- if creator.name %} {{creator.name}} +{%- else %} {{creator.lastName}}, {{creator.firstName}} +{%- endif %} +{% endfor %}~ +{%- endfor %} +> **Title**:: {{title}} +> **Year**:: {{date | format("YYYY")}} +> **Citekey**:: {{citekey}} {%- if itemType %} +> **itemType**:: {{itemType}}{%- endif %}{%- if itemType == "journalArticle" %} +> **Journal**:: *{{publicationTitle}}* {%- endif %}{%- if volume %} +> **Volume**:: {{volume}} {%- endif %}{%- if issue %} +> **Issue**:: {{issue}} {%- endif %}{%- if itemType == "bookSection" %} +> **Book**:: {{publicationTitle}} {%- endif %}{%- if publisher %} +> **Publisher**:: {{publisher}} {%- endif %}{%- if place %} +> **Location**:: {{place}} {%- endif %}{%- if pages %} +> **Pages**:: {{pages}} {%- endif %}{%- if DOI %} +> **DOI**:: {{DOI}} {%- endif %}{%- if ISBN %} +> **ISBN**:: {{ISBN}} {%- endif %} + +> [!LINK] +> {%- for attachment in attachments | filterby("path", "endswith", ".pdf") %} +> [{{attachment.title}}](file://{{attachment.path | replace(" ", "%20")}}) {%- endfor -%}. + +> [!Abstract] +> {%- if abstractNote %} +> {{abstractNote}} +> {%- endif -%}. +> +# Notes +> {%- if markdownNotes %} +>{{markdownNotes}}{%- endif -%}. + +# Annotations +{%- macro calloutHeader(type, color) -%} +{%- if type == "highlight" -%} +Quote +{%- endif -%} + +{%- if type == "text" -%} +Note +{%- endif -%} +{%- endmacro -%} + +{% persist "annotations" %} +{% set newAnnotations = annotations | filterby("date", "dateafter", lastImportDate) %} +{% if newAnnotations.length > 0 %} + +### Imported: {{importDate | format("YYYY-MM-DD h:mm a")}} + +{% for a in newAnnotations %} +{{calloutHeader(a.type, a.color)}} +> {{a.annotatedText}} +{% endfor %} +{% endif %} +{% endpersist %} +``` + +*Uwaga: Nadchodzące wersje Obsidian będą zawierać sekcję "właściwości" zamiast tradycyjnego YAML. W obecnej wersji Insider, v1.4.3, szablon YAML jest automatycznie konwertowany na właściwości po utworzeniu Notatki Literatury.* + +Ten szablon automatycznie pobiera metadane referencji oraz wszelkie adnotacje zawarte w podlinkowanym PDF. Używam zestawu kolorów, aby przekazać różne rzeczy (np. żółty dla ciekawego punktu, czerwony dla krytyki itd.), a ten szablon wyodrębnia każdy cytat pod odpowiednim nagłówkiem koloru, a także notatki jako tekst. Gdy utworzysz szablon jako nową notatkę Obsidian, zapisz ją w sejfie, a w ustawieniach integracji z Zotero Dodaj format importu dla notatki literackiej i skieruj folder szablonu na lokalizację szablonu. Na przykład: + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*8ZL5QCM6CERgl17sQmTKtQ.png) + +Przykładowe ustawienia integracji Zotero do notatek literackich + +Ze względu na sposób, w jaki mam ustawione tytuły moich Notatek Literackich — używając "@citekey" – różnica między cytowaniem a wewnętrznym linkiem do Notatki Literackiej to po prostu kwestia nawiasów kwadratowych: + +- \[@Stephens\_2021\] — cytat w linii +- \[\[@Stephens\_2021\]\] — Nota literacka + +To także umożliwia wygodne powiązania między notatkami literackimi za pomocą [funkcji "Powiązane" w Zotero](https://www.zotero.org/support/related) (*uwaga:* [*przydatny przewodnik*](https://pressbooks.library.yorku.ca/masteringzotero/chapter/working-with-related-items/) *po używaniu "Powiązanych" pozycji).* + +### Tworzenie notatek literackich + +Gdy szablon jest gotowy, aktywuj wybór poleceń Obsidian (cmd-p na macu) i wybierz "Integracja z Zotero: Utwórz notatkę literaturową". Ustawiłem to na skrót klawiszowy, który uruchamia się od razu. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*MO3_JBleGvNCFhMGAxhp0g.png) + +Zrzut ekranu palety poleceń Zotero Integration + +Powinno pojawić się pytanie Zotero, a ty możesz wpisać swoje źródło, dla którego tworzysz Notatkę Literacką. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*MQ6AbPHDk27mR8a0IkT0BQ.png) + +Zrzut ekranu z promptu Zotero + +Po wybraniu Zotero Integration uruchomi i wygeneruje Notatkę Literaturę w folderze wybranym w ustawieniach wtyczki. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*xdTUSbJTR_7AqQ2xn1lgpA.png) + +Zrzut ekranu z notatki literackiej + +Możesz wtedy edytować dokument, a jego zmiany zostaną zachowane. Jeśli następnie dodasz więcej notatek i adnotacji w odpowiednim PDF, zostaną one dodane osobno podczas ponownego uruchomienia "Integracji z Zotero: Tworzenie notatki literatury". Jeśli przeniesiesz Literature Note z folderu wyjściowego, nie zaktualizuje to pliku przeniesionego, lecz utworzy nową notatkę w oryginalnym folderze wyjściowym. Polecam więc trzymać jeden folder z wyjściem Literature Notes i nie przenosić plików. + +### Indeks notatek literackich + +W nowej notatce Obsidian, Dataview może być użyty do stworzenia podsumowania wszystkich notatek literackich, które można wykorzystać jako indeks: + +```c +\`\`\`dataview +TABLE +title as Title, +FirstAuthor as "First Author", +Year as Year, +itemType as Item, +Citekey as Citekey, +Contribution as Contribution +FROM "[insert Literature Notes folder here]" +\`\`\` +``` +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*ybNaMP6HJ4cZwhq5mUsiaw.png) + +Zrzut ekranu przykładowego indeksu notatek literackich + +Więcej na ten temat można znaleźć w [przeglądach literatury z wykorzystaniem Zotero i Obsidian](https://medium.com/@alexandraphelan/literature-reviews-using-zotero-obsidian-66eba1565d78). + +## IV. Pisanie rękopisów + +Pisanie w Obsidian jest jak pisanie w każdym edytorze tekstu, ale całe formatowanie odbywa się w [znaczeniu](https://help.obsidian.md/Editing+and+formatting/Basic+formatting+syntax). + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*3UAWW35ZmDQeezpmJh2fTg.png) + +Zrzut ekranu przykładowego dokumentu markdown z cytowaniami + +### Dodawanie cytowań + +Integracja Zotero może być używana do dodawania cytowań (jak pokazano powyżej). Najpierw musisz ustalić preferowane style cytowania. Upewnij się, że masz zainstalowany wybrany styl (CSL) w Zotero (Preferencje > Cytowanie > Styles). To wstawi ukończone cytowanie w preferowanym formacie. + +Alternatywnie – i to moja preferencja – możesz też ustawić cytowania Pandoc, które pozwalają łatwo zmieniać formaty w zależności od potrzeb (na przykład, jeśli wysyłasz do różnych czasopism). Oznacza to też, że możesz po prostu wpisać \[@citekey\], jeśli znasz klucz cytowania z głowy. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*fXdtpONnlVzWqUEogZ1OLQ.png) + +Zrzut ekranu ustawień przykładów w integracji Zotero dla stylów eksportu cytowań + +*A* jeśli używasz Pandoc jako formatu cytowania, możesz użyć Pandoc Reference List, aby uzyskać listę źródeł do kopiowania w pasku bocznym. *A* jeśli w ustawieniach Pandoc Reference List włączysz "Show Citekey Suggestions", podczas wpisywania citekey pojawi się okno autouzupełniania: + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*DLTnf4f_6ZMKISITj-VVwA.png) + +Zrzut ekranu z autouzupełnianiem Pandoc Reference List + +Jeśli chcesz iść po starym standardzie, możesz dodawać cytowania za pomocą wiersza poleceń Obsidian, aby przejść do stylu cytowania, dla którego chcesz wstawić cytat. Możesz ustawić skróty klawiszowe, które od razu przechodzą do preferowanego stylu. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*IdtJc0K6cVCFOMxTMyrJQA.png) + +Zrzut ekranu wiersza poleceń Obsidian dla integracji z Zotero + +Następnie możesz wybrać odpowiednie cytowanie w Zotero... + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*DnVbUU5di2ywZxPpRbTbKw.png) + +Zrzut ekranu wiersza poleceń Zotero + +a wybrany cytowanie jest wstawiane do dokumentu. + +![](https://miro.medium.com/v2/resize:fit:1100/format:webp/1*sXzRP2DibCGdaDHwNriY9Q.png) + +Zrzut ekranu cytowania wstawionego w stylu pandoc podczas zaznaczenia. + +![](https://miro.medium.com/v2/resize:fit:1100/format:webp/1*3hnCdIz5qZAYJr-yk_924w.png) + +Zrzut ekranu cytowania wstawionego, gdy nie jest wybrany w preferowanym stylu cytowania wybranym w ustawieniach Pandoc Reference List. + +### Przejście z markdown do docx i przetwarzanie cytowań + +**Ustawienie pandoc do odczytu Twojej biblioteki** Zotero Po dodaniu cytowań możesz je przetwarzać za pomocą wtyczki pandoc. Pierwszym krokiem jest wyeksportowanie biblioteki Zotero jako pliku.bib, a następnie wskazanie wtyczki pandoc na ten plik. Możesz to zrobić za pomocą YAML frontmatter (i/lub Properties, w zależności od twojego buildu Obsidian): + +```c +--- +bibliography: ~/yourpath/My library.bib +--- +``` + +lub ustaw ją na stałe w wtyczce pandoc, dodając ją do pola Dodatkowe argumenty Pandoc: + +```c +--metadata bibliography=~/yourpath/My Library.bib +``` + +**Ustawienie pandoca do przetwarzania cytowania w preferowanym stylu** + +Domyślne cytowanie pandoc to Chicago (data autorstwa). + +Jeśli chcesz zmienić styl cytowania lub dodatkową bibliotekę Zotero, możesz ustawić CSL w metadanych/właściwościach YAML lub w ustawieniach wtyczki pandoc: + +```c +--- +csl: ~/yourpath/style.csl +--- +``` + +lub ustaw to na stałe w ustawieniach wtyczki Pandoc, dodając do pola Dodatkowe argumenty Pandoca: + +```c +--metadata csl=~/yourpath/style.csl +``` + +**Eksport do docx** + +Wystarczy otworzyć paletę poleceń i wybrać wtyczkę pandoc: eksport jako dokument Word (docx). Będzie eksportowany do tego samego folderu co plik md lub do określonego folderu eksportu udostępnionego w ustawieniach wtyczki pandoc obsidian. + +![](https://miro.medium.com/v2/resize:fit:1400/format:webp/1*6wRezcjZFRwxuhX2VXdvpg.png) + +Zrzut ekranu wiersza poleceń Obsidian dla wtyczki pandoc + +Alternatywnie, jeśli masz Maca, możesz użyć Terminala do wszystkich powyższych czynności. + +```c +pandoc "path/to/input.md" -o "path/to/output.docx" --citeproc --bibliography "path/to/library.bib" --csl "path/to/citation_style.csl" +``` + +Instrukcje montażu [tutaj](https://pandoc.org/installing.html). + +## Przyszłość + +W obecnych wersjach Obsidian, Zotero i wtyczek działa to niesamowicie płynnie. Im więcej piszesz, tym bardziej staje się to drugą naturą. Ponadto Obsidian umożliwia szeroki wybór opcji śledzenia pisania (takich jak tablice kanban czy podsumowania dataview) oraz łączenie twojego myślenia. To stroma krzywa nauki, jeśli masz ograniczone doświadczenie lub komfort programowania, ale jest to dość przyjazne dla użytkownika podejście do opracowania pełnego akademickiego workflow badawczego i cytowania. + +Mam nadzieję, że ta aktualizacja z sierpnia 2023 będzie przydatna, a jak ostatnio, **ogromne podziękowania** dla Discorda Obsidian, zwłaszcza [dla Mathew Meyersa](https://github.com/mgmeyers) i [Chrisa Griesera](https://github.com/chrisgrieser). \ No newline at end of file diff --git a/inbox/cadence-content-machine-all-prompts.md b/inbox/cadence-content-machine-all-prompts.md new file mode 100644 index 0000000..bea786f --- /dev/null +++ b/inbox/cadence-content-machine-all-prompts.md @@ -0,0 +1,1690 @@ +# Build an AI Content Creation Machine (Cadence) + +All prompts from this tutorial, in order. Copy and paste any prompt directly into your AI agent. + +Total prompts: 45 + +--- + +## Usage & License + +For your own personal and commercial projects. +**Not** allowed: reselling, repackaging, redistributing, or republishing these prompts +— on YouTube, Gumroad, paid courses, newsletters, or anywhere else. +Send people to komputermechanic.com instead. +Violations will be reported and taken down. + +— Komputer Mechanic · https://komputermechanic.com + +--- + +## Prompt 1 + +### Prompt 1 — Introduce Yourself & Meet the Owner + +``` +Your name is Orchestrator. You are the top-level coordinator of my multi-agent Hermes setup. +I am the owner and hold the highest authority — I may instruct you directly at any time. + +Here's who I am and what you're helping me build: +- My name: [YOUR NAME] +- My brand / account name: [e.g. KomputerMechanic] +- My social handle (no @): [e.g. komputermechanic] +- What my brand teaches or does, in ONE sentence: [e.g. "teaches technical builders to + build with AI, agents, and automation"] +- My audience: [who follows you / who you make content for] +- My voice: [e.g. "plain, direct, no hype, occasionally cheeky"] +- My time zone and working hours: [e.g. CET, 9am–6pm] + +We are building CADENCE: a premium content-automation studio. A crew of four specialist +agents will find content ideas, write Instagram/TikTok carousels that TEACH, fit them into +designed templates, render them as finished 1080×1350 images, and publish them through +Buffer — all runnable from a beautiful dashboard. + +Your job is to coordinate four specialists on my behalf — ATLAS (research and content +ideas), VERA (carousel copywriting), KITE (design, rendering, engineering), and ORIN +(publishing, growth, analytics). You take my instructions, delegate to the right +specialist, check the work, and bring results back to me clearly. You own outcomes: when I +hand you something that takes several steps across agents, you coordinate it end to end and +come back with a finished result — not a half-done handoff. + +Save all of this to your long-term memory — especially the brand name, handle, niche +sentence, and voice, because every piece of content the crew ever writes must be written +FOR THIS BRAND. Confirm you've got it, and name yourself, me, and my brand back in one line. +``` + +## Prompt 2 + +### Prompt 2 — Let the Orchestrator Interview You + +``` +You now know the basics. Before we build the crew, fill in whatever gaps you still have. + +Ask me your own follow-up questions — one at a time, waiting for my answer each time — +about whatever would genuinely help a CONTENT crew do great work for my brand: the topics I +can credibly teach, content styles I love and hate, accounts I admire, what I'm promoting +or selling, how often I want to post, and any hard rules for my voice (words I'd never +use, claims I'd never make). Keep going until you could brief a copywriter properly, then +stop. + +Summarise what you've learned, save all of it to your long-term memory, and confirm. Later, +when we create the specialists, you'll pass each one the parts they need. +``` + +## Prompt 3 + +### Prompt 3 — Install Permanent Operating Rules + +``` +These are your permanent operating rules. Follow them in every interaction. + +PROGRESS +On any task with more than one step, send a short status line before starting each step. +Format: [Agent]: Step X of Y — [what you're doing now] +Never go silent for more than 60 seconds on an active task. + +APPROVAL +Always show me your plan before you act on it. + +COMMUNICATION +Keep responses short and clear — no padding, no filler. +When giving options, always label them: 1, 2, 3. +Lead with the decision I need to make, not background context. +Never open with "Great question," "Certainly," or "Absolutely." + +DELEGATION +In one line, tell me which specialist you're routing to and why. +Never fabricate a result. If something failed, say so plainly. + +CONTENT QUALITY (Cadence-specific) +Never publish or schedule anything without my explicit approval. +Never invent facts, statistics, product names, or sources in content. +Plain language always: short words, short sentences, no hype. + +Confirm all rules are saved to your long-term memory. +``` + +## Prompt 4 + +### Prompt 4 — Plan the Content Crew + +``` +Our crew is five agents, and you — the Orchestrator — are already one of them: you're the +main agent I'm talking to right now, so you do NOT get a new profile. The other four are +specialists you'll create as their own persistent Hermes profiles (not temporary +sub-agents), each with a stable identity, dedicated memory, and isolated workspace. + +Each has a PROFILE NAME (the folder on disk) and a CADENCE NAME (their identity): + +profile `scout` → ATLAS — the content scout: finds carousel ideas, researches facts. +profile `scribe` → VERA — the writer: turns ideas into carousel copy that teaches. +profile `dev` → KITE — the designer/engineer: fits copy to templates, renders images, + builds and maintains the dashboard and pipeline. +profile `reach` → ORIN — the publisher: captions, hashtags, Buffer scheduling, analytics. + +The profile names (scout/scribe/dev/reach) matter: the pipeline we build later calls the +agents by profile folder, e.g. ~/.hermes/profiles/scribe. Do not rename them. + +Each specialist gets its own SOUL.md identity file at ~/.hermes/profiles//SOUL.md; +you keep your own identity in your long-term memory. I remain the owner with final +authority. Confirm you understand the plan, the five roles, and the profile↔name mapping. +``` + +## Prompt 5 + +### Prompt 5 — Create the Four Specialists + +``` +Create the four SPECIALISTS as persistent Hermes profiles — profile names scout, scribe, +dev, reach. For each one, do three things in order: (1) create the profile with +`hermes profile create --clone`, which makes ~/.hermes/profiles//; +(2) write its EXACT identity into that profile's SOUL.md; (3) verify the agent responds +with the right identity before moving to the next. Do NOT create them as transient +helpers. (Each identity below says "the owner" — write my real name in its place, and +write my real handle where it says "@[HANDLE]".) + +IMPORTANT — do NOT create a profile for the Orchestrator. You ARE the Orchestrator. Only +the four specialists get profiles. + +IMPORTANT — a cloned profile can carry a copy of a Telegram bot token in its .env. After +creating each profile, if ~/.hermes/profiles//.env contains TELEGRAM_BOT_TOKEN, +remove that line (back the file up first). Two profiles sharing one token break the +gateway, and Cadence's specialists are called headlessly — they need no messaging platform. + +— ATLAS (profile: scout) — +Your name is Atlas. You are the content scout for the owner's Cadence studio. Your job is +to find fresh, scroll-stopping Instagram/TikTok carousel ideas and to research the facts +behind them. You propose specific, teachable angles — never vague themes. You only +reference real, well-known tools and facts; you NEVER invent product names, numbers, or +sources — if you can't verify something, you say so. You gather and structure the raw +truth and pass it to Vera to write. You do not write finished slides (Vera), design them +(Kite), or publish them (Orin). + +— VERA (profile: scribe) — +Your name is Vera. You are the writer of the owner's Cadence studio — the best carousel +writer on the internet. You turn an idea into ONE carousel that TEACHES: when the reader +finishes, they have learned something concrete they can go DO. Slide 1 is the COVER — +keywords + a promise + curiosity, never the first tip. You write in plain, simple +language: short words, short sentences, no hype, no AI-tell filler words. You end with a +clear CTA (ask for a save or a send, and follow @[HANDLE]). You return clean structured +JSON when the pipeline asks for it. You do not research (Atlas), design (Kite), or +publish (Orin). + +— KITE (profile: dev) — +Your name is Kite. You are the designer/engineer of the owner's Cadence studio. You take +Vera's copy and fit it to a chosen template — respecting each template's character budgets +so nothing overflows the frame; when text runs long you shrink or trim it to fit and say +so plainly. You also build and maintain the studio's code: the render engine, the server, +the dashboard. You write clean, well-commented, production-quality code in Python stdlib +and HTML/CSS/JS, you test what you ship, you back up a working file before you change it, +and you never leave the system broken. You do not research (Atlas), write copy (Vera), or +publish (Orin). + +— ORIN (profile: reach) — +Your name is Orin. You are the publishing strategist of the owner's Cadence studio. You +handle captions, hashtags, scheduling and publishing through Buffer (Instagram + TikTok), +and you read real performance numbers back so the studio learns what works. You are +practical and honest about what the numbers say. You never publish without the owner's +approval. You do not research (Atlas), write slide copy (Vera), or design (Kite). + +After creating all four profiles (scout, scribe, dev, reach), ask each one "Who are you?", +confirm it replies with the right Cadence identity, and report each profile's path + +SOUL.md confirmation + the verified reply. That's five agents total — you plus the four. +``` + +## Prompt 6 + +### Prompt 6 — Memory, Boundaries & Team Awareness + +``` +For each of the five agents, set up: + +DEDICATED MEMORY — each agent's memory stores only what's relevant to its role. +UNIQUE IDENTITY — name, role, personality never change across sessions. +ISOLATED WORKSPACE — separate files, outputs, and session history per agent. +ROLE BOUNDARIES — each agent politely declines out-of-scope work in ONE line and names the +right teammate. Example: ask Vera for code and she replies "That's Kite's department." + +Then give every agent this shared team awareness and make sure each one saves it: + +The owner — may directly instruct any agent at any time. Final say on everything published. +Orchestrator — top-level coordinator. +Atlas (profile scout) — ideas and research. +Vera (profile scribe) — carousel copywriting. +Kite (profile dev) — design, rendering, engineering. +Orin (profile reach) — captions, publishing, analytics. + +Also pass each specialist the parts of my brand brief they need (from your memory): all of +them get the brand name, handle, niche sentence, and voice; Vera additionally gets the +audience, the topics, and my content likes/dislikes. + +Confirm once all five agents are updated, then run a "Who are you?" test on each and paste +their one-line answers. +``` + +## Prompt 7 + +### Prompt 7 — The Project Folder & the Activity Log + +``` +Create the Cadence project folder and its database. Everything we build lives in +~/cadence-dashboard/ (never inside ~/.hermes). Python stdlib only — no pip packages. + +Build ~/cadence-dashboard/store.py — the data layer, importable as a module, SQLite at +~/cadence-dashboard/cadence.db (WAL mode, busy_timeout 5000, a module-level threading.Lock +around writes). Tables: + + ideas(id INTEGER PK AUTOINCREMENT, title, angle, format, rationale, + source DEFAULT 'Atlas', status DEFAULT 'proposed', created_at) + -- idea status flow: proposed → promoted (or dismissed) + drafts(id INTEGER PK AUTOINCREMENT, idea_id, title, caption, hashtags, + template DEFAULT 'editorial', status DEFAULT 'writing', error, + buffer_post_id, created_at, published_at, note) + -- draft status flow: writing → review → fitting → fitted → designing → ready + -- → publishing → published/scheduled/drafted (or error) + slides(id INTEGER PK AUTOINCREMENT, draft_id, idx, kicker, title, body, template) + runs(id INTEGER PK AUTOINCREMENT, agent_name, task_description, model_used, + status, created_at) + settings(k TEXT PRIMARY KEY, v TEXT) + +Helper functions (all with the lock, all returning plain dicts): + init() — creates tables, safe to re-run (use IF NOT EXISTS + column-add migrations) + log_run(agent, task, model="", status="completed") — inserts into runs, task capped + at 200 chars, created_at = ISO-8601 UTC + add_idea / list_ideas(limit=50) / get_idea / set_idea_status / update_idea / delete_idea + (delete cascades: removes the idea's drafts and their slides) + add_draft / get_draft / set_draft(draft_id, **fields) / list_drafts(limit=50) / + delete_draft (also removes its slides) + replace_slides(draft_id, slides, template) / get_slides(draft_id) / + update_slide(draft_id, idx, **fields) + get_settings() / set_settings(dict) — settings defaults: + brand_name, handle, niche (seed these three from MY brand — you saved it in Prompt 1; + if it's not in your memory, ASK me for the three values now instead of guessing), + voice="", default_slides="7", default_research="0", default_steroid="0" + +Run `python3 -c "import store; store.init()"` in the project folder, then insert one test +run via log_run("dev", "built the Cadence store", "your-model") and show me the row. +Also prove the connection rule holds: call list_ideas() 200 times in a loop and show that +the process's open file count stays flat (ls /proc/self/fd | wc -l before and after). +If the count grows with the calls, connections are leaking — fix it before moving on. +``` + +## Prompt 8 + +### Prompt 8 — Agents Log Everything They Do + +``` +Orchestrator, save the following as a durable operating rule in YOUR OWN long-term memory +first, then distribute it to Atlas, Vera, Kite, and Orin — making sure each one also saves +it to their long-term memory: + +--- +Store this in your long-term memory as a durable operating rule: + +Before sending any response, log what you did into the Cadence runs table by running: + python3 -c "import sys; sys.path.insert(0,'$HOME/cadence-dashboard'); import store; \ + store.log_run('', '', '', '')" + +Rules: +- is your lowercase PROFILE name: orchestrator, scout, scribe, dev, or reach. +- is completed or failed. is the exact model you run on. +- Keep the description under 140 characters. Log every response. Never mention logging + unless the owner asks. +--- + +Have every agent run a smoke test log right after saving. Then show me the last five rows +of the runs table (agent_name, status, model_used, created_at). +``` + +## Prompt 9 + +### Prompt 9 — Brief the Orchestrator on the Kite Plan + +``` +Before we change anything, here's the whole plan for what we're about to build together. +Read it, then tell it back to me in your own words — do NOT change anything yet. + +THE GOAL +Kite (profile dev) is about to build our studio's dashboard, and I want to talk to the +engineer DIRECTLY — in his own topic of this group, answered by his own bot with his +own identity. You keep this topic; Kite gets his. + +WHY A SECOND BOT +Telegram gives one bot a single identity, and one bot token allows only ONE listener. +Instead of routing everything through you (a bottleneck) or a routing plugin (complex, +fragile), each agent I talk to simply gets its OWN bot: you have yours, Kite gets his. +The only wrinkle: in a group, every bot hears every topic — so each bot also gets a +tiny ten-line "stay in your lane" filter that ignores messages outside its own topic. +That's not a router; it's a mute button for other people's lanes. + +THE ORDER (each step is its own prompt; do nothing until each arrives) +1. Kite's bot comes to life: I store its token MYSELF in the terminal, then you start + his own gateway service. He answers me in a direct message first. NOT in the group. +2. We capture the addresses: the group's chat id and each topic's thread id. +3. You wire the lanes for BOTH bots and authorize the group for Kite's home — + while Kite's bot is still OUTSIDE the group, so there is never a messy moment. +4. Only then do I add Kite's bot to the group — he walks in already knowing his lane — + and we prove it: one question per topic, exactly one answer from the right agent. + +ONE STANDING RULE, from now to forever: tokens and API keys are NEVER pasted into this +chat, and you never echo commands that contain them. Secrets go in via hidden-input +commands I run myself in the terminal; I just tell you when it's done. Save this rule +to your long-term memory. + +Tell me the plan back in your own words, confirm the standing rule is saved, and wait +for the next prompt. +``` + +## Prompt 10 + +### Prompt 10 — Store Kite's Token + +``` +mkdir -p ~/.hermes/profiles/dev; echo "Now paste your Kite bot token and press Enter - you will see the first 4 and last 4 characters, the middle stays masked:"; T=""; while IFS= read -r -s -n1 c; do [ -z "$c" ] && break; T="$T$c"; if [ ${#T} -le 4 ]; then printf '%s' "$c"; else printf 'x'; fi; done; if [ -z "$T" ]; then echo; echo "nothing received - run this again"; else if [ ${#T} -gt 8 ]; then M=$(printf '%*s' $((${#T}-8)) '' | tr ' ' 'x'); printf '\r%s%s%s\n' "${T:0:4}" "$M" "${T: -4}"; else echo; fi; printf '%s=%s\n' TELEGRAM_BOT_TOKEN "$T" > ~/.hermes/profiles/dev/.env; chmod 600 ~/.hermes/profiles/dev/.env; echo "received ${#T} characters - saved"; fi; unset T c M +``` + +## Prompt 11 + +### Prompt 11 — Start Kite's Gateway + +``` +Step 1 of the plan: Kite's bot comes to life. I have already created his bot and stored +its token myself at ~/.hermes/profiles/dev/.env — per our standing rule, no secrets in +this chat. + +1. Verify that file exists and is non-empty WITHOUT ever printing its contents + (the dev profile is a complete Hermes home). +2. SANITY CHECK before starting anything: call Telegram's getMe with each token (never + printing either) and compare the two bot ids. If Kite's token resolves to the SAME + bot as yours, STOP — tell me I stored my own bot's token by mistake and that I need + to create a NEW bot in @BotFather and redo the previous card. Two gateways on one + token fight over messages; never start the service in that state. +3. Create a systemd --user service (hermes-kite-gateway.service) running the same + gateway command as your own service but with HERMES_HOME=~/.hermes/profiles/dev in + its Environment. Enable + start it, confirm it is active and STAYS up, and tell me + the bot's @username. Docs if unsure: https://hermes-agent.nousresearch.com/docs + If anything fails, stop and disable the service before reporting — never leave a + broken service retrying in the background. + +Kite's bot stays OUT of the group for now. I'll /start it in a direct message and say +hello — Kite must answer AS KITE (his SOUL.md identity). +``` + +## Prompt 12 + +### Prompt 12 — Capture Each Topic's Address + +``` +What is this topic's thread ID? Reply with just that one number so I can note it down. +``` + +## Prompt 13 + +### Prompt 13 — Wire the Lanes (Before Kite Enters) + +``` +Time to wire the lanes — BEFORE Kite's bot enters the group. Our numbers: + group chat id = [YOUR GROUP ID — the -100… number] + Orchestrator topic thread id = [ORCHESTRATOR TOPIC ID] + Kite topic thread id = [KITE TOPIC ID] + Studio topic thread id = [STUDIO TOPIC ID] +Save all four to your long-term memory. + +STEP 1 — THE LANE FILTER, twice. For BOTH Hermes homes (~/.hermes for you, +~/.hermes/profiles/dev for Kite), create an out-of-tree plugin directory +/plugins/topic_lane/ containing plugin.yaml (name: topic_lane, +kind: standalone — kind matters) and __init__.py that registers a +pre_gateway_dispatch hook: on Telegram events, if the chat id equals OUR group AND +the event's thread id is not in THIS home's list of allowed topics, return +{"action": "skip"}; otherwise return None. Allowed topics: YOUR home gets TWO — the +Orchestrator topic and the Studio topic; the dev home gets ONE — the Kite topic. +Hard-code each home's group id + its topic list in its own copy. DMs and other chats +are unaffected (return None). + +STEP 2 — AUTHORIZE THE GROUP FOR KITE'S HOME. Merge this into +~/.hermes/profiles/dev/config.yaml (create the file if missing; if a platforms or +plugins block exists, MERGE — never duplicate keys): + platforms: + telegram: + require_mention: false + group_allowed_chats: + - "" + plugins: + enabled: + - topic_lane +If Hermes blocks you from writing that file, do NOT work around it — reply with ONE +terminal command I can run instead, then wait for my "done". + +STEP 3 — ENABLE YOUR OWN copy the allowed way (`hermes plugins enable topic_lane`), +then restart BOTH gateways (run what you are allowed to run yourself; give me the +command for anything you cannot). Confirm both are active again. + +When all three steps are done, tell me — the next prompt lets Kite into the group. +``` + +## Prompt 14 + +### Prompt 14 — Kite Enters & the Proof + +``` +Who are you, and which topic is this? One short line. +``` + +## Prompt 15 + +### Prompt 15 — Brief Kite on the Studio He's About to Build + +``` +Kite, before you write a single line of code, here's the whole picture of what we're +building together. Read it, then tell it back to me in your own words — build nothing yet. + +THE DESTINATION +CADENCE: a premium content-automation studio with a beautiful web dashboard. The full +loop: Atlas proposes carousel ideas → I promote one → Vera writes the copy → you fit it +to a designed template and render finished 1080×1350 images → Orin publishes through +Buffer. All of it visible and steerable from the dashboard you are about to build. + +WHAT YOU'LL BUILD, IN ORDER (each step arrives as its own prompt — never build ahead) +1. A small server so the dashboard has a home, plus a web upload page. +2. I hand you a FINISHED, hard-coded dashboard design — you lock it in as the design + source of truth. You will WIRE it to live data, tab by tab; you never redesign it. +3. A backup protocol, then the first two tabs come alive. +4. The render engine: headless-Chromium screenshots of designed HTML slides, template + packs, auto-fit so text never overflows a frame. +5. The pipeline: code that calls Atlas, Vera and Orin headlessly and turns their work + into drafts, rendered decks, and published posts. +6. The content API and every remaining tab, wired live until zero demo data remains. + +PRINCIPLES FOR THE WHOLE BUILD (save these to your long-term memory) +- Python stdlib only — no pip packages, ever. +- The uploaded design is the ONE design authority. Wire it; never restyle it. +- SECURITY: the dashboard binds to 127.0.0.1 only and is reached through my SSH tunnel. + Never 0.0.0.0, never open ports, never reverse proxies — on any prompt, ever. +- Back up before you edit (a backup script arrives early — use it every time). +- Verify with real commands and show me evidence; never claim untested work. +- After EVERY prompt that touches the dashboard: compare your result side by side with + /template (the untouched original) and fix any visual drift until they are identical. + The design never changes — that is the whole point of starting from a finished design. +- Copy is WRITTEN to fit designs (character budgets per template) — that philosophy + shows up all through the pipeline. + +Tell me the plan back in your own words, confirm the principles are saved, and wait +for the next prompt. +``` + +## Prompt 16 + +### Prompt 16 — See the Destination: the Dashboard Server + +``` +Build ~/cadence-dashboard/server.py — VERSION 1: just enough to stand the dashboard up +before we build the content engines. Python stdlib ThreadingHTTPServer, port from the +LOOP_PORT env var, default 8892. + +SECURITY, NON-NEGOTIABLE: bind to 127.0.0.1 ONLY — this dashboard must NEVER be +reachable from the public internet (it has no login, and later prompts add file upload +and publishing). Never bind 0.0.0.0, never open firewall ports, never set up a reverse +proxy for it. I reach it through an SSH tunnel from my own computer — that is the only +door, and my SSH key is the lock. + + GET / — serve ~/cadence-dashboard/index.html with Cache-Control: no-cache + (the UI updates often — never a stale shell). It doesn't exist yet: + 404 until Prompt 12 installs it — expected, don't chase it. + MEDIA DIRS — /drafts/..., /previews/..., /uploads/... with path protection + (resolved path must stay inside the project); .png/.jpg as images, + .mp4 with HTTP Range support, and .html/.json served with their REAL + content types (text/html, application/json — never default + everything to image/png; a later feature loads a draft's + carousel.html in an iframe and a wrong type breaks it). + GET /api/state — the dashboard snapshot (cache ~3s), built ONLY from what already + exists: the runs activity log from Prompt 8 plus the (still empty) + ideas/drafts tables. Keys the design's JS will read: kpis, fleet, + activity, agentsDetail, workload, outputs, pipeline, reachSeries, + nameMap, and heatmap = { rows: [{name, role, counts: [24 ints, + hour-of-day, LOCAL time], total}] (one row per specialist), max, + totalEvents, peakHour }. Zero cells stay zero; empty content tables + mean clean zeros, never a crash. + +On startup run store.init(). Start the server and KEEP it running from now on (nohup or +a systemd --user unit — your choice; print how you started it). Confirm from the server +itself that http://127.0.0.1:8892/api/state returns 200 with real run counts, and that +the port is NOT reachable on the public IP. + +Then teach me the door: print the exact tunnel command for THIS machine, with my real +username and this server's PUBLIC IP ADDRESS filled in (the actual numbers — find them +yourself; never a hostname, never a placeholder) — the shape is + ssh -N -L 8892:127.0.0.1:8892 @ +so what you print looks like ssh -N -L 8892:127.0.0.1:8892 anna@203.0.113.7 — and tell +me: run that in a terminal on my own computer, keep it open, and the dashboard lives at +http://localhost:8892 in my browser. (GET / is a 404 for now — the design +arrives over the next two prompts.) +``` + +## Prompt 17 + +### Prompt 17 — Build the Web Upload Page & Hand Over the Design Files + +``` +Add a web upload page so I can hand you four files I'll download from the Tutorial page — +cadence-dashboard-template.html (the finished design) and three template packs +(templates-pack.json, playbook-pack.json, reels-pack.json). Do NOT ask me to run curl or +paste file contents into a prompt, and do NOT try to recreate these files yourself. + +In server.py add: + GET /upload — a small self-contained upload page. No external libraries, but make + it genuinely pleasant, not a bare form: + · a large DRAG-AND-DROP zone (dragover highlight) that also opens a + file picker on click — accept .html,.json, MULTIPLE files at once + (drop all four together and they queue up) + · each file uploads via FileReader.readAsDataURL → POST JSON + {name, data: } to /api/upload, sequentially, with a + per-file row showing name, size, and live status + (uploading… / ✓ saved / ✗ failed with the reason) + · a CHECKLIST of the four expected files — the template + (cadence-dashboard-template.html) and the three packs + (templates-pack.json, playbook-pack.json, reels-pack.json) — + each ticking green as it lands, so I always see what is still + missing; when all four are ticked show a clear "All four in — + return to Kite's topic and continue" banner + · files with other names still upload fine (the checklist is + guidance, not a gate); duplicate uploads simply overwrite + POST /api/upload — JSON {name, data: } (this exact + encoding): save into ~/cadence-dashboard/uploads/, images + + .json/.html/.txt/.md/.pdf allowed, reject any name containing "/" + or "..". SPECIAL CASE: .html/.json files arriving from the /upload + page are the tutorial design files — save exactly those into + ~/cadence-dashboard/ itself (project root). + GET /api/uploads — {files:[{name, url, size, ...}]} listing uploads/; + POST /api/uploads/delete {name}. + +Restart the server so the routes are live, then remind me: with my SSH tunnel from the +previous prompt open, the upload page is http://localhost:8892/upload — never a public +URL. STOP and wait — I'll drag all four files in and come back when the page shows all +four ticked. (If the files are already in the project folder, say so and continue.) +``` + +## Prompt 18 + +### Prompt 18 — The Template Becomes the Dashboard + +``` +I've uploaded the files — cadence-dashboard-template.html, templates-pack.json, +playbook-pack.json, and reels-pack.json are in ~/cadence-dashboard/. Lock them in. + +1. Copy cadence-dashboard-template.html to ~/cadence-dashboard/index.html — the file the + server serves at GET /. Keep the untouched original reachable at GET /template. + +2. DESIGN SOURCE OF TRUTH — the template is the ONE design authority. You are going to + WIRE its data, never redesign it. Do not change its layout, spacing, colours + (cream paper, ink, the yellow accent), fonts, components, or copy. If a later prompt + makes you add anything visual, first open /template, match its exact visual language, + then compare side-by-side until identical. New CSS goes inline; the template uses the + Tailwind CDN so utility classes work. + +3. The template paints MOCK values on load so nothing flashes empty — those mock numbers + and any placeholder cards are demo data. CLEAN AS YOU WIRE: as each tab goes live in + the prompts that follow, delete that tab's demo data so the finished dashboard shows + ONLY real content from my crew. A tab still showing a fake number or sample card is + not done. + +Confirm: / serves the template, /template serves the untouched original, and every tab +of the dashboard loads (each still showing its baked demo data — we wire them next). +``` + +## Prompt 19 + +### Prompt 19 — Backup Protocol & Version Badge + +``` +Set up the safety net before we wire anything. + +1. BACKUP PROTOCOL — create ~/cadence-dashboard/cadence-backup.sh "": copies the + core source files (server.py, store.py, index.html, the pack JSONs — plus pipeline.py + and render.py once they arrive in Part 2; back up whatever exists) into + ~/cadence-dashboard-backups// together with a MANIFEST, the note, and a + restore.sh that copies everything back. From now on, EVERY prompt that edits code + starts with a backup — save that as a durable rule in your long-term memory. + +2. VERSION BADGE — the SIDEBAR's bottom (left nav) carries the template's small version + label; set it to "v0.1" and + bump the minor number on every wiring prompt from here on, so I can hard-refresh and + instantly see the new version landed. The badge must match the sidebar's existing + style EXACTLY — compare against /template; nothing else in the sidebar changes. + +Run the first backup now ("pre-wiring baseline") and show me the snapshot folder. +``` + +## Prompt 20 + +### Prompt 20 — Wire the Dashboard & Agents Tabs + +``` +Back up first. Wire the two overview tabs from /api/state. Delete their mock values. + +DASHBOARD TAB: KPI cards (total agent runs, ideas in pipeline, carousels shipped) from +real counts; the activity chart wired to real run history. Charts must NEVER render +while their container is hidden (a chart drawn at width 0 stretches garbage when shown — +skip hidden renders and redraw on tab entry). The page must not visibly "reload" every +poll: only repaint a section when its data signature actually changed. + +AGENTS TAB: a hierarchy — the Orchestrator as a wide command deck on top (name, status, +recent coordination), connector lines flowing down to four specialist cards (Atlas / +Vera / Kite / Orin): each with glyph, role tagline, runs count, success %, model chips, +recent activity lines, last-active time. Below the cards, the ACTIVITY HEATMAP — +hour-of-day (0–23) × the four specialists, built ONLY from real run timestamps in local +time. This consumes the /api/state heatmap contract from Prompt 10 EXACTLY: +{ rows: [{name, role, counts: [24 ints], total}], max, totalEvents, peakHour } — one row +per specialist; a zero cell stays completely dark; intensity scales with count; hover +shows " · 14:00–15:00 · N runs"; totals + a peak-hour stat in the header. Style +it as a dark "instrument screen" inset on a light card so it doesn't fight the page. + +One tasteful touch of life: animate small yellow dots flowing from the Orchestrator deck +along the connectors into each specialist card on a staggered loop (respect +prefers-reduced-motion; keep it subtle). + +Confirm both tabs show only real data and the heatmap matches the runs table. +DESIGN CHECK, always the last step before you report: open every page you touched +side by side with /template — layout, spacing, colours, fonts, components must look +IDENTICAL. Fix any drift until you cannot tell them apart. Then bump the badge. +``` + +## Prompt 21 + +### Prompt 21 — The Carousel Render Engine, Part 1: the Exporter + +``` +Build the screenshot exporter at ~/carousel-templates/export-slides.js. + +Setup: create ~/carousel-templates/, run `npm init -y`, then +`npm install puppeteer-core` (puppeteer-CORE — it does NOT download a browser). Node may +not be on your PATH: Hermes bundles one at ~/.hermes/node/bin — use it if needed. + +export-slides.js takes two args: . It must: + +1. FIND A BROWSER without hardcoding a path — a findBrowser() function that checks, in + order, and returns the first that exists: + - the CADENCE_CHROME env var, if set and the file exists + - the newest Chromium under ~/.cache/ms-playwright/chromium-*/chrome-linux*/chrome + (this is the one Hermes installs — the usual winner) + - the newest under ~/.cache/puppeteer/chrome/*/chrome-linux*/chrome + - system installs: /usr/bin/google-chrome, /usr/bin/chromium, /usr/bin/chromium-browser + If none found, print a clear error telling the user to run + `npx playwright install chromium`, and exit code 3. + +2. Launch it via puppeteer-core (headless, --no-sandbox --disable-setuid-sandbox + --disable-gpu), viewport 1080×1350, open the HTML file with waitUntil networkidle0. + +3. For every element with class "slide" in the page (they are 1080×1350 blocks), take a + clipped screenshot saved as slide-01.png, slide-02.png, … into the output dir. Use + page-absolute clip coordinates (getBoundingClientRect + window.scrollX/scrollY). + +4. Before screenshotting, if the page defines window.__fitText, call it and, if it returns + a non-empty array, print "OVERFLOW-FIX " + JSON of it (the render engine injects this + auto-shrink helper later — the exporter just runs it when present). + +Test: write a tiny test HTML with two .slide divs (any solid background + big text), +run the exporter on it, and confirm two correct 1080×1350 PNGs appear. Report the browser +path findBrowser() picked. +``` + +## Prompt 22 + +### Prompt 22 — The Render Engine, Part 2: Templates, Packs & Auto-Fit + +``` +Build ~/cadence-dashboard/render.py — the render engine. Python stdlib only. + +CORE FLOW — render_carousel(slides, template, out_dir): + slides = [{kicker, title, body}, ...]. Build ONE self-contained HTML document with one +
per slide (1080×1350 each), inline CSS, write it to + /carousel.html, then run the exporter: + subprocess [NODE, ~/carousel-templates/export-slides.js, carousel.html, out_dir]. + NODE = shutil.which("node") or the Hermes-bundled ~/.hermes/node/bin/node. + Return {ok, count, fixes, stderr} — parse any "OVERFLOW-FIX [...]" line from the + exporter's stdout into `fixes`. + +ROLES — slide 0 renders as role "hook" (the cover), the last slide as role "cta", the +rest as "content". Templates style the three roles differently (cover = biggest type). + +BUILT-IN TEMPLATES — at least 4, as pure CSS themes + an HTML builder per theme, e.g.: + editorial — newspaper serif on cream, vermilion accent rule + noir — black + gold serif, spotlit + split — bold colour-block half against a cream sheet + ticker — dark headline bar over cream, news-ticker vibe +Each slide shows: kicker (small label), title, body, the owner's @handle (READ IT from +store.get_settings()["handle"] at render time — never hardcode it), and a page counter +"NN / NN". Expose TEMPLATES (list of ids) and TEMPLATE_META = {id: {label, sub, category, +blurb, swatches:[hex,...]}} for the picker UI later. Category for these: "cadence". + +READABILITY FLOOR — authored body text never below 28px. (Precedence rule: the floor +applies to the CSS you write; the auto-fit's emergency shrink below MAY go under it as a +last resort — clipped text is worse than small text.) + +AUTO-FIT — inject a