Agent Skills (कौशल): बार-बार दोहराए जाने वाले कार्यों को कौशल के रूप में सहेजना
📚 सीरीज नेविगेशन: पिछला लेख [21 उप-एजेंट (Subagents)] जटिल कार्यों को विभाजित करके उन्हें स्वतंत्र संदर्भ (Context) वाले विशेष एजेंटों को सौंपने के बारे में था। यह लेख एक नया दृष्टिकोण प्रदान करता है: कार्यों को विभाजित करने के बजाय, क्षमताओं को व्यवस्थित करना—ताकि बार-बार दिए जाने वाले निर्देशों को Agent Skills के रूप में सहेजकर आवश्यकतानुसार सीधे कॉल किया जा सके। अगला लेख [23 प्लगइन्स (Plugins)] यह समझाएगा कि कैसे इन क्षमताओं को पैक करके अन्य उपयोगकर्ताओं के साथ साझा किया जा सकता है।
मैंने OpenAI के आधिकारिक github.com/openai/skills रिपोजिटरी को देखा।
वहाँ उपलब्ध Skill निर्देशिका का ढांचा बहुत सरल है, जहाँ केवल एक SKILL.md फ़ाइल होती है—फ़ाइल के शुरू में कुछ विवरण (Metadata) होते हैं, और नीचे निर्देश लिखे होते हैं। आधिकारिक दस्तावेज़ों में इसे "पुनः प्रयोज्य वर्कफ़्लो का प्रारूप" (the authoring format for reusable workflows) कहा गया है: आप अपनी कोडिंग प्रक्रियाओं को यहाँ लिखते हैं, और Codex आवश्यकतानुसार उन्हें सीधे लागू कर लेता है, जिससे आपको बार-बार निर्देश नहीं लिखने पड़ते।
बहुत से लोग सोचते हैं कि "यह स्लैश कमांड की तरह ही है, जैसे हमने लेख 12 में /review का उपयोग किया था"। लेकिन इसमें एक बड़ा अंतर है: स्लैश कमांड को आपको मैन्युअल रूप से चलाना होता है; जबकि Skill बिना चलाए भी सक्रिय हो सकती है—यदि आपके काम का संदर्भ किसी Skill की description से मेल खाता है, तो Codex स्वयं उसे सक्रिय कर लेता है, और यह सामान्य तौर पर बातचीत में कोई अतिरिक्त जगह नहीं लेता।
इस लेख में हम समझेंगे कि Skill क्या है, यह बातचीत का संदर्भ (Context) बचाए रखने में कैसे मदद करती है, इसे कहाँ सहेजा जाता है, यह कैसे ट्रिगर होती है, और कस्टम Skill कैसे बनाई जाती है। सभी तथ्य Codex आधिकारिक दस्तावेज़ पर आधारित हैं। कुछ अनौपचारिक ट्यूटोरियल में इसके पथ या फ़ील्ड के नाम गलत लिखे गए हैं, जिन पर हम यहाँ ध्यान देंगे।
इस लेख को पढ़ने के बाद, आपको मिलेगा:
- Skill क्या है—एक
SKILL.mdफ़ाइल, संबंधित स्क्रिप्ट्स और संदर्भ दस्तावेज़ों का समूह कैसे Codex के लिए एक क्षमता बनता है। - "प्रगतिशील प्रकटीकरण (Progressive Disclosure)": यह कैसे सामान्य रूप से केवल एक विवरण दिखाता है और केवल उपयोग के समय ही पूरे निर्देश लोड करता है, जिससे संदर्भ सुरक्षित रहता है।
- ट्रिगर के दो तरीके (स्पष्ट रूप से
$द्वारा या आवश्यकताओं से स्वचालित मेल द्वारा) और डोमेन विवरण का महत्व। - Skill निर्देशिका का सही पथ (यह
.agents/skillsहै, ना कि~/.codex/skills)। $skill-creatorद्वारा आसानी से नई Skill बनाना,$skill-installerद्वारा पहले से बनी Skill इंस्टॉल करना, और किसी Skill को अक्षम (disable) करना।
01 पहले समझें: Skill वास्तव में क्या है
निष्कर्ष यह है: एक Skill अनिवार्य रूप से एक निर्देशिका (Directory) है जिसमें SKILL.md फ़ाइल होती है, और आवश्यकतानुसार उसमें कोडिंग स्क्रिप्ट्स और दस्तावेज़ शामिल हो सकते हैं, जो Codex के लिए एक रोल या क्षमता की तरह काम करते हैं।
हमें इसकी आवश्यकता क्यों होती है? क्योंकि Codex के साथ काम करते समय कुछ कोडिंग प्रक्रियाएं बार-बार दोहराई जाती हैं। जैसे, जब भी मैं कोड कमिट करना चाहता हूँ, मुझे निर्देश देना होता है कि "पहले टेस्ट चलाएं, कमिट संदेश हिंदी में लिखें, और उसका उपसर्ग feat: या fix: रखें"—एक ही निर्देश मैंने पिछले वर्ष में तीस से अधिक बार दिया होगा। इस प्रकार के बार-बार उपयोग होने वाले निर्देशों को ही Skill के रूप में सहेजा जाता है।
तुलना: लेगो (Lego) ब्लॉक के मैनुअल से। लेगो बॉक्स में मिलने वाली निर्देश पुस्तिका स्वयं खिलौना नहीं बनाती, लेकिन वह स्पष्ट बताती है कि "पहले पहिये लगाएं, फिर फ्रेम जोड़ें, और अंत में छत लगाएं"। इसका पालन करके कोई भी इसे सही ढंग से बना सकता है। Skill भी Codex के लिए इसी प्रकार की निर्देश पुस्तिका है: आप किसी काम को करने की प्रक्रिया (जैसे "कमिट करने से पहले बदलावों की समीक्षा करना") को SKILL.md में लिख देते हैं, और फिर Codex उसी प्रक्रिया का पालन करता है।
SKILL.md का बुनियादी ढांचा इस प्रकार दिखता है:
---
name: skill-name
description: यह स्पष्ट करें कि यह कौशल कब ट्रिगर होना चाहिए और कब नहीं।
---
कौशल के लिए आवश्यक निर्देश यहाँ लिखे जाते हैं।शुरुआत में --- के बीच का हिस्सा YAML frontmatter (Metadata) कहलाता है, जिसमें name और description अनिवार्य हैं: name कौशल का नाम है (जिसे आप $ द्वारा कॉल करते हैं), और description सिस्टम को बताता है कि यह कौशल क्या करता है। नीचे की सामग्री वास्तविक निर्देश होते हैं।
⚠️ सुरक्षा नोट: कुछ पुराने ट्यूटोरियल में frontmatter में
triggerफ़ील्ड लिखी गई है, और फ़ाइल को~/.codex/skills/में सहेजने के लिए कहा गया है। आधिकारिक नियमों मेंtriggerफ़ील्ड नहीं होती, स्टार्टअप ट्रिगरdescriptionके विवरण पर निर्भर करता है; और निर्देशिका पथ.agents/skillsहै, न कि~/.codex/skills।
Skill निर्देशिका में मुख्य फ़ाइल के अलावा अन्य चीज़ें भी हो सकती हैं:
my-skill/
├── SKILL.md # मुख्य निर्देश फ़ाइल (अनिवार्य, name + description के साथ)
├── scripts/ # वैकल्पिक: निष्पादन योग्य स्क्रिप्ट्स (विशिष्ट कोडिंग कार्यों के लिए)
└── references/ # वैकल्पिक: संदर्भ दस्तावेज़ जो काम के दौरान सहायक हो सकते हैंकेवल SKILL.md ही अनिवार्य है, बाकी सब वैकल्पिक हैं। नियम सरल है: जहाँ तक संभव हो निर्देशों का उपयोग करें, और केवल तभी स्क्रिप्ट्स लिखें जब कोई विशिष्ट कमांड या टूल चलाना आवश्यक हो। कोडिंग निर्देश अधिक लचीले होते हैं।
Skill के कुछ वास्तविक उदाहरण:
- कोड कमिट करने की प्रक्रिया (जैसे टेस्ट रन करना, फ़ॉर्मेटिंग जाँचना और फिर कमिट करना)—इसे
commitSkill में लिखें। - प्रोजेक्ट के कोडिंग नियम (जैसे API नामकरण की शैली, त्रुटि प्रबंधन के नियम)—इसे
api-conventionsSkill में लिखें। - रिलीज़ से पहले की चेकलिस्ट (जैसे चांगेलॉग अपडेट करना, टैग लगाना और टेस्ट चलाना)—इसे Skill में लिखकर एक निर्देश में चलाएं।
💡 संक्षेप में: Skill एक निर्देशिका है जिसमें
SKILL.mdफ़ाइल और आवश्यकतानुसार स्क्रिप्ट्स तथा दस्तावेज़ होते हैं; इसका उद्देश्य बार-बार दिए जाने वाले निर्देशों को सहेजना है।
02 प्रगतिशील प्रकटीकरण (Progressive Disclosure)
यह इस तंत्र का सबसे महत्वपूर्ण हिस्सा है। मेमोरी पर लोड डाले बिना कई Skills को कैसे सक्षम रखा जा सकता है? इसका उत्तर "प्रगतिशील प्रकटीकरण (Progressive Disclosure)" है, जिसका अर्थ है आवश्यकता होने पर ही विवरण दिखाना।
जब हम संदर्भ सीमा (Context Window) की बात करते हैं—तो Codex की कार्य सीमा सीमित होती है। यदि सभी Skills की पूरी जानकारी शुरुआत में ही लोड कर दी जाए, तो बातचीत के लिए जगह बहुत कम बचेगी।
तुलना: होटल के बुफे मेनू कार्ड और रसोई से। आप काउंटर पर जाते हैं और वहाँ हर डिश के सामने केवल एक छोटा कार्ड लगा होता है—जिस पर डिश का नाम और विवरण लिखा होता है (जैसे "कढ़ाई पनीर - मध्यम तीखा")। आप उसे देखकर समझ जाते हैं कि क्या उपलब्ध है, लेकिन उसे बनाने की रेसिपी वहाँ नहीं लिखी होती। केवल जब आप वह डिश चुनते हैं, तभी रसोई में उसे बनाने की प्रक्रिया शुरू होती है। Skill भी इसी प्रकार काम करती है:
Codex स्टार्टअप पर केवल प्रत्येक कौशल का नाम, विवरण और फ़ाइल पथ लोड करता है। केवल जब वह किसी कौशल का उपयोग करने का निर्णय लेता है, तभी वह
SKILL.mdकी पूरी निर्देश फ़ाइल को लोड करता है।
सरल शब्दों में:
- सामान्य स्थिति में: संदर्भ में प्रत्येक Skill केवल "नाम + विवरण + पथ" के रूप में दिखाई देती है (मेनू कार्ड की तरह)।
- उपयोग के समय: जब Codex को लगता है कि कोई Skill कार्य के लिए उपयुक्त है, तभी वह संबंधित
SKILL.mdकी पूरी जानकारी लोड करता है।
इसी कारण आप निर्देश फ़ाइल में बड़े नियम और विवरण सुरक्षित रूप से लिख सकते हैं—जब तक आवश्यकता न हो, यह कोटा (tokens) खर्च नहीं करता।
लेकिन इस प्रारंभिक सूची के लिए एक सीमा (budget) होती है, जिसे जानना आवश्यक है:
प्रारंभिक सूची का आकार मॉडल की संदर्भ सीमा के लगभग 2% या अधिकतम 8,000 अक्षरों तक सीमित रहता है। यदि बहुत अधिक कौशल सक्रिय हैं, तो Codex उनके विवरण को छोटा कर सकता है; और बहुत बड़ी सूची होने पर कुछ कौशलों को सूची से बाहर रखा जा सकता है, जिसकी चेतावनी दिखाई देगी।
इस सीमा के कारण एक नियम याद रखें: Skill की description में मुख्य विषय और महत्वपूर्ण शब्द हमेशा शुरुआत में लिखें। यदि विवरण को छोटा किया जाता है, तब भी महत्वपूर्ण शब्द सुरक्षित रहेंगे और मिलान (matching) सही ढंग से काम करेगा।
💡 संक्षेप में: प्रगतिशील प्रकटीकरण के कारण Skills सामान्यतः केवल नाम और विवरण दिखाती हैं और उपयोग के समय ही पूरी तरह लोड होती हैं; विवरण की शुरुआत में महत्वपूर्ण शब्द लिखें।
03 ट्रिगर के दो तरीके: स्पष्ट रूप से कॉल करना बनाम स्वचालित मिलान
Skill को सक्रिय करने के दो तरीके उपलब्ध हैं, और इनमें अंतर समझना आवश्यक है।
तुलना: खाना ऑर्डर करने के दो तरीकों से। एक जहाँ आप विशिष्ट होटल का नाम बताते हैं—जैसे "मुझे उसी होटल से खाना चाहिए", जहाँ कोई भ्रम नहीं होता। दूसरा जहाँ आप केवल अपनी आवश्यकता बताते हैं—जैसे "मुझे कुछ तीखा खाना है", और सिस्टम आपके लिए सही होटल चुनता है। Skill भी इसी प्रकार काम करती है।
स्पष्ट रूप से कॉल करना (Explicit Invocation)
पहला तरीका है स्पष्ट रूप से कॉल करना (explicit invocation)—जहाँ आप निर्देश में स्वयं Skill का नाम लिखते हैं। CLI या IDE में /skills कमांड चलाकर या $ सिंबल का उपयोग करके Skill चुनी जा सकती है:
$commit$ टाइप करने पर उपलब्ध कौशलों की सूची दिखाई देगी, जिसमें से आप चुन सकते हैं। इस तरीके में Codex सीधे संबंधित SKILL.md को लोड करके निष्पादित करता है और किसी मिलान तर्क का उपयोग नहीं करता।
⚠️ पुराने ट्यूटोरियल में
@skill-nameलिखा गया है। आधिकारिक रूप से$का उपयोग किया जाता है, न कि@का।
स्वचालित मिलान (Implicit Invocation)
दूसरा तरीका है स्वचालित मिलान (implicit invocation)—जहाँ आप सामान्य भाषा में निर्देश देते हैं, और Codex आवश्यकता के अनुसार संबंधित Skill की description का मिलान करके उसे स्वतः सक्रिय कर लेता है।
इसका लाभ यह है कि: आपको कौशलों के नाम याद रखने की आवश्यकता नहीं होती, सही विवरण होने पर यह स्वयं काम कर लेता है। इसके लिए description का स्पष्ट होना आवश्यक है:
चूँकि मिलान विवरण पर निर्भर करता है, इसलिए
descriptionको संक्षिप्त और स्पष्ट रखें। महत्वपूर्ण उपयोग मामलों और ट्रिगर शब्दों को शुरुआत में लिखें ताकि मिलान सही ढंग से हो सके।
यदि आप विवरण को "कोड संबंधी कार्यों में मदद करना" लिखेंगे—तो यह बहुत सामान्य हो जाएगा, जिससे यह या तो हर काम पर लागू होने की कोशिश करेगा या कभी ट्रिगर नहीं होगा। इसके बजाय स्पष्ट लिखें, जैसे "बदलावों की समीक्षा करना और रिपोर्ट तैयार करना, जब उपयोगकर्ता 'बदलावों की जाँच करें' या 'diff दिखाएं' कहे"।
दोनों तरीकों की तुलना:
| आयाम | स्पष्ट रूप से कॉल करना ($ / /skills) | स्वचालित मिलान |
|---|---|---|
| कैसे सक्रिय होता है | आप $ द्वारा चुनते हैं या /skills चलाते हैं | सामान्य निर्देश पर Codex स्वयं मिलान करता है |
| सिस्टम का निर्णय | कोई मिलान नहीं, सीधे लोड होता है | आवश्यकता के अनुसार description का मिलान |
| प्रभावशीलता | आपके सही चयन पर निर्भर | description की गुणवत्ता पर निर्भर |
| सबसे उपयुक्त | जब आप सटीक रूप से किसी कौशल को चलाना चाहते हैं | दैनिक उपयोग में आसानी के लिए |
| बंद करने का विकल्प | बंद नहीं किया जा सकता | बंद किया जा सकता है (allow_implicit_invocation द्वारा) |
💡 संक्षेप में: स्पष्ट रूप से कॉल करने के लिए
$या/skillsका उपयोग करें; स्वचालित मिलानdescriptionकी गुणवत्ता पर निर्भर करता है, इसलिए महत्वपूर्ण शब्दों को शुरुआत में लिखें।
04 निर्देशिका पथ: कौशलों को कहाँ सहेजें
अपनी कस्टम Skills को कहाँ सहेजना है, इसका पथ महत्वपूर्ण है।
Codex चार स्तरों से कौशलों को लोड कर सकता है: प्रोजेक्ट (REPO), उपयोगकर्ता (USER), मशीन (ADMIN) और सिस्टम (SYSTEM)। प्रोजेक्ट स्तर पर, यह वर्तमान निर्देशिका से लेकर रिपोजिटरी रूट तक की सभी .agents/skills निर्देशिकाओं को स्कैन करता है। पथ विवरण इस प्रकार हैं:
| स्तर | पथ | प्रभाव |
|---|---|---|
| REPO (वर्तमान निर्देशिका) | $CWD/.agents/skills | केवल वर्तमान फ़ोल्डर में |
| REPO (मूल निर्देशिका) | $CWD/../.agents/skills | संबंधित सब-फ़ोल्डर्स में |
| REPO (रिपोजिटरी रूट) | $REPO_ROOT/.agents/skills | पूरे प्रोजेक्ट में |
| USER (ग्लोबल) | $HOME/.agents/skills | आपके सभी प्रोजेक्ट्स पर |
| ADMIN (मशीन स्तर) | /etc/codex/skills | मशीन पर काम करने वाले सभी उपयोगकर्ताओं के लिए |
| SYSTEM (सिस्टम स्तर) | सिस्टम इन-बिल्ट | सभी सत्रों में उपलब्ध (जैसे $skill-creator आदि) |
⚠️ महत्वपूर्ण पथ नियम: कौशलों को हमेशा
.agents/skillsया$HOME/.agents/skillsमें सहेजें,~/.codex/skills/में नहीं।~/.codex/का उपयोगconfig.tomlजैसी व्यवहार सेटिंग्स के लिए किया जाता है, वहाँ सहेजने पर Codex कौशलों को स्कैन नहीं कर पाएगा।
ग्लोबल उपयोग के लिए $HOME/.agents/skills में सहेजें; और प्रोजेक्ट विशिष्ट कौशलों को .agents/skills में रखकर Git द्वारा टीम के साथ साझा करें।
यदि दो कौशलों के नाम समान हों, तो Codex उन्हें ओवरराइट करने के बजाय दोनों को सूची में दिखाता है ताकि आप चुन सकें। इसलिए भ्रम से बचने के लिए अलग-अलग नामों का उपयोग करें।
बदलाव करने पर कौशलों का विवरण आमतौर पर स्वचालित रूप से अपडेट हो जाता है; यदि न हो तो Codex को बंद करके दुबारा खोलें।
💡 संक्षेप में: Skills को
.agents/skills(प्रोजेक्ट विशिष्ट) या$HOME/.agents/skills(ग्लोबल) में सहेजें,~/.codex/skillsमें नहीं; बदलाव न दिखने पर Codex को रीस्टार्ट करें।
05 प्रयोगात्मक सेटिंग्स और प्रबंधन
कौशल बनाने, इंस्टॉल करने और प्रबंधित करने की प्रक्रिया:
Skill बनाना: $skill-creator का उपयोग
आधिकारिक तौर पर बनाने के लिए इन-बिल्ट निर्माणकर्ता का उपयोग करने की सलाह दी जाती है। CLI में चलाएं:
$skill-creatorयह आपसे तीन मुख्य बातें पूछेगा: यह कौशल क्या करता है? कब ट्रिगर होना चाहिए? क्या इसके लिए स्क्रिप्ट की आवश्यकता है? (डिफ़ॉल्ट रूप से निर्देशों का ही सुझाव दिया जाता है)। यह आवश्यक निर्देशिका और SKILL.md फ़ाइल का ढांचा स्वतः तैयार कर देगा।
आप मैन्युअल रूप से भी फ़ोल्डर बनाकर उसमें SKILL.md लिख सकते हैं।
इंस्टॉल करना: $skill-installer
पहले से बनी हुई Skills को इंस्टॉल करने के लिए चलाएं:
$skill-installer linearयह आवश्यक फाइलों को डाउनलोड करके इंस्टॉल कर देगा।
$skill-installerका उपयोग मुख्य रूप से स्थानीय परीक्षण के लिए किया जाता है। यदि आप अपनी Skills को बड़े पैमाने पर साझा करना चाहते हैं, तो उन्हें Plugins (प्लगइन्स) के रूप में पैक करने की सलाह दी जाती है—जिसका विवरण अगले लेख में दिया जाएगा। Skill को "कोडिंग निर्देश प्रारूप" और Plugin को "साझा करने का प्रारूप" मानें।
अक्षम (disable) करना
यदि आप किसी Skill को हटाना नहीं चाहते लेकिन कुछ समय के लिए बंद रखना चाहते हैं, तो ~/.codex/config.toml में यह लिखें:
# फ़ाइल: ~/.codex/config.toml
[[skills.config]]
path = "/path/to/skill/SKILL.md"
enabled = falseपथ में फ़ाइल का पूर्ण पथ लिखें, और enabled = false सेट करें। बदलाव के बाद Codex को रीस्टार्ट करें। यह कोटा बचाने के लिए उपयोगी है।
स्वचालित ट्रिगर बंद करना (agents/openai.yaml)
यदि आप चाहते हैं कि कोई Skill स्वचालित रूप से ट्रिगर न हो और केवल आपके द्वारा स्पष्ट कॉल ($) करने पर ही चले, तो कौशल निर्देशिका में agents/openai.yaml फ़ाइल बनाकर यह लिखें:
# फ़ाइल: <skill_dir>/agents/openai.yaml
policy:
allow_implicit_invocation: falseयह संवेदनशील कार्यों (जैसे कोड पब्लिश करना) के लिए उपयोगी है ताकि Codex गलती से उसे स्वचालित रूप से ट्रिगर न कर दे।
विवरणों का सारांश:
| कार्य | साधन | स्थान |
|---|---|---|
| नया कौशल बनाना | $skill-creator | चैट में चलाएं |
| कौशल इंस्टॉल करना | $skill-installer <name> | चैट में चलाएं |
| कौशल अक्षम करना | [[skills.config]] | ~/.codex/config.toml में |
| स्वचालित ट्रिगर बंद करना | allow_implicit_invocation: false | कौशल के agents/openai.yaml में |
| कौशल फ़ाइलें रखना | निर्देशिका और SKILL.md | .agents/skills या $HOME/.agents/skills में |
💡 संक्षेप में: नए कौशल के लिए
$skill-creatorऔर इंस्टॉलेशन के लिए$skill-installerका उपयोग करें; सेटिंग्स कोconfig.tomlमें और फ़ाइलों को.agents/में व्यवस्थित रखें।
06 अभ्यास: कस्टम Skill बनाना और चलाना
आइए एक कस्टम Skill बनाकर उसे चलाने का अभ्यास करें ताकि इसके ट्रिगर होने के तरीके को देखा जा सके।
हम एक "explain-self (कोड स्पष्टीकरण)" कौशल बनाएंगे, जिसका काम कोड या एरर को सरल भाषा में समझाना होगा।
चरण 1: ग्लोबल स्तर पर कौशल निर्देशिका बनाएं (Mac / Linux पर)
mkdir -p ~/.agents/skills/explain-selfWindows PowerShell में:
mkdir ~/.agents/skills/explain-selfचलाएं।
चरण 2: SKILL.md फ़ाइल लिखें
~/.agents/skills/explain-self/SKILL.md फ़ाइल बनाएं और निम्नलिखित विवरण लिखें:
---
name: explain-self
description: कोड या त्रुटि (error) को सरल भाषा में समझाना। जब उपयोगकर्ता 'कोड का अर्थ बताएं' या 'यह एरर क्या है' कहे, तब उपयोग करें।
---
उपयोगकर्ता द्वारा दिए गए कोड या एरर को सरल भाषा में समझाएं:
1. यह कोड या एरर मुख्य रूप से क्या है (एक वाक्य में)।
2. कोड की मुख्य लाइनों का विवरण।
3. एरर होने पर सुधार का तरीका।
सरल शब्दों और उदाहरणों का उपयोग करें।यहाँ description में हमने ट्रिगर शब्द लिखे हैं ताकि स्वचालित मिलान काम कर सके।
चरण 3: Codex शुरू करें और जाँचें
codexसत्र में प्रवेश करने के बाद चलाएं:
/skillsअपेक्षित परिणाम: सूची में आपको explain-self और उसका विवरण दिखाई देगा। इसका अर्थ है कि Codex ने इसे लोड कर लिया है।
चरण 4: सामान्य भाषा में निर्देश देकर जाँचें (स्वचालित मिलान)
बिना नाम लिखे, सामान्य रूप से कहें:
इस कोड का अर्थ बताएं: print(sum([1,2,3]) / len([1,2,3]))अपेक्षित परिणाम: Codex स्वचालित रूप से explain-self Skill को लोड करेगा और आपके द्वारा लिखे गए नियमों (एक वाक्य में विवरण, लाइनों की व्याख्या) के अनुसार परिणाम प्रस्तुत करेगा।
चरण 5: स्पष्ट कॉल करके जाँचें
$ का उपयोग करके नाम से कॉल करें:
$explain-self यह एरर क्या है: ZeroDivisionError: division by zeroअपेक्षित परिणाम: यह सीधे Skill को सक्रिय करेगा और परिणाम देगा, मिलान की आवश्यकता नहीं होगी।
इस प्रकार आपने पूरी प्रक्रिया को समझ लिया है।
💡 संक्षेप में: अभ्यास के चरण हैं—कौशल निर्देशिका बनाना (हमेशा
.agents/skillsमें) →SKILL.mdलिखना →/skillsसे जाँच → सामान्य भाषा में ट्रिगर देखना →$द्वारा ट्रिगर देखना।
07 सारांश
इस लेख में हमने Agent Skills फ़ीचर को विस्तार से समझा है।
मुख्य बिंदुओं का सारांश:
| विषय | विवरण | मुख्य बिंदु |
|---|---|---|
| Skill क्या है | SKILL.md फ़ाइल और संबंधित टूल्स का समूह | frontmatter में name और description अनिवार्य |
| संदर्भ बचत | प्रगतिशील प्रकटीकरण | स्टार्टअप पर केवल संक्षिप्त विवरण लोड होता है, पूरी फ़ाइल केवल उपयोग के समय लोड होती है |
| सक्रिय करने के तरीके | दो तरीके | $ या /skills द्वारा स्पष्ट चयन; या description द्वारा स्वचालित मिलान |
| निर्देशिका स्थान | सही पथ | .agents/skills या $HOME/.agents/skills (Git में साझा करने के लिए REPO स्तर) |
| उपकरण | प्रबंधन | $skill-creator, $skill-installer, और config.toml में enabled = false |
अब आप यह कर सकते हैं: Skill के ढांचे और उसके काम करने के तरीके को समझाना, प्रगतिशील प्रकटीकरण का महत्व बताना, दोनों प्रकार के ट्रिगर का उपयोग करना, निर्देशिका पथ को सही ढंग से याद रखना, और कौशलों को बनाना तथा प्रबंधित करना। यह क्षमता Codex को आपके कोडिंग नियमों के अनुसार ढालने में मदद करती है।
याद रखें: पथ .agents है, न कि .codex; और ट्रिगर के लिए $ का उपयोग किया जाता है, न कि @ का।
अगला लेख [23 प्लगइन्स (Plugins)]—इस लेख में हमने कोडिंग नियमों को Skill के रूप में सहेजने की बात की, लेकिन यह अभी केवल आपकी स्थानीय मशीन तक ही सीमित है। यदि आप इन कौशलों को एक पैकेज के रूप में बनाकर अपनी टीम या अन्य डेवलपर्स के साथ साझा करना चाहते हैं, तो Plugins का उपयोग किया जाता है। अगले लेख में हम इसे विस्तार से समझेंगे।