SSD Nodes Learn 🎉 VPS od $5.50/mies.
Przewodniki Matt ConnorAutor: Matt Connor

Jak przekształcić dokumentację PDF w umiejętność agenta

Dowiedz się, jak zamienić pliki PDF, EPUB lub dokumentację techniczną w indeksowaną umiejętność agenta. Optymalizacja budżetu tokenów, praca w trybie headless i licencja MIT.

Przekształcanie książki technicznej w umiejętność agenta: co zyskujesz

Aby przekształcić książkę techniczną w umiejętność agenta, należy wskazać konwerterowi plik PDF, EPUB, eksport DOCX lub folder z posiadanymi dokumentami wewnętrznymi. Narzędzie tworzy katalog umiejętności: jeden plik wejściowy zawierający nazwane frameworki wraz z indeksem rozdziałów oraz po jednym pliku na każdy rozdział, który agent odczytuje tylko wtedy, gdy wymaga tego zadane pytanie. Książka nigdy nie trafia do okna kontekstowego. Trafia tam jedynie indeks.

Jest to zadanie odwrotne do tworzenia umiejętności agenta od podstaw, gdzie koduje się procedurę, którą już znasz. W tym przypadku wiedza istnieje, ale jest niedostępna: może to być 800-stronicowy plik PDF od dostawcy lub podręcznik, do którego nikt nie zaglądał od czasu odejścia jego autora. Praca polega na kompresji i indeksowaniu. Jeśli pojęcie umiejętności jest dla Ciebie nowe, najpierw przeczytaj czym w rzeczywistości jest umiejętność agenta.

Użyty tutaj konwerter to book-to-skill, umiejętność na licencji MIT, która działa na Twojej własnej maszynie. Bieżący tag na sierpień 2026 to v1.4.0. Struktura, którą tworzy, jest ważniejsza niż samo narzędzie, a ostatnia sekcja przed FAQ pokazuje, jak zbudować taką samą strukturę ręcznie.

Dlaczego budżet tokenów stanowi podstawę projektu

Książka wklejona do okna kontekstowego zajmuje pełną objętość w każdej konwersacji, która jej wymaga. Umiejętność (skill) kosztuje tyle, co jej plik wejściowy, powiększony o rozdziały, do których faktycznie odwołuje się pytanie. Dokumentacja projektu określa budżet dla każdego generowanego pliku.

ChartDocumented token budget per generated file, book-to-skill v1.4.0
The data behind this chart
[
  {
    "label": "SKILL.md entry file",
    "tokens": "4,000"
  },
  {
    "label": "One chapter file",
    "tokens": "1,000"
  },
  {
    "label": "glossary.md",
    "tokens": "1,500"
  },
  {
    "label": "patterns.md",
    "tokens": "2,000"
  },
  {
    "label": "cheatsheet.md",
    "tokens": "1,000"
  }
]

Plik wejściowy, SKILL.md, jest ograniczony do 4,000 tokenów i zawiera nazwy frameworków oraz indeks rozdziałów. Każdy plik rozdziału ma około 1,000 tokenów i pozostaje na dysku do momentu wywołania. Pliki pomocnicze mają podobne limity: 1,500 tokenów dla glossary.md, 2,000 dla patterns.md, 1,000 dla cheatsheet.md.

Budżety te odpowiadają sposobowi, w jaki Claude Code zarządza kontekstem. Plik description umiejętności znajduje się na liście umiejętności, dzięki czemu model wie o jej istnieniu. Treść jest ładowana w momencie wywołania umiejętności i po załadowaniu pozostaje w kontekście do końca sesji, dlatego każda linia w pliku wejściowym generuje stały koszt. Pliki pomocnicze są ładowane tylko wtedy, gdy agent je odczytuje, co sprawia, że pliki poszczególnych rozdziałów są tanie w utrzymaniu.

Za liczbą tokenów w pliku wejściowym kryje się twardszy limit. Gdy automatyczna kompresja podsumowuje długą konwersację, Claude Code ponownie dołącza ostatnie wywołanie każdej umiejętności po podsumowaniu i zachowuje pierwsze 5000 tokenów każdej z nich, w ramach łącznego budżetu 25 000 tokenów dla wszystkich dołączonych umiejętności. Plik wejściowy mieszczący się w 5000 tokenów przetrwa kompresję w całości. Plik wejściowy o rozmiarze 20 000 tokenów powraca jako jedna czwarta swojej zawartości, a system nie informuje, które trzy czwarte zostały usunięte.

Jest to przykład stopniowego ujawniania informacji: mały indeks, który zawsze jest wart swojego kosztu, oraz główna część materiału ukryta za drzwiami, które agent otwiera celowo. Jak Claude Code zarządza oknem kontekstowym omawia pozostałe aspekty tego rozliczenia.

Instalacja konwertera na VPS z przypięciem do konkretnego wydania

Narzędzie jest repozytorium git. Należy sklonować je do katalogu skills używanego agenta. Nazwa katalogu staje się komendą typu slash, więc ścieżka klonowania nie jest kwestią wyboru.

git clone --depth 1 --branch v1.4.0 \
  https://github.com/virgiliojr94/book-to-skill.git \
  ~/.claude/skills/book-to-skill

--branch akceptuje tag, więc polecenie sprawdza wersję v1.4.0 i nic nowszego. Przypięcie wersji jest konieczne, ponieważ skill to zestaw instrukcji dla agenta, a niezweryfikowana zmiana w tych instrukcjach oznacza zmianę kodu uruchamianego na serwerze. GitHub Copilot CLI odczytuje zamiast tego ~/.copilot/skills/, a Amp korzysta z ~/.agents/skills/.

Dostępna jest również instalacja jednowierszowa, npx skills add virgiliojr94/book-to-skill, która pobiera najnowszą wersję. Należy jej używać do testowania narzędzia. Do zadań powtarzalnych należy używać przypiętego klona.

Teraz należy potwierdzić, które ekstraktory znajdują się na serwerze:

cd ~/.claude/skills/book-to-skill
python3 scripts/extract.py --check

--check raportuje zainstalowane ekstraktory i wyświetla komendę instalacyjną dla każdego brakującego elementu. Pakiet wymaga środowiska Python 3.9 lub nowszego.

Jeśli /book-to-skill nie pojawia się w autouzupełnianiu po sklonowaniu, należy zrestartować agenta. Claude Code monitoruje katalogi skills, które istniały w momencie rozpoczęcia sesji, więc ~/.claude/skills/ utworzony dwie minuty temu nie jest jeszcze objęty nadzorem.

Które ekstraktory są faktycznie potrzebne?

Poza Pythonem nie jest wymagane nic więcej, ponieważ każdy format posiada mechanizm zastępczy w bibliotece standardowej. Mechanizmy te działają jednak gorzej, a na małym serwerze instalowanie nieużywanych ekstraktorów to strata czasu.

  • pdftotext z pakietu poppler-utils obsługuje pliki PDF o dużej zawartości tekstu i działa niemal natychmiastowo. Zainstaluj go za pomocą sudo apt install poppler-utils.
  • pypdf oraz pdfminer.six to mechanizmy zastępcze Pythona dla formatu PDF.
  • docling służy do technicznych plików PDF, których wartość wynika z tabel i list kodów. Projekt szacuje czas przetwarzania na około 1,5 sekundy na stronę.
  • ebooklib wraz z beautifulsoup4 poprawnie odczytuje pliki EPUB. Bez nich narzędzie korzysta z czytnika zipfile wbudowanego w bibliotekę standardową.
  • python-docx odczytuje pliki DOCX, a striprtf pliki RTF.
  • Narzędzie ebook-convert z pakietu Calibre jest wymagane dla plików MOBI oraz AZW.
  • ocrmypdf wykonuje OCR (optyczne rozpoznawanie znaków) dla zeskanowanych książek, które nie posiadają warstwy tekstowej.

W systemie Ubuntu 24.04 zwykłe polecenie pip3 install pypdf kończy się błędem:

error: externally-managed-environment

Nie oznacza to uszkodzenia pip. Systemy Ubuntu i Debian oznaczają systemowego Pythona jako zarządzanego przez apt, dlatego pip odmawia zapisu w jego katalogach. Istnieją dwa rozwiązania. sudo apt install poppler-utils instaluje plik binarny i nie wymaga użycia pip, a pdftotext samodzielnie obsługuje większość plików PDF z tekstem ciągłym. W przypadku ekstraktorów Pythonowych należy utworzyć środowisko wirtualne i uruchomić agenta z jego wnętrza, aby python3 wywoływany przez umiejętność był tym samym interpreterem, w którym zainstalowano pakiety.

python3 -m venv ~/.venvs/book-to-skill
source ~/.venvs/book-to-skill/bin/activate
pip install "$HOME/.claude/skills/book-to-skill[pdf,epub,docx]"
claude

Repozytorium deklaruje dodatki pdf, epub, docx, rtf, technical oraz all, gdzie technical to docling. Strona instalacyjna projektu wspomina również o pip install "book-to-skill[pdf,epub,docx]", jednak nazwa ta nie jest opublikowana w serwisie PyPI na stan z sierpnia 2026 roku, dlatego należy przeprowadzić instalację z własnej kopii repozytorium, jak opisano powyżej.

Pomiń docling, dopóki nie będzie potrzebne do konkretnej książki. Pakiet ten pobiera stos uczenia maszynowego, więc przed instalacją sprawdź ilość wolnego miejsca na dysku w przypadku małych planów hostingowych.

Uruchamianie na folderze dokumentów, w tym w trybie headless

Polecenie przyjmuje plik, folder, wzorzec glob w cudzysłowie lub kilka ścieżek jednocześnie, po których następuje opcjonalna nazwa umiejętności (skill). Działa wszystko, co można umieścić w jednym katalogu, w tym zbiór RFC (Request for Comments, dokumenty definiujące protokoły internetowe).

/book-to-skill ~/library/platform-docs/ platform-handbook
/book-to-skill "~/books/*.epub" my-library
/book-to-skill ~/papers/paper1.pdf ~/notes/export.txt unified-research

Wzorzec glob należy ująć w cudzysłów, aby powłoka nie rozwinęła go przed przekazaniem do narzędzia. Wskazanie istniejącego katalogu umiejętności powoduje dodanie nowych źródeł do tej umiejętności zamiast tworzenia kolejnej.

Uruchomienie interaktywne zadaje pytania. Czy materiał jest techniczny, czy zawiera dużo tekstu – to decyduje o wyborze ekstraktora. Czy wymagana jest głębia referencyjna, czy studyjna – to decyduje o budżecie na rozdział. Jak ma nazywać się umiejętność i w jakim katalogu głównym ma zostać umieszczona. Przed wygenerowaniem wyświetlane jest również oszacowanie liczby tokenów i czasu, po czym następuje oczekiwanie na potwierdzenie.

W trybie headless nie ma użytkownika, który mógłby odpowiedzieć na te pytania. Umiejętności wywoływane przez użytkownika działają w claude -p: należy umieścić polecenie slash w ciągu promptu, a Claude Code rozwinie je przed rozpoczęciem działania. Odpowiedzi na pytania należy więc zawrzeć w tym samym prompcie.

claude -p "/book-to-skill ~/library/platform-docs/ platform-handbook
The sources are technical. Use reference depth. Write the skill to
~/.claude/skills/. Do not publish it to GitHub. Proceed without asking me." \
  --allowedTools "Bash,Read,Write,Edit"

--allowedTools wstępnie zatwierdza narzędzia wymagane do uruchomienia, ponieważ prośba o uprawnienia bez podłączonego terminala powoduje zawieszenie procesu. Dodanie --output-format json umieszcza total_cost_usd w wyniku, co stanowi szacunek po stronie klienta, a nie faktyczne rozliczenie.

Ekstrakcja konsoliduje wszystkie źródła w tymczasowym katalogu roboczym w /tmp, zanim odczyta je jakikolwiek model, a ostatni krok usuwa ten katalog. Źródło, którego nie udało się wyodrębnić, jest pomijane, aby przetwarzanie wsadowe mogło być kontynuowane; oznacza to, że uruchomienie może zakończyć się sukcesem po przeczytaniu mniejszej liczby plików, niż dostarczono. Należy porównać spis plików w raporcie końcowym z zawartością folderu. Brakujący rozdział zazwyczaj oznacza brakujące źródło.

Należy zapewnić środowisko, które można bezpiecznie przekazać agentowi. Bezpieczne uruchamianie Claude Code na VPS opisuje kwestie uprawnień w tym zakresie.

Gdzie trafia wynik, aby agent programistyczny mógł go odnaleźć

Wygenerowana umiejętność trafia do katalogu głównego umiejętności. Dwa z nich mają znaczenie.

  • ~/.claude/skills/<skill-name>/ jest osobisty i dostępny w każdym projekcie na danej maszynie.
  • .claude/skills/<skill-name>/ znajduje się wewnątrz repozytorium i jest przenoszony wraz z nim.

Wewnątrz każdego z nich znajduje się SKILL.md, katalog chapters/ z jednym plikiem na rozdział oraz plikami pomocniczymi. Nazwa katalogu jest poleceniem, więc ~/.claude/skills/platform-handbook/ daje dostęp do /platform-handbook, po którym można wpisać temat lub zwykłe pytanie.

Wybierz katalog główny na podstawie licencjonowania, a nie wygody. Umiejętność zbudowana na podstawie zakupionej książki powinna znaleźć się w katalogu osobistym. Umiejętność zbudowana na podstawie dokumentacji napisanej przez własny zespół powinna znaleźć się w repozytorium, co czyni udostępnianie jednej umiejętności w kilku repozytoriach kolejnym problemem do rozwiązania.

Jeden koszt rośnie wraz z każdą dodaną umiejętnością. Opis każdej umiejętności pozostaje na liście umiejętności, aby model mógł zdecydować o jej użyciu; łączny tekst opisu jest ucinany do 1536 znaków na wpis, a cała lista posiada określony limit. Dziesięć umiejętności z książek oznacza dziesięć opisów rywalizujących o ten limit. W przypadku umiejętności, które zawsze wywołujesz po nazwie, dodaj jedną linię do wygenerowanego frontmattera:

---
name: platform-handbook
description: Frameworks and chapter index from the internal platform handbook.
disable-model-invocation: true
---

Dzięki disable-model-invocation: true opis całkowicie wypada z kontekstu, a umiejętność nadal ładuje się w całości po wpisaniu /platform-handbook. Rezygnujesz z automatycznego wykrywania, zyskując spokojniejsze okno kontekstowe.

Licencjonowanie: MIT obejmuje konwerter, a nie książkę

Należy zachować w tej kwestii precyzję, ponieważ ewentualne naruszenie nie ma charakteru technicznego.

  • Licencja MIT obejmuje kod konwertera oraz definicję jego umiejętności. Nie odnosi się ona w żaden sposób do dokumentu, który jest przetwarzany.
  • Uruchomienie konwertera na zakupionej książce, na sprzęcie będącym pod kontrolą użytkownika, stanowi tworzenie notatek z własnego egzemplarza.
  • Publikacja wyniku stanowi dystrybucję, a licencja MIT narzędzia nie nadaje prawa do rozpowszechniania utworów pochodnych stworzonych na podstawie cudzej książki.
  • Wynik pracy jest utworem zależnym. Struktura oraz kluczowe wnioski z rozdziałów nadal bazują na źródle, a utwór zależny podlega prawom autorskim źródła.
  • Umiejętność zbudowana z materiałów, których nie można redystrybuować, musi pozostać na maszynie, na której została utworzona. Nie może trafić do publicznego repozytorium ani współdzielonego marketplace'u zespołowego.
  • Publikacja jest dozwolona, gdy źródło należy do użytkownika lub jest udostępnione na otwartej licencji: dotyczy to dokumentacji stworzonej przez zespół lub standardów, których warunki zezwalają na redystrybucję.

Narzędzie zostało zaprojektowane z uwzględnieniem tych zasad. Nie zawiera treści żadnych książek, ekstrakcja odbywa się lokalnie, a krok publikacji wymaga określenia widoczności repozytorium jako osobnego pytania, które akceptuje wyłącznie słowa public lub private, zamiast próbować zgadywać ustawienie. Ten monit należy traktować jako decyzję licencyjną, ponieważ w istocie nią jest.

Wewnętrzne podręczniki wiążą się z dodatkowym problemem. Częściej niż się przyznaje, zawierają one dane uwierzytelniające, a konwerter przekształca plik PDF, którego nikt nie otwiera, w plik odczytywany przez agenta na żądanie. Wygenerowane pliki należy przejrzeć przed ich zatwierdzeniem, zgodnie z instrukcją utrzymywanie sekretów poza agentami AI.

Jaki jest koszt jednej konwersji?

Poniższe liczby stanowią oficjalne pomiary projektu, a nie nasze własne szacunki.

ChartCost to convert one full-length book, as published by the project
The data behind this chart
[
  {
    "label": "Think Python 2",
    "cost_usd": 0.88
  },
  {
    "label": "Working Backwards",
    "cost_usd": 0.96
  },
  {
    "label": "Pro Git",
    "cost_usd": 1.23
  },
  {
    "label": "Moby-Dick",
    "cost_usd": 1.42
  }
]

Dla 4 książek poddanych pomiarom w ramach projektu, koszt jednej konwersji mieścił się w przedziale od 0.88 do 1.42 dolarów amerykańskich, przy czym dla książki Pro Git wyniósł on 1.23. Wartości te uzyskano przy użyciu modelu Claude Sonnet 4.5, z liczbą tokenów z tiktoken przy użyciu cl100k_base, i zostały opublikowane w docs/performance.md projektu według stanu na sierpień 2026. Ostateczny koszt zależy od wybranego modelu oraz aktualnych cenników.

Projekt dokumentuje również od 24 do 51 razy mniejsze zużycie tokenów w przypadku odpowiedzi na pojedyncze pytanie przy użyciu umiejętności (skill), w porównaniu do wklejenia całej książki do kontekstu. Należy traktować to jako orientacyjny wskaźnik oszczędności, a nie gwarancję, ponieważ wynik zależy od konkretnej książki oraz pytania. Kluczowy wniosek strukturalny pozostaje niezmienny: za konwersję płaci się jednorazowo, natomiast za zrzut kontekstu płaci się przy każdej rozmowie wymagającej dostępu do treści książki.

Dlaczego nie wkleić pliku PDF lub nie zbudować indeksu RAG?

Wklejanie treści działa i jest właściwym rozwiązaniem w przypadku pojedynczego pytania dotyczącego jednego dokumentu. Przestaje być nim, gdy ta sama książka jest potrzebna we wtorek i ponownie w piątek, ponieważ za każdym razem płaci się za przetworzenie jej pełnej objętości.

Wyszukiwanie, czyli RAG (retrieval augmented generation), przeszukuje dane w momencie zapytania i zwraca fragmenty pasujące do użytych słów. Jest to skuteczne, gdy potrzebne jest dokładne zdanie. Metoda ta zawodzi, gdy przydatna informacja stanowi szerszy schemat rozproszony w całym rozdziale, ponieważ żaden pojedynczy fragment go nie zawiera. Skill wykonuje taką ekstrakcję raz, w momencie konwersji, i przechowuje strukturę zamiast surowych fragmentów tekstu.

Uczciwe ograniczenie: wygenerowany skill to stratne podsumowanie napisane przez model. Jest to pomoc naukowa, a źródło pozostaje źródłem. Gdy dokładne brzmienie ma znaczenie prawne lub protokolarne, należy zachować plik PDF i cytować bezpośrednio z niego. Porównanie skilli z serwerami MCP i plikami reguł omawia zastosowanie poszczególnych podejść.

Tryby awarii i komunikaty, które zobaczysz

Skanowany plik PDF nie generuje żadnego wyniku. Ekstraktor sprawdza, czy początkowe strony zawierają warstwę tekstową i przerywa działanie z odpowiednim wyjaśnieniem, zamiast przetwarzać 400 stron obrazów. Uruchom najpierw ocrmypdf input.pdf output.pdf, a następnie przekaż mu plik wyjściowy.

pip odmawia instalacji. error: externally-managed-environment w systemie Ubuntu 24.04 oznacza, że apt chroni systemowego Pythona. Użyj powyższego środowiska wirtualnego lub zainstaluj poppler-utils i całkowicie zrezygnuj z pip.

Rozdziały są nieprawidłowo rozpoznawane. Mechanizm wykrywania rozdziałów szuka jawnych nagłówków, takich jak Chapter 7 oraz ich wariantów językowych. Książka używająca zwykłych tytułów sekcji lub cyfr rzymskich spowoduje błędny podział. Rozwiązaniem jest wskazanie uruchomieniu, gdzie zaczynają się rozdziały, zamiast polegać na automatycznym rozpoznawaniu.

Polecenie nie istnieje. Brak /book-to-skill w autouzupełnianiu oznacza, że katalog skills został utworzony po rozpoczęciu sesji. Zrestartuj agenta.

Docling działa bardzo długo. Przy tempie około 1,5 sekundy na stronę, przetworzenie długiej książki zajmuje minuty czasu procesora. Na współdzielonym serwerze to zadanie konkuruje z innymi hostowanymi usługami. Odpowiedz "text-heavy", gdy uruchomienie zapyta o typ zawartości, lub przekaż --mode text, jeśli samodzielnie wywołujesz scripts/extract.py. --mode technical to odpowiedź wybierająca docling.

Źródło znika bez ostrzeżenia. Plik, którego nie można odczytać, jest pomijany, aby przetwarzanie wsadowe mogło zostać ukończone. Uruchomienie zgłasza sukces dla mniejszej liczby źródeł niż dostarczono, a jedynym miejscem, w którym można to zweryfikować, jest spis plików w końcowym raporcie.

Zastosuj ten sam schemat ręcznie

Narzędzie jest jedynie ułatwieniem. Struktura jest częścią przenośną, a edytor tekstu pozwala zbudować ją dla dowolnych posiadanych materiałów referencyjnych.

  1. Utwórz jeden plik wejściowy i przechowuj go w pobliżu tokenów 4,000, na które ukierunkowany jest konwerter. Umieść w nim nazwane koncepcje wraz z ich dokładnymi sformułowaniami oraz indeks zawierający listę wszystkich plików szczegółowych wraz z tematami, które dany plik zawiera.
  2. Podziel materiał na pliki o rozmiarze około 1,000 tokenów, poświęcone każdemu tematowi z osobna, nazywając je tak, aby sama nazwa pliku wskazywała na jego zawartość.
  3. Opisz każdy z tych plików w pliku wejściowym, używając zdania określającego, kiedy należy go przeczytać.

Krok 3 jest tym, który ludzie pomijają, a to właśnie on sprawia, że ten schemat działa. Agent wybiera plik do otwarcia, czytając indeks, więc plik nieopisany w indeksie jest plikiem, którego agent nigdy nie otworzy. Indeks jest produktem, a pliki rozdziałów stanowią magazyn danych.

Utrzymuj plik wejściowy w ramach budżetu kompresji, a cała struktura przetrwa długą sesję. Ta zasada obowiązuje niezależnie od tego, czy pliki zostały utworzone przez konwerter, czy ręcznie.

FAQ

Czy mogę opublikować umiejętność stworzoną na podstawie zakupionej książki?

Nie, chyba że licencja książki zezwala na redystrybucję. Licencja MIT dla konwertera obejmuje kod konwertera, a nie materiały, które są do niego wprowadzane, a wygenerowana umiejętność jest utworem zależnym od książki. Należy przechowywać ją w ~/.claude/skills/ na własnym komputerze. Publikacja jest dopuszczalna w przypadku dokumentacji napisanej samodzielnie lub źródeł na otwartych licencjach. Narzędzie pyta o widoczność repozytorium jako osobne zagadnienie, akceptując tylko czyste public lub private, więc decyzja pozostaje świadoma.

Czy potrzebuję docling, czy wystarczy pdftotext?

pdftotext z pakietu poppler-utils wystarcza do tekstu ciągłego i działa niemal natychmiastowo. Zainstaluj docling, gdy wartość książki wynika z zawartych w niej tabel i listingów kodu, ponieważ zwykły ekstraktor tekstu pomija właśnie te elementy. Ceną jest szybkość: projekt szacuje działanie docling na około 1.5 sekundy na stronę, więc 300-stronicowy podręcznik oznacza kilka minut czasu procesora na VPS.

Dlaczego pip kończy się błędem externally-managed-environment na moim VPS?

Ubuntu 24.04 oraz aktualny Debian oznaczają systemowego Pythona jako zarządzanego przez apt, więc pip odmawia instalacji w tym środowisku i wyświetla error: externally-managed-environment. Utwórz wirtualne środowisko za pomocą python3 -m venv ~/.venvs/book-to-skill, aktywuj je, zainstaluj tam ekstraktory, a następnie uruchom agenta z tej samej powłoki. Umiejętność wywołuje python3, więc korzysta z interpretera znajdującego się w zmiennej PATH, którym jest teraz ten z wirtualnego środowiska.

Dlaczego moja wygenerowana umiejętność nie pojawia się jako polecenie typu slash?

Istnieją dwie przyczyny. Nazwa polecenia pochodzi od nazwy katalogu, więc umiejętność musi znajdować się w ~/.claude/skills/<name>/SKILL.md lub .claude/skills/<name>/SKILL.md, a SKILL.md musi być zapisane dokładnie w ten sposób. Jeśli ścieżka jest poprawna, zrestartuj agenta. Claude Code wykrywa zmiany w katalogach umiejętności, które już monitoruje, ale katalog umiejętności utworzony po rozpoczęciu sesji nie jest w ogóle monitorowany.