SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor

Cara Tukar Buku Teknikal Jadi Kemahiran Ejen AI

Tukar fail PDF, EPUB atau dokumen dalaman menjadi kemahiran ejen yang dimuatkan secara automatik. Ketahui cara pengindeksan, bajet token dan lesen MIT untuk projek anda.

Untuk menukar buku teknikal menjadi kemahiran ejen, anda perlu menghalakan penukar kepada fail PDF, EPUB, eksport DOCX, atau folder dokumen dalaman yang anda miliki. Ia akan menulis direktori kemahiran: satu fail entri yang mengandungi kerangka kerja yang dinamakan berserta indeks bab, dan satu fail bagi setiap bab yang hanya dibaca oleh ejen apabila soalan anda memerlukannya. Buku tersebut tidak akan dimasukkan ke dalam tetingkap konteks. Hanya indeksnya sahaja yang dimasukkan.

Ini adalah tugas yang bertentangan dengan menulis kemahiran ejen dari awal, di mana anda mengekod prosedur yang sudah anda ketahui. Di sini, pengetahuannya sudah wujud tetapi tiada siapa yang boleh mencapainya: contohnya PDF vendor setebal 800 muka surat, atau buku panduan yang tidak pernah dibuka sejak penulisnya berhenti kerja. Kerja ini melibatkan pemampatan dan pengindeksan. Jika istilah kemahiran adalah baharu bagi anda, baca apa itu kemahiran ejen sebenarnya terlebih dahulu.

Penukar yang digunakan di sini ialah book-to-skill, iaitu kemahiran berlesen MIT yang berjalan pada mesin anda sendiri. Tag semasa setakat Ogos 2026 ialah v1.4.0. Struktur yang dihasilkannya lebih penting daripada alat itu sendiri, dan bahagian terakhir sebelum FAQ menunjukkan cara membina struktur yang sama secara manual.

Mengapa bajet token menjadi teras reka bentuk

Buku yang ditampal ke dalam tetingkap konteks akan memakan saiz penuhnya dalam setiap perbualan yang memerlukannya. Sesuatu kemahiran (skill) hanya memakan saiz fail masukannya sekali, ditambah dengan bab-bab yang benar-benar disentuh oleh soalan tersebut. Dokumentasi projek menetapkan bajet bagi setiap fail yang dijana.

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"
  }
]

Fail masukan, SKILL.md, dihadkan kepada 4,000 token dan mengandungi rangka kerja yang dinamakan serta indeks bab. Setiap fail bab adalah sekitar 1,000 token dan disimpan di dalam cakera sehingga ada permintaan untuknya. Fail sokongan adalah serupa: 1,500 token untuk glossary.md, 2,000 untuk patterns.md, 1,000 untuk cheatsheet.md.

Bajet tersebut selari dengan cara Claude Code membelanjakan konteks sebenarnya. description bagi sesuatu kemahiran diletakkan dalam senarai kemahiran supaya model mengetahui kewujudan kemahiran tersebut. Kandungan utama dimuatkan apabila kemahiran dipanggil, dan setelah dimuatkan, ia kekal dalam konteks sepanjang sesi tersebut, jadi setiap baris dalam fail masukan merupakan kos berulang. Fail sokongan hanya dimuatkan apabila ejen membacanya, itulah sebabnya fail per-bab adalah murah.

Terdapat had yang lebih ketat di sebalik nombor fail masukan tersebut. Apabila pemadatan automatik (auto-compaction) meringkaskan perbualan yang panjang, Claude Code menyambung semula panggilan terbaharu bagi setiap kemahiran selepas ringkasan tersebut dan mengekalkan 5,000 token pertama bagi setiap satu, di dalam bajet gabungan sebanyak 25,000 token merentasi semua kemahiran yang disambung semula. Fail masukan yang dimuatkan dalam 5,000 token akan terselamat sepenuhnya daripada pemadatan. Fail masukan 20,000 token akan kembali sebagai suku pertamanya sahaja, dan tiada apa-apa yang memberitahu anda bahagian mana yang hilang.

Itulah pendedahan progresif: indeks kecil yang sentiasa berbaloi dengan kosnya, dan sebahagian besar bahan diletakkan di sebalik pintu yang dibuka oleh ejen secara sengaja. Bagaimana Claude Code menguruskan tetingkap konteksnya merangkumi baki perakaunan tersebut.

Pasang penukar pada VPS anda, dipinkan pada release

Kemahiran ini merupakan repositori git. Klonkannya ke dalam direktori skills bagi ejen yang anda gunakan. Nama direktori akan menjadi slash command, jadi laluan klon bukanlah perkara yang boleh diubah sesuka hati.

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

--branch menerima tag, jadi ini akan menyemak v1.4.0 dan tiada versi selepasnya. Pin versi tersebut, kerana kemahiran ialah set arahan yang diikuti oleh ejen anda, dan perubahan yang tidak disemak pada arahan tersebut merupakan perubahan kepada apa yang dijalankan pada pelayan anda. GitHub Copilot CLI membaca ~/.copilot/skills/ sebaliknya, dan Amp membaca ~/.agents/skills/.

Terdapat juga pemasangan satu baris, npx skills add virgiliojr94/book-to-skill, yang mengambil apa sahaja versi semasa. Gunakannya untuk mencuba alat tersebut. Gunakan klon yang dipinkan untuk sebarang perkara yang anda jalankan semula.

Sekarang sahkan extractor yang ada pada pelayan:

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

--check melaporkan extractor yang dipasang dan mencetak arahan pemasangan bagi setiap satu yang tiada. Pakej ini memerlukan Python 3.9 atau lebih baharu.

Jika /book-to-skill tidak muncul dalam autolengkap selepas pengklonan, mulakan semula ejen anda. Claude Code memantau direktori skill yang wujud semasa sesi bermula, jadi ~/.claude/skills/ yang anda cipta dua minit yang lalu belum lagi dipantau.

Pengekstrak manakah yang sebenarnya anda perlukan?

Tiada apa-apa yang diperlukan selain Python, kerana setiap format mempunyai sandaran (fallback) pustaka standard. Sandaran tersebut kurang berkesan, dan pada pelayan kecil, masa akan terbuang jika anda memasang pengekstrak yang tidak digunakan.

  • pdftotext, daripada pakej poppler-utils, mengendalikan PDF yang padat dengan teks dan berfungsi hampir serta-merta. Pasang ia dengan sudo apt install poppler-utils.
  • pypdf dan pdfminer.six ialah sandaran Python untuk PDF.
  • docling adalah untuk PDF teknikal yang nilainya terletak pada jadual dan senarai kod. Projek ini mengukurnya pada kira-kira 1.5 saat setiap halaman.
  • ebooklib dengan beautifulsoup4 membaca EPUB dengan betul. Tanpanya, alat ini akan kembali kepada pembaca zipfile pustaka standard.
  • python-docx membaca DOCX dan striprtf membaca RTF.
  • ebook-convert daripada Calibre diperlukan untuk fail MOBI dan AZW.
  • ocrmypdf menjalankan OCR (pengecaman aksara optik) ke atas buku yang diimbas, yang tidak mempunyai lapisan teks langsung.

Pada Ubuntu 24.04, pip3 install pypdf biasa akan terhenti dengan ralat ini:

error: externally-managed-environment

Ini bukan pip yang rosak. Ubuntu dan Debian menandakan Python sistem sebagai diuruskan oleh apt, jadi pip enggan menulis ke dalamnya. Dua jawapan boleh digunakan. sudo apt install poppler-utils memasang binari dan tidak memerlukan pip sama sekali, dan pdftotext merangkumi kebanyakan PDF prosa dengan sendirinya. Untuk pengekstrak Python, bina persekitaran maya (virtual environment) dan mulakan ejen anda dari dalamnya, supaya python3 yang dipanggil oleh skill tersebut adalah penterjemah yang mempunyai pakej-pakej berkenaan.

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

Repositori ini mengisytiharkan tambahan pdf, epub, docx, rtf, technical dan all, di mana technical ialah docling. Halaman pemasangan projek juga menunjukkan pip install "book-to-skill[pdf,epub,docx]", tetapi nama itu tidak diterbitkan di PyPI setakat Ogos 2026, jadi pasang daripada checkout anda sendiri seperti di atas.

Biarkan docling sehingga buku memerlukannya. Ia menarik masuk tindanan pembelajaran mesin (machine learning stack), jadi semak ruang cakera kosong pada pelan kecil sebelum anda memasangnya.

Jalankan ia ke atas folder dokumen, termasuk secara headless

Perintah ini menerima fail, folder, glob bertanda petikan, atau beberapa laluan serentak, diikuti dengan nama skill pilihan. Apa sahaja yang anda boleh letakkan dalam satu direktori akan berfungsi, termasuk set RFC (request for comments, dokumen yang mentakrifkan protokol internet).

/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

Letakkan glob dalam tanda petikan supaya shell anda tidak mengembangkannya sebelum skill tersebut melihatnya. Menghalakan perintah ke direktori skill sedia ada akan menggabungkan sumber baharu ke dalam skill tersebut dan bukannya mencipta yang kedua.

Jalankan secara interaktif akan meminta anda menjawab beberapa soalan. Adakah bahan tersebut bersifat teknikal atau padat dengan teks, yang akan menentukan pengekstrak. Adakah anda mahu kedalaman rujukan atau kedalaman kajian, yang akan menentukan bajet bagi setiap bab. Apakah nama skill tersebut, dan di akar skill manakah ia patut diletakkan. Ia juga akan mencetak anggaran token dan masa sebelum penjanaan serta menunggu anda untuk mengesahkan.

Jalankan secara headless tidak mempunyai sesiapa untuk menjawab soalan tersebut. Skill yang boleh dipanggil pengguna berfungsi dalam claude -p: letakkan slash command dalam rentetan prompt dan Claude Code akan mengembangkannya sebelum proses bermula. Jadi, jawab soalan tersebut dalam prompt yang sama.

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 meluluskan terlebih dahulu alatan yang diperlukan oleh proses tersebut, kerana gesaan kebenaran tanpa terminal yang disambungkan akan menyebabkan proses tidak pernah selesai. Menambah --output-format json akan meletakkan total_cost_usd dalam hasil, yang merupakan anggaran pihak klien dan bukannya bil anda.

Pengekstrakan menyatukan setiap sumber ke dalam direktori kerja sementara di bawah /tmp sebelum mana-mana model membacanya, dan langkah terakhir proses akan memadamkan direktori tersebut. Sumber yang gagal diekstrak akan dilangkau supaya kelompok tersebut terus berjalan, yang bermaksud proses boleh melaporkan kejayaan walaupun membaca fail yang lebih sedikit daripada yang anda bekalkan. Bandingkan inventori fail dalam laporan akhir dengan apa yang ada dalam folder. Bab yang hilang biasanya berpunca daripada sumber yang hilang.

Berikan proses tersebut pelayan yang anda selesa untuk diserahkan kepada ejen. Menjalankan Claude Code dengan selamat pada VPS merangkumi aspek kebenaran bagi perkara tersebut.

Lokasi output supaya ejen pengekodan anda menemuinya

Kemahiran yang dijana akan diletakkan di dalam root kemahiran. Dua daripadanya adalah penting.

  • ~/.claude/skills/<skill-name>/ bersifat peribadi dan tersedia dalam setiap projek pada mesin tersebut.
  • .claude/skills/<skill-name>/ berada di dalam repositori dan bergerak bersamanya.

Di dalam mana-mana satu daripadanya, anda akan mendapat SKILL.md, sebuah direktori chapters/ dengan satu fail bagi setiap bab, serta fail sokongan. Nama direktori tersebut merupakan perintahnya, jadi ~/.claude/skills/platform-handbook/ memberikan anda /platform-handbook, dan anda boleh mengikutinya dengan topik atau soalan biasa.

Pilih root berdasarkan pelesenan dan bukannya kemudahan. Kemahiran yang dibina daripada buku yang anda beli adalah milik direktori peribadi anda. Kemahiran yang dibina daripada dokumentasi yang ditulis oleh pasukan anda sendiri adalah milik repositori, yang menjadikan perkongsian satu kemahiran merentasi beberapa repositori sebagai masalah seterusnya untuk diselesaikan.

Satu kos akan meningkat dengan setiap kemahiran yang anda tambah. Penerangan setiap kemahiran kekal dalam penyenaraian kemahiran supaya model boleh membuat keputusan untuk menggunakannya, teks penerangan gabungan dipotong pada 1,536 aksara bagi setiap entri, dan penyenaraian secara keseluruhannya mempunyai bajet. Sepuluh kemahiran buku bermakna sepuluh penerangan bersaing untuk bajet tersebut. Bagi kemahiran yang sentiasa anda panggil dengan nama, tambah satu baris pada frontmatter yang dijana:

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

Dengan disable-model-invocation: true, penerangan tersebut kekal di luar konteks sepenuhnya, dan kemahiran tersebut masih dimuatkan sepenuhnya apabila anda menaip /platform-handbook. Anda melepaskan penemuan automatik dan mendapat tetingkap konteks yang lebih tenang.

Pelesenan: MIT melindungi penukar, bukan buku tersebut

Bertegaslah mengenai perkara ini, kerana kegagalan di sini bukanlah kegagalan teknikal.

  • Lesen MIT melindungi kod penukar dan definisi kemahirannya. Ia tidak menyatakan apa-apa tentang dokumen yang anda masukkan ke dalamnya.
  • Menjalankan penukar ke atas buku yang anda beli, pada perkakasan yang anda kawal, bermakna anda membuat nota daripada salinan anda sendiri.
  • Menerbitkan hasilnya adalah pengedaran, dan lesen MIT pada alat tersebut tidak memberikan anda hak untuk mengedarkan apa-apa yang diterbitkan daripada buku orang lain.
  • Output tersebut adalah karya terbitan. Rangka kerja dan isi penting bab masih dibentuk oleh sumber asal, dan karya terbitan masih tertakluk kepada hak cipta sumber asal.
  • Kemahiran yang dibina daripada bahan yang tidak boleh anda edarkan semula mesti kekal pada mesin yang membinanya. Bukan dalam repositori awam. Bukan dalam pasaran pasukan yang dikongsi.
  • Terbitkan apabila sumber tersebut adalah milik anda atau dilesenkan secara terbuka: dokumentasi yang ditulis oleh pasukan anda, atau piawaian yang terma-termanya membenarkan pengedaran semula.

Alat ini dibina berdasarkan prinsip ini. Ia tidak menghantar sebarang kandungan buku, proses pengekstrakan berjalan secara setempat, dan langkah penerbitannya meminta keterlihatan repositori sebagai soalan berasingan yang hanya menerima perkataan public atau private dan bukannya membuat andaian sendiri. Anggap gesaan tersebut sebagai keputusan pelesenan, kerana itulah sebenarnya tujuan gesaan itu.

Buku panduan dalaman membawa masalah kedua. Ia mengandungi bukti kelayakan (credentials) lebih kerap daripada yang diakui oleh sesiapa, dan penukar menukarkan PDF yang tidak dibuka oleh sesiapa kepada fail yang dibaca oleh ejen anda atas permintaan. Baca fail yang dijana sekali sebelum anda melakukan komit, dan lihat menjaga rahsia daripada ejen AI anda.

Berapakah kos satu penukaran?

Angka di bawah adalah ukuran yang diterbitkan sendiri oleh projek tersebut, bukannya ukuran kami.

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
  }
]

Merentasi 4 buah buku yang diukur oleh projek itu, satu penukaran menelan kos antara 0.88 hingga 1.42 dolar AS, dengan Pro Git pada 1.23. Angka-angka ini diukur menggunakan Claude Sonnet 4.5, dengan kiraan token daripada tiktoken menggunakan cl100k_base, dan ia diterbitkan dalam docs/performance.md projek tersebut setakat Ogos 2026. Angka anda sendiri akan berubah mengikut model dan harga anda.

Projek tersebut juga mendokumentasikan penggunaan token yang 24 hingga 51 kali ganda lebih rendah untuk menjawab satu soalan daripada kemahiran berbanding daripada keseluruhan buku yang ditampal ke dalam konteks. Anggap ini sebagai gambaran penjimatan dan bukannya satu janji, kerana ia bergantung pada buku dan soalan tersebut. Inti pati strukturnya tetap sama: penukaran dibayar sekali sahaja, manakala lambakan konteks perlu dibayar semula pada setiap perbualan yang memerlukan buku tersebut.

Mengapa tidak menampal PDF atau membina indeks RAG?

Menampal teks berfungsi dengan baik, dan ia merupakan jawapan yang tepat untuk satu soalan mengenai satu dokumen. Ia bukan lagi jawapan yang tepat apabila buku yang sama diperlukan pada hari Selasa dan sekali lagi pada hari Jumaat, kerana anda perlu membayar kos saiz penuhnya setiap kali.

Retrieval, atau RAG (retrieval augmented generation), melakukan carian pada waktu pertanyaan dan memberikan petikan yang sepadan dengan perkataan anda. Ia berkesan apabila anda memerlukan ayat yang tepat. Ia kurang berkesan apabila maklumat yang berguna merupakan satu kerangka kerja yang tersebar merentasi satu bab, kerana tiada satu petikan pun yang mengandungi keseluruhan maklumat tersebut. Sesuatu skill melakukan pengekstrakan itu sekali sahaja, pada waktu penukaran, dan menyimpan struktur tersebut dan bukannya petikan teks.

Had yang jujur: skill yang dijana merupakan ringkasan yang kehilangan maklumat (lossy summary) yang ditulis oleh model. Ia adalah alat bantu belajar, dan sumber asal tetap menjadi rujukan utama. Apabila perkataan yang tepat membawa kepentingan undang-undang atau protokol, simpan PDF tersebut dan petik daripadanya. Perbandingan skill dengan pelayan MCP dan fail peraturan merangkumi kesesuaian setiap pendekatan.

Mod kegagalan dan rentetan yang akan anda lihat

PDF yang diimbas tidak menghasilkan apa-apa. Pengekstrak menyemak halaman pembukaan untuk lapisan teks dan berhenti dengan penjelasan dan bukannya memproses 400 halaman imej. Jalankan ocrmypdf input.pdf output.pdf terlebih dahulu, kemudian masukkan fail output tersebut kepadanya.

pip enggan memasang. error: externally-managed-environment pada Ubuntu 24.04 ialah apt yang melindungi Python sistem. Gunakan persekitaran maya di atas, atau pasang poppler-utils dan abaikan pip sepenuhnya.

Bab yang dihasilkan tidak betul. Pengesanan bab mencari tajuk eksplisit seperti Chapter 7 dan varian bahasanya. Buku yang menggunakan tajuk bahagian kosong atau angka roman akan menghasilkan pembahagian yang buruk, dan penyelesaiannya adalah dengan memberitahu proses tersebut di mana bab bermula dan bukannya mengharapkan ia meneka.

Perintah tidak wujud. /book-to-skill yang tiada daripada pelengkapan automatik bermakna direktori kemahiran dicipta selepas sesi anda bermula. Mulakan semula ejen.

Docling mengambil masa yang lama. Pada kadar kira-kira 1.5 saat setiap halaman, ia mengambil masa beberapa minit CPU untuk buku yang panjang, dan pada pelayan kongsi, proses tersebut bersaing dengan semua perkara lain yang anda hoskan. Jawab "text-heavy" apabila proses bertanya tentang jenis kandungan, atau hantar --mode text apabila anda menjalankan scripts/extract.py sendiri. --mode technical ialah jawapan yang memilih docling.

Sumber hilang secara senyap. Fail yang tidak boleh dibaca akan dilangkau supaya kelompok tersebut boleh selesai. Proses kemudian melaporkan kejayaan ke atas sumber yang lebih sedikit daripada yang anda berikan, dan satu-satunya tempat yang menunjukkan perkara ini ialah inventori fail dalam laporan akhir.

Gunakan corak yang sama secara manual

Alat ini hanyalah untuk kemudahan. Strukturnya adalah bahagian yang boleh dipindahkan, dan penyunting teks boleh membina struktur tersebut untuk sebarang bahan rujukan yang anda miliki.

  1. Tulis satu fail entri dan simpan ia berdekatan dengan token 4,000 yang disasarkan oleh penukar. Masukkan konsep-konsep yang dinamakan ke dalamnya dengan formulasi yang tepat, berserta indeks yang menyenaraikan setiap fail perincian dan topik yang terkandung dalam fail tersebut.
  2. Pecahkan bahan kepada fail-fail yang mempunyai kira-kira 1,000 token, satu topik bagi setiap fail, dan namakan fail tersebut supaya nama fail itu sendiri memberitahu anda kandungannya.
  3. Terangkan setiap fail tersebut daripada fail entri, dalam ayat yang menyatakan bila untuk membacanya.

Langkah 3 adalah langkah yang sering dilangkau oleh orang ramai, dan ia merupakan langkah yang menjadikan corak ini berfungsi. Ejen memilih fail untuk dibuka dengan membaca indeks, jadi fail yang tidak diterangkan dalam indeks adalah fail yang tidak akan dibuka oleh ejen. Indeks adalah produknya, manakala fail bab adalah storannya.

Pastikan fail entri berada dalam bajet pemadatan dan keseluruhan struktur akan bertahan dalam sesi yang panjang. Peraturan itu terpakai sama ada penukar yang menulis fail tersebut atau anda sendiri yang melakukannya.

FAQ

Bolehkah saya menerbitkan skill yang dibina daripada buku yang saya beli?

Tidak, melainkan lesen buku tersebut membenarkan pengagihan semula. Lesen MIT pada penukar (converter) hanya melindungi kod penukar tersebut, bukan bahan yang anda masukkan ke dalamnya, dan skill yang dijana merupakan karya terbitan daripada buku itu. Simpan ia dalam ~/.claude/skills/ pada mesin anda sendiri. Penerbitan dibenarkan untuk dokumentasi yang anda tulis sendiri atau untuk sumber yang dilesenkan secara terbuka, dan alat ini meminta tahap keterlihatan repositori sebagai soalan berasingan, hanya menerima public atau private yang kosong, jadi keputusan tersebut kekal sebagai tindakan yang disengajakan.

Adakah saya perlukan docling, atau adakah pdftotext sudah memadai?

pdftotext daripada poppler-utils sudah memadai untuk teks prosa dan prosesnya hampir serta-merta. Pasang docling apabila nilai buku tersebut terletak pada jadual dan senarai kodnya, kerana pengekstrak teks biasa akan menggugurkan elemen tersebut. Pertukarannya adalah dari segi kelajuan: projek ini mengukur docling pada kadar kira-kira 1.5 saat setiap halaman, jadi manual 300 halaman akan mengambil masa beberapa minit waktu CPU pada VPS.

Mengapa pip gagal dengan ralat externally-managed-environment pada VPS saya?

Ubuntu 24.04 dan Debian terkini menandakan Python sistem sebagai diuruskan oleh apt, jadi pip enggan memasang ke dalamnya dan memaparkan error: externally-managed-environment. Cipta persekitaran maya (virtual environment) dengan python3 -m venv ~/.venvs/book-to-skill, aktifkannya, pasang pengekstrak di sana, kemudian mulakan ejen anda daripada shell yang sama. Skill tersebut memanggil python3, jadi ia menggunakan mana-mana penterjemah yang berada pada PATH anda, yang kini merupakan penterjemah di dalam persekitaran maya tersebut.

Mengapa skill yang saya jana tidak muncul sebagai slash command?

Terdapat dua punca. Nama arahan datang daripada nama direktori, jadi skill tersebut perlu berada di ~/.claude/skills/<name>/SKILL.md atau .claude/skills/<name>/SKILL.md, dengan SKILL.md dieja dengan tepat seperti itu. Jika laluan sudah betul, mulakan semula ejen tersebut. Claude Code mengesan suntingan di dalam direktori skill yang sudah dipantaunya, tetapi direktori skill yang dicipta selepas sesi bermula tidak dipantau sama sekali.