Codex में आधिकारिक रूप से जोड़े गए Skills
(developers.openai.com)- Agent Skills Codex में टास्क-विशिष्ट विशेषज्ञ क्षमताएँ जोड़ने वाली एक विस्तार संरचना है, जो खास workflows को भरोसेमंद ढंग से पूरा करने में मदद करती है
- हर skill
SKILL.mdफ़ाइल और वैकल्पिक scripts·resources·assets से मिलकर बनती है, इसलिए इसे टीमों या कम्युनिटी के बीच share किया जा सकता है - Codex skills को explicit invocation (
/skillsकमांड या$इनपुट) और implicit invocation (टास्क विवरण से मेल खाने पर अपने-आप उपयोग) दोनों तरीकों से चलाता है - Skills को REPO, USER, ADMIN, SYSTEM जैसी कई storage locations और priority system के ज़रिये मैनेज किया जाता है, और
$skill-creatorसे नई skill बनाई जा सकती है - यह फीचर Codex के CLI और IDE extension दोनों में उपलब्ध है, और GitHub आदि से skills इंस्टॉल करके इसकी क्षमताएँ बढ़ाई जा सकती हैं
Agent Skills का अवलोकन
- Agent Skills वह संरचना है जो Codex को नई क्षमताएँ और विशेषज्ञता देती है
- Skills किसी खास काम को करने के लिए instructions, resources, और optional scripts को package करती हैं
- इन्हें टीमों या कम्युनिटी के बीच share किया जा सकता है, और ये open Agent Skills standard पर आधारित हैं
- यह Codex के CLI और IDE extension दोनों में इस्तेमाल की जा सकती है
Skill structure और components
- हर skill
SKILL.mdफ़ाइल को केंद्र में रखकर बनाई जाती है, और इसकी फ़ोल्डर संरचना कुछ इस तरह होती हैSKILL.md: अनिवार्य, इसमें instructions और metadata शामिल होते हैंscripts/: वैकल्पिक executable codereferences/: वैकल्पिक documentsassets/: वैकल्पिक templates और resources
- Codex context को कुशलतापूर्वक मैनेज करने के लिए progressive disclosure तरीका अपनाता है
- शुरुआत में केवल skill का नाम और विवरण लोड होता है, और ज़रूरत पड़ने पर पूरी instructions पढ़ी जाती हैं
Skills invoke करने के तरीके
- Explicit invocation
/skillsकमांड या$इनपुट से skill को सीधे चुना जा सकता है- Codex web और iOS वर्ज़न अभी explicit invocation को support नहीं करते, लेकिन repository में शामिल skills को prompt के ज़रिये इस्तेमाल किया जा सकता है
- Implicit invocation
- जब यूज़र का काम skill के विवरण से मेल खाता है, तो Codex अपने-आप उस skill का इस्तेमाल करता है
Skill storage locations और priority
- Codex कई locations से skills लोड करता है, और ऊँची priority वाली location की skill उसी नाम वाली नीचे की skill को override कर देती है
- मुख्य scope और locations
REPO:$CWD/.codex/skills,$CWD/../.codex/skills,$REPO_ROOT/.codex/skillsUSER:$CODEX_HOME/skillsया~/.codex/skillsADMIN:/etc/codex/skillsSYSTEM: Codex में डिफ़ॉल्ट रूप से शामिल skills
- हर scope का उपयोग व्यक्तिगत, टीम, और सिस्टम-स्तरीय प्रबंधन उद्देश्यों के अनुसार किया जाता है
Skill बनाने का तरीका
- Codex की built-in
$skill-creatorskill का उपयोग करके नई skill अपने-आप बनाई जा सकती है$planskill के साथ मिलाकर इस्तेमाल करने पर skill बनाने से पहले योजना तैयार की जा सकती है
- मैन्युअल रूप से बनाने पर, किसी वैध location में फ़ोल्डर बनाएँ और
SKILL.mdफ़ाइल लिखें- अनिवार्य फ़ील्ड:
name,description - वैकल्पिक फ़ील्ड:
metadata.short-description
- अनिवार्य फ़ील्ड:
- Skills Agent Skills specification पर आधारित हैं
Skill installation और examples
$skill-installerskill का उपयोग करके GitHub के public skill repository से skills इंस्टॉल की जा सकती हैं- उदाहरण:
$skill-installer linear - अन्य repositories की skills भी इंस्टॉल की जा सकती हैं
- उदाहरण:
- Built-in skills के उदाहरण
$plan: नई feature development या जटिल समस्याओं के समाधान के लिए योजना बनाना$skill-installer linear: Linear context तक पहुँच$skill-installer notion-spec-to-implementation: Notion data तक पहुँच
Codex developers के लिए इसका महत्व
- Agent Skills, Codex की extensibility और collaboration बढ़ाने वाला एक प्रमुख घटक है
- Developers अपनी खुद की skills परिभाषित करके automated development workflows बना सकते हैं
- CLI·IDE integration, GitHub integration, और standardized skill specification के ज़रिये Codex ecosystem के विस्तार की संभावनाएँ और मज़बूत होती हैं
1 टिप्पणियां
Hacker News की राय
Skills का standard बनना सच में बहुत अच्छा लग रहा है
इसे सिर्फ़ एक साधारण Markdown फ़ाइल के रूप में लिखा जा सकता है, और यह मूल रूप से context-efficient है
इसे मौजूदा tools के ऊपर रखा जा सकता है, इसलिए GitHub MCP की जगह
ghCLI का इस्तेमाल समझाने वाला skill भी बनाया जा सकता हैकई skills को जोड़कर इस्तेमाल किया जा सकता है, और Python या JS scripts भी शामिल किए जा सकते हैं
इसकी वजह से अलग MCP server expose किए बिना भी काफ़ी ज़्यादा सरल और flexible approach संभव हो जाती है
उदाहरण के लिए, “इस session के मुख्य points को skill में जोड़ दो” जैसी automation संभव है
सिर्फ़ अच्छे sessions ही नहीं, बल्कि trial-and-error वाले sessions से मिली सीख भी skill के रूप में बचाकर रखी जा सकती है
यह MCP की तुलना में कहीं तेज़ और ज़्यादा accessible feature extension flow देता है
CRUD-केंद्रित काम की तुलना में क्या यह data science या DevOps में ज़्यादा उपयोगी होगा, यह भी जानना चाहता हूँ
Skills की मुख्य बात यह है कि spec के अनुसार skill code या markdown के main body content पर RAG लागू नहीं होता
यानी front-matter का नाम और description ही prompt में शामिल होते हैं और skill चुनने में इस्तेमाल किए जाते हैं
इसलिए description में जिसका ज़िक्र नहीं है, वह logic शायद बिल्कुल खोजा ही न जाए
साथ ही skill description एक तरह का prompt injection भी है, इसलिए इसका असर overall tone और token cost पर भी पड़ता है
संबंधित उदाहरण के लिए यह code link देखें
context को साफ़-सुथरा रखना ज़रूरी है, इसलिए मैं ज़रूरत पड़ने पर ही md फ़ाइल सीधे जोड़ने का तरीका पसंद करता हूँ
MCP बहुत ज़्यादा complex है, और skill भी थोड़ा over-engineered लगता है
यह LLM की समस्या कम और agentic harness design की समस्या ज़्यादा है
आगे चलकर LLM और harness शायद और क़रीबी रूप से integrated होंगे
मैं पहले से ही काफ़ी समय से ऐसा ही तरीका इस्तेमाल कर रहा था
हर feature के लिए एक folder बनाता था, और उसमें
README.md,scripts,GUIDE.mdरखता थाजब भी reusable code मिलता था, जैसे clerk.dev integration, तो उसे folder में व्यवस्थित कर लेता था,
और ज़रूरत पड़ने पर merge-to-md से merge करके इस्तेमाल करता था
यह approach पूरी तरह अच्छी तरह काम कर रही थी, इसलिए अब यह सुविधा agent में built-in आना अच्छा लग रहा है
Skills लंबे समय में शायद open source library की तरह विकसित हो सकते हैं
अगर authentication, multi-tenancy जैसी standardized solutions को skill के रूप में दिया जाए
तो security और code quality दोनों में बड़ा सुधार हो सकता है
और तुरंत इस्तेमाल कर सके, तो यह continuous learning का एक विकल्प भी बन सकता है
Skills, plugins, apps, connectors, MCPs, agents… सच कहूँ तो सब थोड़ा confusing है
अभी तक सबसे अच्छा approach तय नहीं हुआ है, और terminology भी स्थिर नहीं है
“Agent” शब्द का मतलब भी हर group में अलग है
tool execution को छोड़ दें तो ये prompt में context जोड़ने के अलग-अलग तरीके हैं
हाल में इस लेख में
agent द्वारा LLM को बार-बार कॉल करके JSON format में tool use requests का आदान-प्रदान करने वाली संरचना समझाई गई थी,
तो मैं सोच रहा हूँ कि इस framework में skill किस रूप में होगा
<Skills>block भेजता हैउदाहरण:
<Skill><Name>postgres</Name><Description>pre-prod DB क्वेरी करने का तरीका</Description><File>skills/postgres.md</File></Skill>इस सूचना को समय-समय पर फिर से भेजा जाता है ताकि LLM skill को “भूल” न जाए
आख़िरकार नाम+description+file path ही भेजा जाता है, इसलिए token cost कम रहती है
लेकिन अगर LLM काफ़ी समझदार हो, तो शायद यह संरचना बिना इसके भी ठीक से काम कर सकती है
यह skill के prompt और संबंधित scripts को साथ में लोड करके इस्तेमाल करने का standardized तरीका है
बहुत से लोग Skills को ग़लत समझ रहे हैं
असली बात
.mdफ़ाइल नहीं, बल्कि code और instructions की bundling हैSkills का आधार code execution environment है
metadata indexing और lazy loading के ज़रिए context बचाना इसका बड़ा फ़ायदा है
अगर skills.md marketplace हो तो शायद तकनीक के प्रसार में मदद मिले
MCP से जुड़े spam मामलों को देखकर भी यह समझा जा सकता है
आख़िर में इसके सिर्फ़ भरोसेमंद कंपनियों या मशहूर developers तक सीमित रह जाने की संभावना ज़्यादा है
ratings या comments नहीं हैं, लेकिन quality से उम्मीद की जा सकती है
दूसरे लोगों के prompts इस्तेमाल करने की प्रेरणा कम होती है
आख़िर में सबसे महत्वपूर्ण बात यही है कि उसे अपने workflow और codebase के हिसाब से optimize किया जाए
क्या generated skill का उपयोग करके agent कई कोशिशों के बाद मिले अंतिम समाधान को व्यवस्थित कर सकता है, यह जानने की जिज्ञासा है
इस तरह एक flywheel effect बनाने की कोशिश कर रहा हूँ
एक मज़ाक था कि Anthropic, OpenAI के Chief Product Officer जैसा लगने लगा है