Anthropic के डॉक्स में छिपे SKILL.md Body लिखने के 5 नियम
Anthropic की आधिकारिक डॉक्यूमेंटेशन में छिपे SKILL.md body लिखने के पांच सिद्धांत। description और body की भूमिका अलग करने से लेकर वेरिफिकेशन लूप तक।
एक Skill बनाने के लिए YAML frontmatter की सिर्फ दो लाइनें काफी हैं। लेकिन body कैसे लिखते हैं, यही तय करता है कि आउटपुट की क्वालिटी कैसी होगी।
Anthropic की आधिकारिक डॉक्यूमेंटेशन और इंजीनियरिंग ब्लॉग को क्रॉस-रेफरेंस करके मैंने काम करने की प्रक्रिया और body लिखने के सिद्धांतों को पांच नियमों में समेटा है। यह सब इसलिए शुरू हुआ क्योंकि मेरे खुद के बनाए Skills कभी-कभी लोड होने में फेल हो जाते थे, और मैंने छुट्टी के वीकेंड में शुरू से सब कुछ वेरिफाई किया।
Skill के एक्जीक्यूशन ऑर्डर को समझे बिना body डिज़ाइन गड़बड़ होगा
Skills प्रॉम्प्ट की तरह कन्वर्सेशन में सीधे इंजेक्ट नहीं होते। स्टार्टअप पर सिस्टम प्रॉम्प्ट में सिर्फ name और description लोड होते हैं।
जब यूज़र की रिक्वेस्ट description से मैच करती है, तब Claude Bash टूल से पूरा SKILL.md पढ़ता है। उसके बाद ही ज़रूरत के हिसाब से रेफरेंस फाइलें और स्क्रिप्ट्स लोड करता है। Anthropic का इंजीनियरिंग ब्लॉग इस स्ट्रक्चर को “प्रोग्रेसिव डिस्क्लोज़र (progressive disclosure)” कहता है।
- स्टेज 1: सिर्फ मेटाडेटा (name + description) हमेशा लोड रहता है। हर Skill के लिए करीब 100 tokens।
- स्टेज 2: SKILL.md body कॉन्टेक्स्ट विंडो में सिर्फ मैच होने पर ही आता है।
- स्टेज 3: scripts और references फोल्डर की फाइलें असल इस्तेमाल के वक्त लोड होती हैं।
- स्क्रिप्ट रन होने पर कोड खुद कॉन्टेक्स्ट में नहीं आता, सिर्फ आउटपुट कंज़्यूम होता है।
इस स्ट्रक्चर को समझे बिना आप body में बेकार की जानकारी भर देंगे और जो सच में ज़रूरी है वो छूट जाएगा।
body में “कब इस्तेमाल करें” लिखना tokens की बर्बादी है
बहुत से लोग body में “When to Use This Skill” सेक्शन डालते हैं। खुद बनाकर देखने के बाद मुझे पता चला कि यह पूरी तरह बेकार है। body सिर्फ तब पढ़ा जाता है जब Skill पहले से ट्रिगर हो चुका हो।
“कब इस्तेमाल करें” सिर्फ description में होना चाहिए। Anthropic का आधिकारिक skill-creator रिपो यह बात साफ तौर पर बताता है।
- description ही एकमात्र ट्रिगर मैकेनिज़्म है (body में लिखने पर भी Claude रेफर नहीं करता)
- description की लिमिट 1,024 कैरेक्टर है। थर्ड पर्सन में लिखने से डिस्कवरी एक्यूरेसी बढ़ती है।
- body में टास्क के नियम, प्रक्रियाएं, और अपेक्षित आउटपुट फॉर्मेट होने चाहिए।
- “इस Skill का इस्तेमाल तब करें जब…” जैसी लाइनें body से हटा दें।
body 500 लाइनों के अंदर रखें और बाकी अलग करें
Anthropic गाइड की पहली लाइन कहती है कि कॉन्टेक्स्ट विंडो एक शेयर्ड रिसोर्स है। Skill लोड होने पर यह कन्वर्सेशन हिस्ट्री और सिस्टम प्रॉम्प्ट के साथ tokens शेयर करता है।
आधिकारिक सिफारिश है कि body 500 लाइनों से कम रखें और डिटेल्ड कंटेंट अलग फाइलों में निकालें। SKILL.md टेबल ऑफ कंटेंट्स का काम करता है, और रेफरेंस फाइलें अलग-अलग चैप्टर्स बनती हैं।
- body 500 लाइनों से कम रखने की सिफारिश (Anthropic best practices में लिखा है)
- रेफरेंस फाइलें SKILL.md से सिर्फ एक लेवल गहराई तक लिंक करें
- दो या ज़्यादा लेवल की नेस्टेड रेफरेंस में Claude
head -100से सिर्फ पहली 100 लाइनें पढ़ सकता है - 100 लाइनों से ज़्यादा की रेफरेंस फाइल में ऊपर टेबल ऑफ कंटेंट्स जोड़ें
यह मानकर लिखें कि Claude पहले से स्मार्ट है
body में PDF क्या है यह समझाना tokens की बर्बादी है। Anthropic गाइड में एक सिद्धांत बार-बार दोहराया गया है:
“जो Claude पहले से जानता है वो मत लिखो।”
50 tokens का संक्षिप्त कोड उदाहरण 150 tokens के कॉन्सेप्चुअल एक्सप्लेनेशन से बेहतर परफॉर्म करता है। एक ही PDF एक्सट्रैक्शन टास्क पर मेरे टेस्ट में, छोटे body ने लंबे body से काफी बेहतर एक्यूरेसी दी।
- हर वाक्य के लिए खुद से पूछें: “क्या यह एक्सप्लेनेशन इतने tokens के लायक है?”
- कॉन्सेप्चुअल एक्सप्लेनेशन की जगह कोड उदाहरण + अपेक्षित आउटपुट फॉर्मेट दें
- टास्क फ्रीडम को तीन लेवल (हाई/मीडियम/लो) में बांटकर इंस्ट्रक्शन की तीव्रता एडजस्ट करें
- DB माइग्रेशन जैसे टास्क के लिए फ्रीडम लो रखें। कोड रिव्यू के लिए हाई।
बेहतर क्वालिटी के लिए body में वेरिफिकेशन लूप एम्बेड करें
एक्जीक्यूट → वेरिफाई → फिक्स → री-वेरिफाई। यह Anthropic का सबसे प्रैक्टिकल body पैटर्न है। body में चेकलिस्ट एम्बेड करने से Claude के स्टेप्स स्किप करने की संभावना काफी कम हो जाती है।
आधिकारिक गाइड यह भी बताता है कि “MUST filter” जैसी स्ट्रॉन्ग लैंग्वेज “always filter” से ज़्यादा कम्प्लायंस रेट हासिल करती है।
- कॉम्प्लेक्स टास्क के लिए चेकलिस्ट फॉर्मेट में स्टेप्स लिखें
- body में स्क्रिप्ट वेरिफिकेशन → एरर फिक्स → री-वेरिफिकेशन लूप शामिल करें
- “always” की जगह “MUST” इस्तेमाल करें, Claude की कम्प्लायंस रेट बढ़ती है
- एरर मैसेज स्पेसिफिक लिखें ताकि Claude खुद सेल्फ-करेक्ट कर सके
सार
description तय करता है कि Skill कब ट्रिगर होगा। body तय करता है कि कैसे एक्जीक्यूट होगा। जैसे ही आप इन दोनों रोल्स को मिला देते हैं, Skill न ठीक से ट्रिगर होता है और न क्वालिटी आउटपुट देता है।
एक अच्छा Skill एक अच्छे ऑनबोर्डिंग डॉक्यूमेंट जैसा होता है। सबसे पावरफुल डॉक्यूमेंट वो हैं जो यह मानकर शुरू होते हैं कि पढ़ने वाला पहले से स्मार्ट है।
न्यूज़लेटर से जुड़ें
मेरे नवीनतम प्रोजेक्ट्स, लेखों और AI तथा वेब डेवलपमेंट प्रयोगों के बारे में अपडेट प्राप्त करें।