సాంకేతిక పుస్తకాలను ఏజెంట్ స్కిల్గా మార్చడం ఎలా?
PDF లేదా EPUB ఫైళ్లను ఏజెంట్ స్కిల్గా మార్చి మీ కోడింగ్ ఏజెంట్లకు ఎలా అందించాలో తెలుసుకోండి. టోకెన్ బడ్జెట్, హెడ్లెస్ రన్స్ మరియు లైసెన్సింగ్ వివరాలతో పూర్తి గైడ్ ఇక్కడ ఉంది.
సాంకేతిక పుస్తకాన్ని ఏజెంట్ స్కిల్గా మార్చడం: మీరు పొందే ఫలితాలు
ఒక సాంకేతిక పుస్తకాన్ని ఏజెంట్ స్కిల్గా మార్చడానికి, మీరు ఒక కన్వర్టర్ను PDF, EPUB, DOCX ఎగుమతి లేదా మీ వద్ద ఉన్న అంతర్గత పత్రాల ఫోల్డర్కు అనుసంధానించాలి. ఇది ఒక స్కిల్ డైరెక్టరీని రూపొందిస్తుంది: ఇందులో పేర్కొన్న ఫ్రేమ్వర్క్లను కలిగి ఉన్న ఒక ఎంట్రీ ఫైల్ మరియు అధ్యాయాల ఇండెక్స్ ఉంటాయి. అలాగే, మీ ప్రశ్న అడిగినప్పుడు మాత్రమే ఏజెంట్ చదివేలా ప్రతి అధ్యాయానికి ఒక ప్రత్యేక ఫైల్ ఉంటుంది. పుస్తకం మొత్తం ఎప్పటికీ కాంటెక్స్ట్ విండోలోకి వెళ్లదు, కేవలం ఇండెక్స్ మాత్రమే వెళ్తుంది.
ఇది మొదటి నుండి ఏజెంట్ స్కిల్ను రాయడం అనే ప్రక్రియకు పూర్తి భిన్నమైనది. అక్కడ మీరు ఇప్పటికే తెలిసిన విధానాన్ని కోడ్ చేస్తారు. ఇక్కడ జ్ఞానం ఇప్పటికే ఉంది, కానీ ఎవరూ దాన్ని యాక్సెస్ చేయలేకపోతున్నారు: ఉదాహరణకు 800 పేజీల వెండర్ PDF లేదా దాన్ని రాసిన వ్యక్తి వెళ్లిపోయినప్పటి నుండి తెరవని ఒక హ్యాండ్బుక్. ఇక్కడ చేయాల్సిన పని కంప్రెషన్ మరియు ఇండెక్సింగ్. ఒకవేళ 'స్కిల్' అనే పదం మీకు కొత్త అయితే, ముందుగా ఏజెంట్ స్కిల్ అంటే ఏమిటి అనే దాని గురించి చదవండి.
ఇక్కడ ఉపయోగించిన కన్వర్టర్ book-to-skill, ఇది మీ స్వంత మెషీన్లో నడిచే MIT-లైసెన్స్ పొందిన స్కిల్. ఆగస్టు 2026 నాటికి దీని ప్రస్తుత ట్యాగ్ v1.4.0. ఇది రూపొందించే నిర్మాణం, సాధనం కంటే ముఖ్యమైనది. FAQ కు ముందు ఉన్న చివరి విభాగం, అదే నిర్మాణాన్ని మాన్యువల్గా ఎలా నిర్మించాలో వివరిస్తుంది.
టోకెన్ బడ్జెట్ మొత్తం డిజైన్కు ఎందుకు కీలకం
ఒక పుస్తకాన్ని కాంటెక్స్ట్ విండోలో పేస్ట్ చేస్తే, అది అవసరమైన ప్రతి సంభాషణలోనూ దాని పూర్తి పరిమాణం మేరకు ఖర్చు అవుతుంది. ఒక స్కిల్ (skill) దాని ఎంట్రీ ఫైల్ కోసం ఒకసారి ఖర్చు అవుతుంది, ఆపై ప్రశ్న దేనిని తాకుతుందో ఆ అధ్యాయాలకు మాత్రమే అదనపు ఖర్చు ఉంటుంది. ప్రాజెక్ట్ డాక్యుమెంట్లు అది రూపొందించే ప్రతి ఫైల్కు ఒక బడ్జెట్ను కలిగి ఉంటాయి.
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"
}
]ఎంట్రీ ఫైల్, SKILL.md, 4,000 టోకెన్ల పరిమితిని కలిగి ఉంటుంది మరియు ఇది పేర్కొన్న ఫ్రేమ్వర్క్లను, అధ్యాయాల సూచికను (chapter index) కలిగి ఉంటుంది. ప్రతి అధ్యాయం ఫైల్ సుమారు 1,000 టోకెన్లు ఉంటుంది మరియు ఏదైనా అడిగే వరకు డిస్క్లోనే ఉంటుంది. సపోర్టింగ్ ఫైల్స్ కూడా ఇలాగే ఉంటాయి: glossary.md కోసం 1,500 టోకెన్లు, patterns.md కోసం 2,000, cheatsheet.md కోసం 1,000.
ఈ బడ్జెట్లు Claude Code వాస్తవానికి కాంటెక్స్ట్ను ఎలా ఖర్చు చేస్తుందో దానికి అనుగుణంగా ఉంటాయి. ఒక స్కిల్ యొక్క description స్కిల్ లిస్టింగ్లో ఉంటుంది, తద్వారా ఆ స్కిల్ ఉనికిలో ఉందని మోడల్కు తెలుస్తుంది. స్కిల్ పిలవబడినప్పుడు దాని బాడీ లోడ్ అవుతుంది, మరియు లోడ్ అయిన తర్వాత అది సెషన్ ముగిసే వరకు కాంటెక్స్ట్లో ఉంటుంది, కాబట్టి ఎంట్రీ ఫైల్లోని ప్రతి లైన్ పునరావృతమయ్యే ఖర్చుగా మారుతుంది. ఏజెంట్ చదివినప్పుడు మాత్రమే సపోర్టింగ్ ఫైల్స్ లోడ్ అవుతాయి, అందుకే ప్రతి అధ్యాయం ఫైల్స్ తక్కువ ఖర్చుతో కూడుకున్నవి.
ఎంట్రీ ఫైల్ సంఖ్య వెనుక కఠినమైన పరిమితి ఉంది. ఆటో-కంపాక్షన్ (auto-compaction) సుదీర్ఘ సంభాషణను సంగ్రహించినప్పుడు, Claude Code ప్రతి స్కిల్ యొక్క అత్యంత ఇటీవలి ఇన్వోకేషన్ను సమ్మరీ తర్వాత తిరిగి జోడిస్తుంది. ప్రతి రీ-అటాచ్డ్ స్కిల్లో మొదటి 5,000 టోకెన్లను మొత్తం 25,000 టోకెన్ల బడ్జెట్లో ఉంచుతుంది. 5,000 టోకెన్ల లోపు ఉండే ఎంట్రీ ఫైల్ కంపాక్షన్ తర్వాత కూడా అలాగే ఉంటుంది. 20,000 టోకెన్ల ఎంట్రీ ఫైల్ తిరిగి వచ్చినప్పుడు అందులో మొదటి పావు భాగం మాత్రమే ఉంటుంది, మరియు ఏ మూడు వంతులు పోయాయో చెప్పే సమాచారం ఏదీ ఉండదు.
ఇది ప్రోగ్రెసివ్ డిస్క్లోజర్ (progressive disclosure): ఎల్లప్పుడూ దాని ఖర్చుకు తగిన విలువను ఇచ్చే చిన్న ఇండెక్స్, మరియు ఏజెంట్ ఉద్దేశపూర్వకంగా తెరిచే తలుపు వెనుక ఉన్న ప్రధాన సమాచారం. Claude Code తన కాంటెక్స్ట్ విండోను ఎలా నిర్వహిస్తుంది అనే విభాగం మిగిలిన లెక్కలను వివరిస్తుంది.
మీ VPSలో కన్వర్టర్ను ఇన్స్టాల్ చేయండి, ఒక నిర్దిష్ట release కి పిన్ చేయండి
ఈ skill ఒక git రిపోజిటరీ. మీరు ఉపయోగించే ఏజెంట్ యొక్క skills డైరెక్టరీలోకి దీన్ని clone చేయండి. డైరెక్టరీ పేరు slash కమాండ్గా మారుతుంది, కాబట్టి clone చేసే మార్గం (path) మీ ఇష్టానుసారం ఉండకూడదు.
git clone --depth 1 --branch v1.4.0 \
https://github.com/virgiliojr94/book-to-skill.git \
~/.claude/skills/book-to-skill--branch ఒక tag ని అంగీకరిస్తుంది, కాబట్టి ఇది v1.4.0 ని మాత్రమే చెక్ చేస్తుంది, ఆ తర్వాత వచ్చిన వాటిని కాదు. దీన్ని పిన్ చేయండి, ఎందుకంటే skill అనేది మీ ఏజెంట్ అనుసరించే సూచనల సమితి, ఆ సూచనలలో మీరు సమీక్షించని మార్పు ఏదైనా మీ సర్వర్లో రన్ అయ్యే దానిపై ప్రభావం చూపుతుంది. GitHub Copilot CLI దీనికి బదులుగా ~/.copilot/skills/ ని చదువుతుంది, మరియు Amp అయితే ~/.agents/skills/ ని చదువుతుంది.
ఒకే లైన్లో ఇన్స్టాల్ చేసే విధానం కూడా ఉంది, npx skills add virgiliojr94/book-to-skill, ఇది ప్రస్తుతం ఉన్న తాజా వెర్షన్ను తీసుకుంటుంది. టూల్ను పరీక్షించడానికి దీన్ని ఉపయోగించండి. మీరు మళ్లీ మళ్లీ రన్ చేసే దేనికైనా పిన్ చేసిన clone నే ఉపయోగించండి.
ఇప్పుడు సర్వర్లో ఏ extractors ఉన్నాయో నిర్ధారించుకోండి:
cd ~/.claude/skills/book-to-skill
python3 scripts/extract.py --check--check ఏ extractors ఇన్స్టాల్ అయ్యాయో తెలియజేస్తుంది మరియు మిస్ అయిన ప్రతిదానికి ఇన్స్టాల్ కమాండ్ను ప్రింట్ చేస్తుంది. ఈ ప్యాకేజీకి Python 3.9 లేదా అంతకంటే కొత్త వెర్షన్ అవసరం.
clone చేసిన తర్వాత ఆటోకంప్లీట్లో /book-to-skill కనిపించకపోతే, మీ ఏజెంట్ను రీస్టార్ట్ చేయండి. Claude Code సెషన్ ప్రారంభమైనప్పుడు ఉన్న skill డైరెక్టరీలను మాత్రమే గమనిస్తుంది, కాబట్టి మీరు రెండు నిమిషాల క్రితం సృష్టించిన ~/.claude/skills/ ని అది ఇంకా గమనించడం లేదు.
మీకు నిజంగా ఏ extractors అవసరం?
Python తప్ప మరేదీ అవసరం లేదు, ఎందుకంటే ప్రతి ఫార్మాట్కు standard-library fallback అందుబాటులో ఉంటుంది. అయితే ఈ fallbacks అంత సమర్థవంతంగా ఉండవు, మరియు చిన్న సర్వర్లలో అవసరం లేని extractors ఇన్స్టాల్ చేయడం వల్ల సమయం వృథా అవుతుంది.
pdftotext, ఇదిpoppler-utilsప్యాకేజీలో ఉంటుంది, టెక్స్ట్ ఎక్కువగా ఉండే PDFలను వేగంగా ప్రాసెస్ చేస్తుంది. దీన్నిsudo apt install poppler-utilsతో ఇన్స్టాల్ చేయండి.pypdfమరియుpdfminer.sixఅనేవి PDFల కోసం Python fallbacks.doclingఅనేది టేబుల్స్ మరియు కోడ్ లిస్టింగ్స్ ఎక్కువగా ఉండే technical PDFల కోసం. ఇది ప్రతి పేజీకి సుమారు 1.5 సెకన్ల సమయం తీసుకుంటుంది.ebooklibమరియుbeautifulsoup4కలిపి EPUB ఫైళ్లను సరిగ్గా చదువుతాయి. ఇవి లేకపోతే, ఈ టూల్ standard library లోనిzipfileరీడర్ను ఉపయోగిస్తుంది.python-docxDOCX ఫైళ్లను,striprtfRTF ఫైళ్లను చదువుతాయి.- MOBI మరియు AZW ఫైళ్ల కోసం Calibre యొక్క
ebook-convertఅవసరం. ocrmypdfఅనేది టెక్స్ట్ లేయర్ లేని స్కాన్ చేసిన పుస్తకాలపై OCR (optical character recognition) రన్ చేస్తుంది.
Ubuntu 24.04 లో సాధారణ pip3 install pypdf కమాండ్ రన్ చేసినప్పుడు ఈ క్రింది విధంగా ఆగిపోతుంది:
error: externally-managed-environmentఇది pip పాడైందని అర్థం కాదు. Ubuntu మరియు Debian సిస్టమ్ Python ను apt ద్వారా నిర్వహిస్తాయి, కాబట్టి pip అందులో ఏ మార్పులు చేయనివ్వదు. దీనికి రెండు పరిష్కారాలు ఉన్నాయి. sudo apt install poppler-utils ఒక binary ని ఇన్స్టాల్ చేస్తుంది, దీనికి pip అవసరం లేదు. pdftotext చాలా వరకు సాధారణ PDFలను స్వయంగా హ్యాండిల్ చేస్తుంది. Python extractors కోసం, ఒక virtual environment ను సృష్టించి, దాని లోపల నుండి మీ agent ను ప్రారంభించండి. అప్పుడు ఆ skill పిలిచే python3 ప్యాకేజీలు ఉన్న interpreter అవుతుంది.
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ఈ repository లో pdf, epub, docx, rtf, technical మరియు all అనే extras ఉన్నాయి, ఇందులో technical అంటే docling. ప్రాజెక్ట్ యొక్క ఇన్స్టాలేషన్ పేజీలో pip install "book-to-skill[pdf,epub,docx]" కూడా కనిపిస్తుంది, కానీ ఆగస్టు 2026 నాటికి ఆ పేరు PyPI లో అందుబాటులో లేదు, కాబట్టి పైన చెప్పినట్లుగా మీ స్వంత checkout నుండి ఇన్స్టాల్ చేయండి.
ఏదైనా పుస్తకానికి అవసరమయ్యే వరకు docling ని ఇన్స్టాల్ చేయకండి. ఇది machine learning stack ను డౌన్లోడ్ చేస్తుంది, కాబట్టి ఇన్స్టాల్ చేసే ముందు చిన్న ప్లాన్ సర్వర్లలో డిస్క్ స్పేస్ సరిగ్గా ఉందో లేదో తనిఖీ చేయండి.
ఫోల్డర్లోని డాక్యుమెంట్లపై, headless మోడ్తో సహా రన్ చేయడం
ఈ కమాండ్ ఒక ఫైల్, ఫోల్డర్, కోట్ చేసిన glob, లేదా ఒకేసారి అనేక పాత్లను తీసుకుంటుంది, ఆ తర్వాత ఐచ్ఛికంగా ఒక skill పేరును తీసుకుంటుంది. ఒక డైరెక్టరీలో మీరు ఉంచగలిగే ఏదైనా పనిచేస్తుంది, RFC సెట్ (request for comments, ఇంటర్నెట్ ప్రోటోకాల్లను నిర్వచించే డాక్యుమెంట్లు) కూడా ఇందులో భాగమే.
/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మీ షెల్ glob ను విస్తరించకుండా (expand) ఉండటానికి దానిని కోట్ చేయండి. కమాండ్ను ఇప్పటికే ఉన్న ఒక skill డైరెక్టరీకి పాయింట్ చేస్తే, అది రెండవ skill ను సృష్టించే బదులు కొత్త మూలాలను (sources) ఆ skill లోనే కలుపుతుంది.
ఇంటరాక్టివ్ రన్ మిమ్మల్ని ప్రశ్నలు అడుగుతుంది. మెటీరియల్ సాంకేతికమైనదా లేదా టెక్స్ట్ ఎక్కువగా ఉన్నదా అనేది ఎక్స్ట్రాక్టర్ను నిర్ణయిస్తుంది. మీకు రిఫరెన్స్ డెప్త్ కావాలా లేదా స్టడీ డెప్త్ కావాలా అనేది ప్రతి చాప్టర్ బడ్జెట్ను నిర్ణయిస్తుంది. skill కు ఏమి పేరు పెట్టాలి, అది ఏ skill రూట్లో ఉండాలి అనేది కూడా అడుగుతుంది. ఇది జనరేషన్కు ముందు టోకెన్ మరియు సమయం యొక్క అంచనాను ప్రింట్ చేసి, మీరు నిర్ధారించే వరకు వేచి ఉంటుంది.
headless రన్లో ఆ ప్రశ్నలకు సమాధానం చెప్పడానికి ఎవరూ ఉండరు. వినియోగదారుడు పిలవగలిగే skills claude -p లో పనిచేస్తాయి: ప్రాంప్ట్ స్ట్రింగ్లో స్లాష్ కమాండ్ను ఉంచండి, రన్ ప్రారంభం కావడానికి ముందే Claude Code దానిని విస్తరిస్తుంది. కాబట్టి అదే ప్రాంప్ట్లో ప్రశ్నలకు సమాధానం ఇవ్వండి.
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 రన్కు అవసరమైన టూల్స్ను ముందుగానే ఆమోదిస్తుంది, ఎందుకంటే టెర్మినల్ లేని పర్మిషన్ ప్రాంప్ట్ ఎప్పటికీ పూర్తికాని రన్కు దారితీస్తుంది. --output-format json ని జోడించడం వల్ల ఫలితాల్లో total_cost_usd కనిపిస్తుంది, ఇది మీ బిల్లుకు బదులుగా క్లయింట్-సైడ్ అంచనాను చూపుతుంది.
ఏదైనా మోడల్ చదవడానికి ముందే, ఎక్స్ట్రాక్షన్ ప్రతి మూలాన్ని /tmp కింద ఉన్న తాత్కాలిక వర్క్ డైరెక్టరీలోకి ఏకీకృతం చేస్తుంది, రన్ యొక్క చివరి దశలో ఆ డైరెక్టరీ తొలగించబడుతుంది. ఎక్స్ట్రాక్ట్ చేయడంలో విఫలమైన మూలాన్ని వదిలివేస్తుంది, తద్వారా బ్యాచ్ ప్రక్రియ కొనసాగుతుంది; అంటే మీరు అందించిన ఫైళ్ల కంటే తక్కువ ఫైళ్లను చదివినా రన్ విజయవంతమైనట్లు రిపోర్ట్ చేయవచ్చు. ఫైనల్ రిపోర్ట్లోని ఫైల్ ఇన్వెంటరీని మీరు ఫోల్డర్లో ఉంచిన వాటితో పోల్చి చూడండి. ఒక చాప్టర్ కనిపించకపోతే, సాధారణంగా అది మూలం (source) మిస్ అవ్వడం వల్ల జరుగుతుంది.
ఏజెంట్కు అప్పగించడానికి మీకు సౌకర్యంగా ఉండే సర్వర్ను రన్ కోసం ఎంచుకోండి. VPS పై Claude Code ను సురక్షితంగా రన్ చేయడం అనే విభాగం దీనికి సంబంధించిన పర్మిషన్ల గురించి వివరిస్తుంది.
అవుట్పుట్ ఎక్కడికి వెళ్తుందో, తద్వారా మీ కోడింగ్ ఏజెంట్ దానిని కనుగొనగలదు
సృష్టించబడిన స్కిల్ ఒక స్కిల్స్ రూట్ (skills root) లో నిక్షిప్తమవుతుంది. వాటిలో రెండు ముఖ్యమైనవి.
~/.claude/skills/<skill-name>/అనేది వ్యక్తిగతమైనది, మరియు ఆ మెషీన్లోని ప్రతి ప్రాజెక్ట్లో అందుబాటులో ఉంటుంది..claude/skills/<skill-name>/అనేది రిపోజిటరీ లోపల ఉంటుంది మరియు దానితో పాటే ప్రయాణిస్తుంది.
వీటిలో దేనిలోనైనా మీకు SKILL.md లభిస్తుంది, ఇది ప్రతి అధ్యాయానికి ఒక ఫైల్ మరియు సపోర్టింగ్ ఫైళ్లను కలిగి ఉన్న chapters/ డైరెక్టరీ. డైరెక్టరీ పేరు కమాండ్గా పనిచేస్తుంది, కాబట్టి ~/.claude/skills/platform-handbook/ మీకు /platform-handbook ని అందిస్తుంది, మరియు మీరు దానిని ఒక అంశంతో లేదా సాధారణ ప్రశ్నతో అనుసరించవచ్చు.
సౌలభ్యం కంటే లైసెన్సింగ్ ఆధారంగా రూట్ను ఎంచుకోండి. మీరు కొనుగోలు చేసిన పుస్తకం నుండి రూపొందించిన స్కిల్ మీ వ్యక్తిగత డైరెక్టరీకి చెందుతుంది. మీ స్వంత బృందం రాసిన డాక్యుమెంటేషన్ నుండి రూపొందించిన స్కిల్ రిపోజిటరీకి చెందుతుంది, ఇది అనేక రిపోజిటరీలలో ఒకే స్కిల్ను పంచుకోవడం అనే తదుపరి సమస్యను పరిష్కరించడానికి దారితీస్తుంది.
మీరు ప్రతి స్కిల్ను జోడించినప్పుడు ఒక ఖర్చు పెరుగుతుంది. ప్రతి స్కిల్ యొక్క వివరణ స్కిల్ లిస్టింగ్లోనే ఉంటుంది, తద్వారా మోడల్ దానిని ఉపయోగించాలా వద్దా అని నిర్ణయించుకోగలదు, కలిపిన వివరణాత్మక పాఠ్యం ప్రతి ఎంట్రీకి 1,536 అక్షరాల వద్ద కత్తిరించబడుతుంది, మరియు మొత్తం లిస్టింగ్కు ఒక బడ్జెట్ ఉంటుంది. పది పుస్తక స్కిల్స్ అంటే పది వివరణలు దాని కోసం పోటీ పడటం అని అర్థం. మీరు ఎల్లప్పుడూ పేరుతో పిలిచే వాటి కోసం, రూపొందించిన ఫ్రంట్మ్యాటర్కు ఒక లైన్ను జోడించండి:
---
name: platform-handbook
description: Frameworks and chapter index from the internal platform handbook.
disable-model-invocation: true
---disable-model-invocation: true తో వివరణ పూర్తిగా సందర్భం (context) నుండి బయట ఉంటుంది, మరియు మీరు /platform-handbook అని టైప్ చేసినప్పుడు స్కిల్ పూర్తిగా లోడ్ అవుతుంది. మీరు ఆటోమేటిక్ డిస్కవరీని వదులుకుంటారు మరియు మరింత ప్రశాంతమైన కాంటెక్స్ట్ విండోను పొందుతారు.
లైసెన్సింగ్: MIT కన్వర్టర్కు మాత్రమే వర్తిస్తుంది, పుస్తకానికి కాదు
దీని విషయంలో ఖచ్చితంగా ఉండండి, ఎందుకంటే ఇక్కడ వైఫల్యం సాంకేతికమైనది కాదు.
- MIT లైసెన్స్ కన్వర్టర్ కోడ్ మరియు దాని స్కిల్ డెఫినిషన్కు మాత్రమే వర్తిస్తుంది. మీరు దానికి అందించే డాక్యుమెంట్ గురించి అది ఏమీ చెప్పదు.
- మీరు కొనుగోలు చేసిన పుస్తకాన్ని, మీ నియంత్రణలో ఉన్న హార్డ్వేర్పై కన్వర్టర్ ద్వారా రన్ చేయడం అనేది, మీ సొంత కాపీ నుండి మీరు నోట్స్ తీసుకోవడం వంటిది.
- ఫలితాన్ని ప్రచురించడం అనేది పంపిణీ (distribution) కిందకు వస్తుంది. టూల్పై ఉన్న MIT లైసెన్స్, వేరొకరి పుస్తకం నుండి సేకరించిన దేనినైనా పంపిణీ చేసే హక్కును మీకు ఇవ్వదు.
- అవుట్పుట్ అనేది ఒక డెరివేటివ్ వర్క్ (derivative work). ఫ్రేమ్వర్క్లు మరియు చాప్టర్ సారాంశాలు ఇప్పటికీ మూల గ్రంథం ఆధారంగానే ఉంటాయి, కాబట్టి డెరివేటివ్ వర్క్ మూల గ్రంథం యొక్క కాపీరైట్ నిబంధనలకే లోబడి ఉంటుంది.
- మీరు తిరిగి పంపిణీ చేయడానికి వీలులేని మెటీరియల్ నుండి రూపొందించిన స్కిల్, దానిని తయారు చేసిన మెషీన్కే పరిమితం కావాలి. అది పబ్లిక్ రిపోజిటరీలో ఉండకూడదు. టీమ్ షేర్డ్ మార్కెట్ప్లేస్లో ఉండకూడదు.
- మూల సమాచారం మీ సొంతమైనప్పుడు లేదా ఓపెన్ లైసెన్స్ కలిగి ఉన్నప్పుడు మాత్రమే ప్రచురించండి: మీ టీమ్ రాసిన డాక్యుమెంటేషన్ లేదా పంపిణీకి అనుమతి ఉన్న ప్రమాణాలు (standards) వంటివి.
ఈ టూల్ దీనిని దృష్టిలో ఉంచుకునే రూపొందించబడింది. ఇది ఎటువంటి పుస్తక కంటెంట్ను కలిగి ఉండదు, ఎక్స్ట్రాక్షన్ స్థానికంగా (locally) జరుగుతుంది. దీని పబ్లిష్ స్టెప్ రిపోజిటరీ విజిబిలిటీ గురించి అడుగుతుంది, ఇది ఒక ప్రత్యేక ప్రశ్న. దీనికి సమాధానంగా అది స్వయంచాలకంగా నిర్ణయించకుండా, కేవలం public లేదా private అనే పదాలను మాత్రమే అడుగుతుంది. ఆ ప్రాంప్ట్ను లైసెన్సింగ్ నిర్ణయంగా పరిగణించండి, ఎందుకంటే అదే నిజమైన నిర్ణయం.
అంతర్గత హ్యాండ్బుక్ల విషయంలో మరొక సమస్య ఉంది. వీటిలో ఎవరూ ఊహించని విధంగా క్రెడెన్షియల్స్ ఉండే అవకాశం ఉంది. కన్వర్టర్, ఎవరూ తెరవని PDF ఫైల్ను మీ ఏజెంట్ ఎప్పుడు కావాలంటే అప్పుడు చదవగలిగే ఫైల్గా మారుస్తుంది. మీరు జనరేట్ చేసిన ఫైల్లను కమిట్ చేసే ముందు ఒకసారి చదవండి. AI ఏజెంట్లలో రహస్యాలను ఉంచకుండా జాగ్రత్తపడటం చూడండి.
ఒక కన్వర్షన్ (conversion) ఖర్చు ఎంత?
కింద ఉన్న సంఖ్యలు మావి కావు, ప్రాజెక్ట్ స్వయంగా ప్రచురించిన కొలతలు.
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
}
]ప్రాజెక్ట్ కొలిచిన 4 పుస్తకాలలో, ఒక కన్వర్షన్ ఖర్చు 0.88 నుండి 1.42 US డాలర్ల మధ్య ఉంది, Pro Git పుస్తకానికి ఈ ఖర్చు 1.23 గా ఉంది. ఈ గణాంకాలను Claude Sonnet 4.5 పై కొలిచారు, టోకెన్ల సంఖ్యను tiktoken ద్వారా cl100k_base ఉపయోగించి లెక్కించారు, మరియు వీటిని ఆగస్టు 2026 నాటికి ప్రాజెక్ట్ యొక్క docs/performance.md లో ప్రచురించారు. మీ ఖర్చు మీరు ఎంచుకునే మోడల్ మరియు ధరలపై ఆధారపడి మారుతుంది.
ఒక పుస్తకాన్ని మొత్తం కాంటెక్స్ట్లో పేస్ట్ చేయడం కంటే, ఆ నైపుణ్యం (skill) నుండి ఒకే ప్రశ్నను అడగడానికి 24 నుండి 51 రెట్లు తక్కువ టోకెన్లు అవసరమవుతాయని కూడా ప్రాజెక్ట్ పేర్కొంది. ఇది ఒక హామీగా కాకుండా, ఆదా అయ్యే విధానంగా చూడండి, ఎందుకంటే ఇది పుస్తకం మరియు ప్రశ్నపై ఆధారపడి ఉంటుంది. నిర్మాణాత్మకమైన విషయం ఏమిటంటే: కన్వర్షన్ కోసం ఒకసారి మాత్రమే చెల్లిస్తారు, కానీ కాంటెక్స్ట్ డంప్ కోసం పుస్తకం అవసరమైన ప్రతి సంభాషణలోనూ మళ్ళీ చెల్లించాల్సి ఉంటుంది.
PDFని పేస్ట్ చేయడం లేదా RAG ఇండెక్స్ను ఎందుకు నిర్మించకూడదు?
ఒక పత్రానికి సంబంధించిన ఒకే ప్రశ్న కోసం పేస్ట్ చేయడం పని చేస్తుంది, ఇది సరైన పద్ధతి కూడా. కానీ అదే పుస్తకం మంగళవారం మరియు శుక్రవారం మళ్ళీ అవసరమైనప్పుడు ఇది సరైన పద్ధతిగా ఉండదు, ఎందుకంటే ప్రతిసారీ మీరు దాని పూర్తి పరిమాణానికి చెల్లించాల్సి ఉంటుంది.
Retrieval లేదా RAG (retrieval augmented generation), క్వెరీ సమయంలో వెతికి, మీ పదాలకు సరిపోయే భాగాలను తిరిగి ఇస్తుంది. మీకు ఖచ్చితమైన వాక్యం అవసరమైనప్పుడు ఇది చాలా శక్తివంతంగా ఉంటుంది. ఒక అధ్యాయం అంతటా విస్తరించి ఉన్న ఫ్రేమ్వర్క్ గురించి సమాచారం కావాల్సి వచ్చినప్పుడు ఇది బలహీనపడుతుంది, ఎందుకంటే ఏ ఒక్క భాగం కూడా పూర్తి సమాచారాన్ని కలిగి ఉండదు. ఒక skill ఆ సమాచారాన్ని కన్వర్షన్ సమయంలోనే ఒకసారి సేకరించి, భాగాలకు బదులుగా నిర్మాణాన్ని (structure) నిల్వ చేస్తుంది.
నిజాయితీగా చెప్పాలంటే: రూపొందించబడిన skill అనేది ఒక మోడల్ రాసిన నష్టంతో కూడిన సారాంశం (lossy summary). ఇది కేవలం చదువుకోవడానికి సహాయపడే సాధనం మాత్రమే, అసలైన మూలం ఎప్పటికీ మూలమే. ఖచ్చితమైన పదజాలం చట్టపరమైన లేదా ప్రోటోకాల్ ప్రాముఖ్యతను కలిగి ఉన్నప్పుడు, PDFని ఉంచుకుని దాని నుండి కోట్ చేయండి. MCP సర్వర్లు మరియు రూల్స్ ఫైళ్లతో పోల్చిన Skills విభాగం ఏ పద్ధతి ఎక్కడ ఉపయోగపడుతుందో వివరిస్తుంది.
వైఫల్య రీతులు మరియు మీకు కనిపించే సందేశాలు
స్కాన్ చేసిన PDF ఏ ఫలితాన్ని ఇవ్వదు. ఎక్స్ట్రాక్టర్ ప్రారంభ పేజీలలో టెక్స్ట్ లేయర్ ఉందో లేదో తనిఖీ చేస్తుంది. 400 పేజీల చిత్రాలను ప్రాసెస్ చేసే బదులు, వివరణతో ఆగిపోతుంది. ముందుగా ocrmypdf input.pdf output.pdf ని రన్ చేసి, ఆపై వచ్చే అవుట్పుట్ ఫైల్ను దీనికి అందించండి.
pip ఇన్స్టాల్ చేయడానికి నిరాకరిస్తుంది. Ubuntu 24.04 లో error: externally-managed-environment అనేది సిస్టమ్ Python ను రక్షించడానికి apt తీసుకునే చర్య. పైన పేర్కొన్న వర్చువల్ ఎన్విరాన్మెంట్ను ఉపయోగించండి లేదా poppler-utils ని ఇన్స్టాల్ చేసి pip ని పూర్తిగా వదిలేయండి.
చాప్టర్లు తప్పుగా వస్తాయి. చాప్టర్ గుర్తింపు ప్రక్రియ Chapter 7 వంటి స్పష్టమైన హెడ్డింగ్ల కోసం మరియు వాటి భాషా వైవిధ్యాల కోసం వెతుకుతుంది. కేవలం సెక్షన్ టైటిల్స్ లేదా రోమన్ అంకెలు మాత్రమే ఉన్న పుస్తకం సరిగ్గా విభజించబడదు. దీనికి పరిష్కారం ఏమిటంటే, ప్రోగ్రామ్ ఊహిస్తుందని ఆశించే బదులు, చాప్టర్లు ఎక్కడ ప్రారంభమవుతాయో మీరే తెలియజేయడం.
కమాండ్ లేదు. ఆటోకంప్లీట్లో /book-to-skill కనిపించడం లేదంటే, మీ సెషన్ ప్రారంభమైన తర్వాత స్కిల్స్ డైరెక్టరీ సృష్టించబడిందని అర్థం. ఏజెంట్ను రీస్టార్ట్ చేయండి.
Docling చాలా సమయం తీసుకుంటుంది. పేజీకి సుమారు 1.5 సెకన్ల చొప్పున, ఒక పెద్ద పుస్తకానికి CPU సమయం నిమిషాల్లో పడుతుంది. షేర్డ్ సర్వర్లో ఈ రన్ మీరు హోస్ట్ చేసే ఇతర సేవలన్నింటితో పోటీ పడుతుంది. కంటెంట్ రకం గురించి అడిగినప్పుడు "text-heavy" అని సమాధానం ఇవ్వండి లేదా మీరు స్వయంగా scripts/extract.py ని రన్ చేస్తున్నప్పుడు --mode text ని పాస్ చేయండి. --mode technical అనేది docling ని ఎంచుకునే సమాధానం.
ఒక సోర్స్ నిశ్శబ్దంగా మాయమవుతుంది. చదవలేని ఫైల్ను బ్యాచ్ పూర్తి కావడానికి వీలుగా వదిలేస్తుంది. మీరు ఇచ్చిన సోర్సుల కంటే తక్కువ సోర్సులతో రన్ విజయవంతమైందని నివేదిస్తుంది. ఇది ఎక్కడ జరిగిందో కేవలం తుది నివేదికలోని ఫైల్ ఇన్వెంటరీలో మాత్రమే చూడగలరు.
అదే పద్ధతిని మాన్యువల్గా వర్తింపజేయండి
ఈ సాధనం కేవలం సౌకర్యం కోసం మాత్రమే. దీని నిర్మాణం ముఖ్యమైనది, కాబట్టి మీరు కలిగి ఉన్న ఏ సమాచారానికైనా టెక్స్ట్ ఎడిటర్ ఉపయోగించి దీనిని నిర్మించవచ్చు.
- ఒక ఎంట్రీ ఫైల్ను రూపొందించి, దానిని కన్వర్టర్ లక్ష్యంగా చేసుకున్న 4,000 టోకెన్ల దగ్గర ఉంచండి. అందులో పేర్కొన్న అంశాలను వాటి ఖచ్చితమైన వివరణలతో చేర్చండి. అలాగే, ప్రతి వివరాల ఫైల్ మరియు ఆ ఫైల్లో ఉన్న అంశాలను సూచించే ఒక ఇండెక్స్ను అందులో ఉంచండి.
- సమాచారాన్ని సుమారుగా 1,000 టోకెన్లు ఉండే ఫైళ్లుగా విభజించండి. ప్రతి ఫైల్కు ఒకే అంశాన్ని కేటాయించండి. ఫైల్ పేరు చూడగానే అందులో ఏముందో తెలిసేలా పేరు పెట్టండి.
- ఎంట్రీ ఫైల్ నుండి ఆ ఫైళ్లలో ప్రతి దానిని వివరించండి. ఏ సందర్భంలో ఆ ఫైల్ను చదవాలో తెలియజేసే వాక్యాన్ని అక్కడ రాయండి.
చాలామంది మూడవ దశను విస్మరిస్తారు, కానీ ఈ పద్ధతి విజయవంతం కావడానికి అదే కీలకం. ఏజెంట్ ఇండెక్స్ను చదివి ఏ ఫైల్ ఓపెన్ చేయాలో నిర్ణయించుకుంటుంది, కాబట్టి ఇండెక్స్లో వివరించని ఫైల్ను ఏజెంట్ ఎప్పటికీ ఓపెన్ చేయదు. ఇండెక్స్ అనేది ప్రధానమైన ఉత్పత్తి, అధ్యాయాల ఫైళ్లు కేవలం నిల్వ కోసం మాత్రమే.
ఎంట్రీ ఫైల్ను నిర్ణీత పరిమితి (compaction budget) లోపు ఉంచితే, సుదీర్ఘ సెషన్లలో కూడా మొత్తం నిర్మాణం చెక్కుచెదరకుండా ఉంటుంది. కన్వర్టర్ ఫైళ్లను సృష్టించినా లేదా మీరే స్వయంగా సృష్టించినా ఈ నియమం వర్తిస్తుంది.
FAQ
నేను కొన్న పుస్తకం నుండి తయారు చేసిన skillని ప్రచురించవచ్చా?
లేదు, ఆ పుస్తకం యొక్క లైసెన్స్ పునఃపంపిణీకి అనుమతిస్తే తప్ప ఇది సాధ్యం కాదు. కన్వర్టర్పై ఉన్న MIT లైసెన్స్ కేవలం కన్వర్టర్ కోడ్కు మాత్రమే వర్తిస్తుంది, మీరు అందించే కంటెంట్కు కాదు; తయారైన skill ఆ పుస్తకం యొక్క derivative work అవుతుంది. దీన్ని మీ స్వంత మెషీన్లోని ~/.claude/skills/ లోనే ఉంచండి. మీరు స్వయంగా రాసిన డాక్యుమెంటేషన్ లేదా ఓపెన్ లైసెన్స్ ఉన్న వనరుల కోసం ప్రచురించడం సరే, మరియు ఈ టూల్ రిపోజిటరీ విజిబిలిటీ గురించి ప్రత్యేకంగా అడుగుతుంది, కేవలం public లేదా private మాత్రమే అంగీకరిస్తుంది, కాబట్టి ఈ నిర్ణయం ఉద్దేశపూర్వకంగానే తీసుకోవాలి.
నాకు docling అవసరమా, లేక pdftotext సరిపోతుందా?
సాధారణ వచనానికి (prose) poppler-utils నుండి వచ్చే pdftotext సరిపోతుంది మరియు ఇది తక్షణమే పనిచేస్తుంది. పుస్తకం యొక్క విలువ దానిలోని పట్టికలు మరియు కోడ్ లిస్టింగ్లలో ఉన్నప్పుడు docling ని ఇన్స్టాల్ చేయండి, ఎందుకంటే సాధారణ టెక్స్ట్ ఎక్స్ట్రాక్టర్ వాటిని తొలగిస్తుంది. ఇక్కడ వేగం ఒక ముఖ్యమైన అంశం: ఈ ప్రాజెక్ట్ docling వేగాన్ని పేజీకి సుమారు 1.5 సెకన్లుగా అంచనా వేస్తుంది, కాబట్టి 300 పేజీల మాన్యువల్ ప్రాసెస్ అవ్వడానికి VPS పై కొన్ని నిమిషాల CPU సమయం పడుతుంది.
నా VPSలో externally-managed-environment అని pip ఎందుకు విఫలమవుతుంది?
Ubuntu 24.04 మరియు ప్రస్తుత Debian వెర్షన్లు సిస్టమ్ Pythonను apt ద్వారా నిర్వహించబడేదిగా గుర్తిస్తాయి, కాబట్టి pip అందులో ఇన్స్టాల్ చేయడానికి నిరాకరిస్తుంది మరియు error: externally-managed-environment అని చూపిస్తుంది. python3 -m venv ~/.venvs/book-to-skill తో ఒక virtual environmentను సృష్టించి, దాన్ని యాక్టివేట్ చేసి, ఎక్స్ట్రాక్టర్లను అక్కడ ఇన్స్టాల్ చేయండి, ఆపై అదే షెల్ నుండి మీ ఏజెంట్ను ప్రారంభించండి. ఈ skill python3 ని పిలుస్తుంది, కాబట్టి అది మీ PATHలో ఉన్న ఇంటర్ప్రెటర్ను ఉపయోగిస్తుంది, అది ఇప్పుడు virtual environment లో ఉన్నది అవుతుంది.
నేను తయారు చేసిన skill స్లాష్ కమాండ్గా ఎందుకు కనిపించడం లేదు?
దీనికి రెండు కారణాలు ఉండవచ్చు. కమాండ్ పేరు డైరెక్టరీ పేరు నుండి వస్తుంది, కాబట్టి skill తప్పనిసరిగా ~/.claude/skills/<name>/SKILL.md లేదా .claude/skills/<name>/SKILL.md వద్ద ఉండాలి, మరియు SKILL.md ఖచ్చితంగా అదే విధంగా స్పెల్లింగ్ ఉండాలి. పాత్ సరిగ్గా ఉంటే, ఏజెంట్ను రీస్టార్ట్ చేయండి. Claude Code ఇప్పటికే గమనిస్తున్న skill డైరెక్టరీలలోని మార్పులను గుర్తిస్తుంది, కానీ సెషన్ ప్రారంభమైన తర్వాత సృష్టించిన skills డైరెక్టరీని అది అసలు గమనించదు.