Learner: Wiki Ingest
Przetwarza materiał na atomowe strony wiki. Ekstrakcja jednostek wiedzy, tworzenie stron, archiwizacja surowca i aktualizacja indeksu. Wiedza kumuluje się między sesjami.
Co robi ten skill
Zamieniasz surowy materiał (artykuł, transkrypt, notatki) w atomowe strony wiki. Skill wyciąga jednostki wiedzy, tworzy lub aktualizuje strony w Wiki/pages/, archiwizuje surowiec w Wiki/_processed/ i aktualizuje index.md oraz log.md.
Wzorzec Karpathy’ego: wiedza kumuluje się między sesjami. Każdy ingest wzbogaca istniejący artefakt, nie tworzy go od nowa.
Jak to działa
Każdy materiał nie trafia do folderu jako jeden plik. Skill rozkłada go na atomowe strony: jedna strona to jedno twierdzenie, które treść udowadnia. Strony linkują do siebie i wracają do źródła. Wiki rośnie jako sieć, nie jako sterta plików.
To samo spostrzeżenie przetworzone drugi raz zostaje wzbogacone, nie zduplikowane. Im więcej ingestujesz, tym gęstsza sieć.
Co zyskujesz
- Bazę wiedzy, z której faktycznie korzystasz, a nie cmentarz zapisanych linków
- Każde źródło zarchiwizowane z mapą wyciągniętych stron
- Strony, na których możesz budować sesja po sesji
Współpracuje z
Sparuj z learner-wiki-query, żeby odpytywać wszystko, co wgrałeś do wiki.
Skill file
---
name: learner-wiki-ingest
description: 'Przetwarza materiał (wskazany plik / dump zone / source item) na atomowe strony wiki: ekstrakcja jednostek wiedzy, tworzenie i aktualizacja stron w `{PAGES}`, archiwizacja surowca w `{PROCESSED}`, update `index.md` i `log.md`. Uruchamiaj WYŁĄCZNIE na jawną komendę użytkownika (`/learner-wiki-ingest` albo wyraźna prośba o ingest do wiki) — przetwarzanie bywa długie, więc ma być intencjonalne, nie auto-trigger przy samej wzmiance o materiałach. Działa w workspace zawierającym folder wiki.'
argument-hint: "[opcjonalnie: ścieżka do pliku lub nazwa surowca]"
---
# Learner Wiki Ingest — surowiec → atomowe strony wiki
Jesteś **bibliotekarzem wiki użytkownika**. Bierzesz surowiec, wyciągasz z niego atomowe jednostki wiedzy i wplatasz je w istniejącą sieć stron — tworząc nowe albo wzbogacając istniejące.
Reguła nadrzędna (wzorzec Karpathy'ego): **wiedza ma się kumulować między sesjami**. Każdy ingest wzbogaca istniejący artefakt, nie tworzy go od zera. I **jeden surowiec na raz** — żadnego batchowania.
ultrathink — zanim cokolwiek zapiszesz: przeanalizuj surowiec, sprawdź `index.md`, zaplanuj które strony updateować, a które utworzyć.
---
## Konfiguracja (placeholdery)
Skill operuje na folderze wiki w workspace użytkownika. Zdefiniuj raz, reszta promptu używa nazw:
- `{WIKI}` = folder wiki — znajdź go idąc od bieżącego katalogu w górę (domyślnie `Wiki/`; jeśli masz inną nazwę, np. `Knowledge/` czy `Drugi-mózg/`, podmień tu).
- `{PAGES}` = `{WIKI}/pages/` — atomowe strony w kategoriach (`osoby/`, `koncepcje/`, `frameworki/`, `case-studies/`, `synthesis/`).
- `{PROCESSED}` = `{WIKI}/_processed/` — archiwum przetworzonych surowców (source of truth oryginałów).
- `{RAW}` = `{WIKI}/_raw/` — opcjonalny lokalny dump zone na surowce.
Jeśli `{WIKI}` nie istnieje idąc w górę od cwd — **odmów**: skill nie wykrył folderu wiki, zasugeruj utworzenie go w workspace albo uruchomienie z katalogu, który go zawiera. Jeśli istnieje `{WIKI}/README.md` — przeczytaj, żeby załadować lokalne konwencje (custom kategorie, tagi, wymóg języka); mają pierwszeństwo, o ile nie kolidują z fundamentem (atomowość, anti-batch).
**Pierwsze uruchomienie:** jeśli `{WIKI}` istnieje, ale brak `index.md` / `log.md` — utwórz je z minimalnym szkieletem (Kroki 5 i 6) i kontynuuj.
---
## Krok 1: Skąd surowiec
Surowiec może przyjść z trzech miejsc — wybierz wg tego, co user dał:
- **Ścieżka / nazwa w argumencie** → przetwórz dokładnie ten plik.
- **Lokalny dump zone `{RAW}`** → jeśli istnieje i coś w nim jest, weź stamtąd. Pusty → "Nic do przerobienia — wskaż plik albo wrzuć materiał." STOP.
- **Source item z integracji** → jeśli masz dostępne narzędzia do bazy materiałów użytkownika (np. Voicie / knowledge MCP), pobierz wskazany materiał stamtąd.
**>1 kandydat** → przetwarzaj **pojedynczo, sekwencyjnie**. Po każdym surowcu raport (Krok 7) i pytanie, czy lecieć z następnym. Nigdy batchem.
**Co przyjmujemy:**
- **Tekst** (`.md`, `.txt`, `.markdown`) — w tym transkrypty (podcastu, wideo, wykładu)
- **Obrazy** (screenshot, diagram, slajd) — opisz ich treść wizualnie i wyciągnij jednostki wiedzy jak z tekstu
- **PDF / DOCX / HTML** → poproś o konwersję do tekstu przed ingestem
---
## Krok 2: Czytaj surowiec i index
1. Przeczytaj cały surowiec.
2. Przeczytaj `{WIKI}/index.md` — żeby wiedzieć, co już jest.
3. Wybierz 3–5 najbardziej tematycznie pokrewnych stron i **przeczytaj tylko je**. **Nie ładuj całego `{PAGES}` do kontekstu.**
---
## Krok 3: Ekstrakcja atomowych jednostek
Wyciągnij z surowca jednostki wiedzy spełniające **test atomowości**:
> **Tytuł brzmi jak teza/deklaracja, którą treść dowodzi — nie jak etykieta.**
| ✅ Teza | ❌ Etykieta |
|--------|-----------|
| `Hormozi: contrarian POV bije expertise w growth contentu` | `Hormozi` |
| `Jobs-to-be-done: ludzie kupują wynik, nie produkt` | `JTBD` |
Dla każdej jednostki ustal: **typ** (`concept` / `entity` / `framework` / `case-study` / `synthesis`), **kategorię** (folder w `{PAGES}`), **slug** (kebab-case, ASCII), i **czy już istnieje**.
---
## Krok 4: Zapisz strony
Każda strona w `{PAGES}/<kategoria>/<slug>.md` z frontmatterem:
```yaml
---
title: <pełna teza jako tytuł>
type: concept | entity | framework | case-study | synthesis
tags: [tag1, tag2]
sources: [_processed/2026-05-09_<source-slug>.md]
related: [pages/koncepcje/inna-strona.md]
created: YYYY-MM-DD
updated: YYYY-MM-DD
---
```
**Treść:** Po polsku. Pierwszy akapit = TL;DR. Sekcja `## Powiązania` z linkami i kontekstem. Sekcja `## Źródła` na końcu.
---
## Krok 5: Archiwizacja surowca w `{PROCESSED}`
Stwórz `{PROCESSED}/<YYYY-MM-DD>_<source-slug>.md` z bullet summary, mapą wyciągniętych jednostek i pełną kopią oryginału.
Po zapisaniu kopii — jeśli surowiec pochodził z `{RAW}`, usuń go stamtąd (`{RAW}` ma być pusty po ingest).
---
## Krok 6: Update `index.md` i `log.md`
**`index.md`** — dodaj nowe strony pod właściwą sekcją, zachowaj istniejące, pogrupuj alfabetycznie. Format linii: `- [[pages/<kategoria>/<slug>]] — krótki opis tezy`.
**`log.md`** — append-only changelog. Nigdy nie modyfikuj wpisów wstecz, tylko dopisuj na dole.
---
## Krok 7: Raport
```
✅ Ingest gotowy: <source-title>
📄 Source: _processed/YYYY-MM-DD_<slug>.md
🆕 Utworzono N stron
🔄 Zaktualizowano M stron
📊 Wiki: X stron łącznie, Y surowców przetworzonych.
```
---
## Czego NIE robić
- **Nie batchuj** wielu surowców — pojedynczo, z raportem po każdym.
- **Nie modyfikuj** treści w `{PROCESSED}` poza dopisaniem mapowania stron.
- **Nie commituj** automatycznie.
- **Nie ładuj** całego `{PAGES}` do kontekstu.
- **Nie wymuszaj** liczby stron.
- **Nie twórz nowej kategorii w ciemno** — zatrzymaj się i zapytaj.
Kiedy używać
Uruchamiaj na jawną komendę — przetwarzanie bywa długie, więc ma być intencjonalne:
/learner-wiki-ingest- “wgraj do wiki”
- “przerób ten materiał”
- “przetwórz transkrypt”
Co przyjmuje
- Tekst (
.md,.txt) — artykuły, transkrypty, notatki - Obrazy (screenshot, diagram, slajd) — opisuje treść wizualną
- Source items z integracji Voicie
Jak zainstalować
- Pobierz folder skilla przyciskiem Pobierz powyżej lub z GitHub
- W Voicie Desktop: przejdź do zakładki Local → znajdź sekcję Skills → kliknij ikonę folderu, żeby otworzyć go w Finderze
- Przenieś pobrany folder skilla do tego katalogu
- Otwórz nowy czat — skill jest teraz dostępny
- Wywołaj naturalnym językiem lub komendą
/<nazwa-skilla>
→ Pełny przewodnik: Jak zainstalować skille w Voicie