// 2026-05-16 · 5 min

Obsidian + Claude Code: vault jako scaler między NotebookLM, Linear i voice-inbox

Obsidian + Claude Code: vault jako scaler między NotebookLM, Linear i voice-inbox

TL;DR

Mam vault w Obsidianie, w którym chcę, żeby Claude Code umiał czytać i pisać. Nie jako kolejne narzędzie do notatek — jako spoiwo między tym, co już mam: NotebookLM (research), Linear (issues), voice-inbox (głos → tekst). Plan: obsidian-mcp-server + trzy konkretne hooki/skille. To jest stan „wiem co chcę, robię to w małych krokach”, nie „zrobiłem, działa produkcyjnie”.

Kontekst

Prowadzę 30+ projektów klienckich jako freelancer. Notes były rozsypane: trochę w iOS Notes, trochę w Apple Reminders, trochę w Linear jako descriptions, trochę w markdown w repo projektu. Konsekwencja: co drugi dzień przeszukuję gdzie to było, zamiast pracować.

Vault w Obsidianie założyłem tydzień temu z prostą strukturą:

00-Daily/        # capture bufor, timestampy — tu wpada wszystko z głowy
10-Projects/     # aktywny projekt = MOC (Map of Content)
20-Learning/     # notatki techniczne, AHA-moments
30-Resources/    # linki, PDF-y, reference
90-Meta/         # templates

Flow: capture ląduje w daily note → weekly review (piątek) przesiewa → Projects/Learning zyskuje strukturę.

Na razie mam 8 notatek. Cały system testuję „na sobie”. Dopiero jak się okaże że ta architektura mi pasuje, wchodzi automacja.

Dlaczego nie same notatki + CC w terminalu

Bo tracę kontekst. Claude Code w terminalu nie wie co napisałem wczoraj w daily note. Nie przeczyta project MOC, żeby zorientować się w stanie projektu. A ja nie chcę za każdym razem wklejać mu 500 linijek kontekstu.

Vault powinien być stanem, który CC czyta jak bazę danych. Zapisałem „klient X chce feature Y do końca tygodnia, blokerem jest auth” — następnej sesji CC to wie, bez mojego kopiowania.

Plan: trzy integracje

1. obsidian-mcp-server — read/write do vaulta

cyanheads/obsidian-mcp-server to MCP server (nieoficjalny, aktywny), który wystawia vault jako tools dla CC: read_note, write_note, list_notes, search. Wymaga zainstalowania w Obsidianie pluginu Local REST API (oficjalny, core community plugin) i wrzucenia config do ~/.claude/claude_desktop_config.json.

Co to daje: – „Zobacz co mam w 10-Projects/stroniarz-pl.md, dopisz sekcję z dzisiejszego commita.” – „Znajdź wszystkie notatki z tagiem #blocker i zrób mi z nich tabelę.” – „Dopisz do dziennika pod dzisiejszą datą: deploy voice-inboxa na żywo, działa.”

Status: zbadane, plugin do zainstalowania, config do napisania. Nie uruchomione jeszcze — bo najpierw chcę mieć co pisać (patrz punkt 2 i 3), a dopiero potem jak.

2. Voice-inbox → daily note (automatycznie)

Mój voice-inbox (lokalna appka, głos → tekst, PWA na iPhonie) już nagrywa dyktafony. Dziś ląduje w logu aplikacji i znika.

Plan: każdy voice capture z PWA leci POST-em na lokalny endpoint → CC (przez MCP) appenduje do dzisiejszego 00-Daily/2026-04-24.md pod sekcją ## Głos:

## Głos

- 08:12 — pomyśl o tym, żeby rozdzielić voice-inbox na dwa serwisy
- 08:45 — klient Kowalski, przypomnij się w piątek w sprawie faktury
- 11:03 — pomysł na wpis: dlaczego używam single-file skryptów zamiast Pythona

Każda bullet to linkowalny atom. W weekly review decyduję: wyrzucam, przekierowuję do Projects (klient Kowalski → jego MOC), przenoszę do ideas.

3. Auto-Log z Linear przy zamknięciu issue

Linear MCP już pouszczam z CC (używam codziennie do search/update issue). Brakuje jednej rzeczy: gdy zamykam issue, chcę żeby do project MOC automatycznie trafiły 2-3 zdania podsumowania — co zrobiłem, dlaczego to było ważne, co to odblokowało.

Flow: hook reagujący na Linear webhook → CC czyta issue + powiązane komentarze → pisze 2-3 zdania → appenduje do sekcji ## Log w odpowiednim MOC-u w 10-Projects/.

To jest rzecz, której nie dostanę kupując oprogramowanie. Jest zbyt specyficzna dla mojego flow. Dlatego CC, nie Zapier — koszt napisania 50 linijek skillu jest mniejszy niż koszt utrzymywania automacji w zewnętrznej platformie.

Dlaczego w tej kolejności

Klasyczny błąd: zacząć od najbardziej „AI” fragmentu (tu: Log z Linear). Zrobić skill w weekend. Okazać się, że nie ma co logować, bo nie zamykam dużo issue. Skill leży, motywacja znika.

Dlatego zacznę od (2) — voice capture → daily note. Dlaczego: – Częstotliwość: 5-10 dyktafonów dziennie. Będę widział efekt natychmiast. – Niski ryzyk: jak zawali, daily note ma pustą sekcję. Nic się nie zepsuje. – Uczy mnie vaulta: zmusi mnie do weekly review, bo bez review 00-Daily/ się zapcha.

Punkt (1) — MCP server — jest warunkiem koniecznym dla (2) i (3), więc idzie równolegle.

Punkt (3) — Log z Linear — dopiero gdy mam zaufanie do MCP pipeline’u i mam ustabilizowany flow.

Czego nie robię

  • Nie przenoszę do vaulta wszystkiego naraz. Iwan-Grozny import z Apple Notes to obietnica bez wartości. Przenoszę notatkę wtedy, kiedy jej potrzebuję — i zostawiam w vault.
  • Nie używam AI-generowanych notatek jako głównego contentu. CC może summaryzować, taggować, łączyć. Ale pisanie notatki to moja robota — bo to pisanie mnie uczy.
  • Nie pakuję wszystkiego w jeden mega-skill. Trzy osobne hooki, każdy jedno zadanie. Łatwiej debuggować.

Co mnie zastanawia (uczciwie)

  • Sync między urządzeniami: vault trzymam w iCloud Drive. Obsidian Sync kosztuje, iCloud jest free. Ale iCloud czasem lubi się zamulić. Jeśli będę pisał do vaulta z CC na Macu i równolegle edytował z Obsidian mobile na iPhonie, obstawiam że prędzej czy później trafię na konflikt. Plan B: Obsidian Sync albo Git-based vault.
  • Privacy: obsidian-mcp-server działa lokalnie, ale CC w trakcie sesji może wysyłać fragmenty notatek do Anthropic. Nie trzymam tam cudzych tajemnic, ale warto świadomie odfiltrować katalogi które mają trafić do AI od tych, które nie mają.
  • Granica między „capture” a „to-do”: voice capture „klient Kowalski, przypomnij się w piątek” to powinno być Reminder, nie notatka. Nie wymyśliłem jeszcze jak wygodnie decydować, co ląduje gdzie. Może kolejny skill — klasyfikator capture.

Linki

Będzie follow-up, jak pierwszy pipeline (voice → daily note) pójdzie na żywo. Ile by to nie miało zająć — miesiąc, trzy.