SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-10-21

Agent skill क्या है और यह कैसे काम करता है?

Agent skill एक फोल्डर है जिसमें SKILL.md फाइल होती है। यह बड़े प्रॉम्प्ट्स से बेहतर क्यों है और MCP से कैसे अलग है, यह जानने के लिए पढ़ें। हम इसके स्ट्रक्चर और उपयोग को समझते हैं।

Agent skill वास्तव में क्या है

Agent skill डिस्क पर स्थित एक फोल्डर है जिसके अंदर SKILL.md नाम की एक फाइल होती है। उस फाइल में एक नाम, एक संक्षिप्त विवरण और plain markdown में लिखे गए निर्देश होते हैं। Agent स्टार्टअप के समय विवरण को लोड करता है, और वह निर्देशों को केवल तभी पढ़ता है जब आपका अनुरोध उस विवरण से मेल खाता है या आप नाम लेकर skill को invoke करते हैं। Skills के बारे में लगभग बाकी सब कुछ इन्हीं दो वाक्यों से स्पष्ट हो जाता है।

फोल्डर में उस एक फाइल के अलावा और भी चीजें हो सकती हैं। Agent Skills specification में तीन वैकल्पिक डायरेक्टरी बताई गई हैं: scripts/ उस कोड के लिए जिसे agent चलाता है, references/ उन दस्तावेजों के लिए जिन्हें agent जरूरत पड़ने पर पढ़ता है, और assets/ टेम्प्लेट और डेटा के लिए। इनमें से कोई भी अनिवार्य नहीं है। एक फोल्डर जिसमें SKILL.md के अलावा कुछ न हो, वह भी एक पूर्ण skill है।

restore-drill/
  SKILL.md
  references/retention-policy.md
  scripts/verify_snapshot.sh

विवरण वह हिस्सा है जिसे लोग कम आंकते हैं। यह एकमात्र ऐसा टेक्स्ट है जिसे agent यह तय करने से पहले देखता है कि skill को खोलना है या नहीं, इसलिए इसमें यह स्पष्ट होना चाहिए कि skill क्या करती है और इसका उपयोग कब करना है, उन शब्दों में जिन्हें एक व्यक्ति वास्तव में टाइप करेगा।

किसी skill का उपयोग न होने तक उसकी लागत लगभग शून्य क्यों होती है

यह वह तर्क है जो इस format को समझने योग्य बनाता है, और यह features के बारे में नहीं, बल्कि context के बारे में है। Loading चरणों में होती है, जिसे specification में progressive disclosure कहा जाता है।

Startup पर, agent हर installed skill का name और description load करता है, और कुछ भी नहीं। Agent Skills specification के अनुसार, यह प्रति skill लगभग 100 tokens है (अक्टूबर 2026 तक प्रकाशित मार्गदर्शन)। एक दर्जन skills install करने पर आप एक लंबे paragraph के बराबर context खर्च करते हैं।

जब कोई request किसी description से मेल खाती है, तो agent उस एक SKILL.md का body पढ़ता है। Spec यह सलाह देती है कि body को 5,000 tokens से कम और file को 500 lines से कम रखा जाए। references/ और scripts/ में मौजूद files इस बिंदु पर भी कोई लागत नहीं बढ़ाती हैं। एक reference file केवल तभी load होती है जब instructions agent को उस तक भेजते हैं। एक bundled script का मामला अलग है: agent इसे shell के माध्यम से चलाता है, इसलिए script का source कभी भी context window में प्रवेश नहीं करता है, केवल उसका output ही प्रवेश करता है।

अब इसकी तुलना उस तरीके से करें जिसे लोग सबसे पहले अपनाते हैं, जो कि एक विशाल prompt है। System prompt या always-on instructions file की हर line का भुगतान हर request पर, हर session में किया जाता है, चाहे कार्य को उसकी आवश्यकता हो या न हो, और यह वास्तविक प्रश्न के साथ ध्यान (attention) के लिए प्रतिस्पर्धा करती है। दस हजार tokens के स्थायी instructions एक ऐसा बिल है जिसे आप समय पूछने के लिए भी चुकाते हैं। एक दर्जन skills आराम की स्थिति में लगभग 1,200 tokens खर्च करती हैं और केवल उसी कार्य के लिए expand होती हैं जिसे उनकी आवश्यकता होती है। Skills के पक्ष में यही पूरा तर्क है, और यही कारण है कि एक छोटी library एक लंबे prompt से बेहतर होती है।

एक चेतावनी लोगों को अक्सर उलझा देती है। एक बार जब कोई skill load हो जाती है, तो उसका body session के बाकी हिस्से के लिए context में रहता है, इसलिए एक लंबा SKILL.md एक बार की लागत नहीं, बल्कि बार-बार होने वाला खर्च है। विवरण को references/ में ले जाना केवल सफाई नहीं है। यह वह mechanism है जो अपनी design के अनुसार काम कर रहा है।

Agent skill एक tool call नहीं है

Tool, जिसे function call भी कहा जाता है, ऐसी चीज़ है जिसे model invoke कर सकता है। Harness model को एक schema भेजता है: एक नाम, एक विवरण और arguments का आकार। Model एक call emit करता है, आपका code उसे चलाता है, और परिणाम एक message के रूप में वापस आता है। Tools काम करते हैं। उस आदान-प्रदान के दोनों हिस्से harness, यानी model के चारों ओर loop चलाने वाले program के अंतर्गत आते हैं, जो startup पर आपके skill विवरणों को पढ़ता है और यह तय करता है कि कब किसी को open करना है।

Skill अपने आप में कुछ भी execute नहीं करती है। Agent इसे पढ़ता है, फिर उन tools का उपयोग करके कार्य करता है जो उसके पास पहले से थे। Model किसी skill को उस तरह arguments पास नहीं कर सकता जैसे वह किसी tool को करता है। Skill जो कर सकती है, वह model को यह बताना है कि किन tools का उपयोग करना है, किस क्रम में करना है, और बाद में क्या जाँच करनी है। किसी काम को दूसरे agent को सौंपना इसका सबसे स्पष्ट उदाहरण है: एक Claude Code session पहले से ही दूसरे को message भेज सकता है, और skill वह जगह है जहाँ आप लिखते हैं कि ऐसा करना कब उचित है और क्या भेजना है।

संक्षेप में: tool एक agent को नई क्षमता देता है, और skill मुख्य रूप से उसे उन क्षमताओं के बारे में निर्णय लेने की शक्ति देती है जो उसके पास पहले से हैं। जब कोई skill वास्तव में कोई क्षमता जोड़ती है, तो वह एक bundled script के माध्यम से ऐसा करती है जिसे agent उस shell के साथ चलाता है जो उसके पास पहले से था। यदि किसी step को हर बार एक सटीक, validated परिणाम देना है, तो आपको एक tool या script की आवश्यकता है। यदि किसी step को लगातार एक ही तरह की सोच लागू करने की आवश्यकता है, तो आपको एक skill चाहिए। एक skill केवल निर्णय लेने तक सीमित हो सकती है और फिर भी वह हो सकती है जिसका आप सबसे अधिक उपयोग करते हैं, जैसा कि Ponytail, जो एक coding agent को सबसे छोटा बदलाव करने के लिए प्रेरित करता है जो काम करता है दिखाता है: यह कोई नई क्षमता नहीं जोड़ता है और केवल यह बदलता है कि agent उन क्षमताओं का उपयोग कैसे करता है जो उसके पास पहले से हैं। वह निर्णय दूसरी दिशा में भी इशारा कर सकता है, और unlazy skill, जो agent को काम जल्दी पूरा घोषित करने से रोकने के लिए Depth Tree का उपयोग करती है वही तरकीब है जिसका उद्देश्य संयम के बजाय पूर्णता है।

Agent skill एक MCP server नहीं है

MCP (model context protocol) एक ऐसा protocol है जो एक agent को बाहरी system से जोड़ता है। एक MCP server वह process है जो चलता है, उस protocol का पालन करता है, और agent के लिए tools उपलब्ध कराता है। इसे आमतौर पर configuration, credentials, और या तो एक local command या एक network endpoint की आवश्यकता होती है। एक skill केवल एक folder है जिसमें एक markdown file होती है। इसमें कोई process, कोई port और कोई protocol नहीं होता।

Context cost भी इसी तरह अलग है। MCP server द्वारा उपलब्ध कराया गया प्रत्येक tool एक नाम, एक विवरण और एक argument schema के साथ आता है, और जो client उन्हें पहले ही load कर लेते हैं, उनमें ये पूरे session के दौरान request में बने रहते हैं, चाहे उनका उपयोग हो या न हो। Claude Code अब डिफ़ॉल्ट रूप से इस तरह काम नहीं करता है: October 2026 से इसका tool search out of the box सक्षम है, इसलिए session शुरू होने पर केवल tool के नाम और server के निर्देश load होते हैं, और पूर्ण परिभाषाएँ तब आती हैं जब Claude उन्हें खोजता है। एक skill जब उपयोग में नहीं होती, तो वह केवल text की एक पंक्ति होती है।

ये दोनों एक-दूसरे के पूरक हैं, और सबसे प्रभावी setups में दोनों का उपयोग किया जाता है। MCP server access प्रदान करता है। Skill प्रक्रिया प्रदान करती है: आपकी टीम के वास्तविक workflow के लिए उन tools में से किसे call करना है, किस क्रम में करना है, और एक अच्छा परिणाम कैसा दिखता है। यदि आप अपना स्वयं का server host करते हैं, तो running MCP servers on a VPS उस पक्ष को कवर करता है।

Agent skill, system prompt या AGENTS.md नहीं है

दोनों Markdown में दिए गए निर्देश हैं, इसलिए यह भ्रम स्वाभाविक है। अंतर यह है कि वे कब सक्रिय होते हैं। AGENTS.md, CLAUDE.md और system prompt हमेशा सक्रिय रहते हैं। कोई skill आवश्यकता होने पर सक्रिय होता है। Claude Code की output styles हमेशा सक्रिय रहने वाले निर्देशों के सबसे सुदूर स्तर पर होती हैं, क्योंकि किसी एक का चयन करने पर system prompt स्वयं संपादित हो जाता है, इसलिए वह session के हर उत्तर को प्रभावित करती है, उन उत्तरों को भी जिन पर कोई skill कभी लागू नहीं होती।

इसकी जाँच के लिए एक ही प्रश्न पर्याप्त है: क्या किसी ऐसे कार्य के दौरान इस पैराग्राफ को अनदेखा करना गलत होगा जिसका इससे कोई लेना-देना नहीं है? House style, build command और branch naming rule हर कार्य पर लागू होते हैं, इसलिए वे always-on फाइल में होने चाहिए, जहाँ हर बार लोड होना ही उनका उद्देश्य है। महीने में दो बार चलने वाली release checklist हर कार्य पर लागू नहीं होती, इसलिए वह एक skill में होनी चाहिए। जब आपकी always-on फाइल का कोई भाग एक क्रमिक प्रक्रिया (numbered procedure) का रूप ले ले, तो उसे वहाँ से हटाने का यही संकेत है।

इन फाइलों के अपने नियम हैं जिनका सही पालन करना आवश्यक है। हमारे द्वारा उपयोग की जाने वाली दो फाइलों के लिए AGENTS.md में क्या शामिल करें और human file में क्या रखें और codebase की संरचना समझाने वाली design.md देखें।

न्यूनतम skill कैसी दिखती है

Claude Code में, व्यक्तिगत skills ~/.claude/skills/<name>/SKILL.md में रहती हैं और आपके सभी projects पर लागू होती हैं। Project skills .claude/skills/<name>/SKILL.md में रहती हैं और git में commit की जाती हैं, ताकि उस repository पर काम करने वाले हर व्यक्ति और हर agent के पास वे उपलब्ध हों। GitHub Copilot और VS Code project skills को .github/skills/ और .agents/skills/ के साथ-साथ .claude/skills/ से भी पढ़ते हैं। इनके अंदर की file एक ही होती है।

mkdir -p ~/.claude/skills/restore-drill
---
name: restore-drill
description: Run a restic restore drill and report what was recovered. Use when the user asks to test backups, verify a restore, or check that a snapshot is readable.
---

# Restore drill

1. Run `restic snapshots` and pick the newest snapshot for the host in question.
2. Restore it into a scratch directory under `/tmp`, never over live data.
3. Compare the restored file count and total size against the snapshot summary.
4. Report the snapshot ID and anything that failed to restore.

If `restic snapshots` prints `Fatal: unable to open config file`, the repository path or the password is wrong. Stop and report that instead of guessing.

यह एक पूर्ण skill है। Directory का नाम वह command बन जाता है जिसे आप type करते हैं, इसलिए यह /restore-drill है। Claude Code में /skills menu यह सूची दिखाता है कि क्या install है, जो यह पुष्टि करने का सबसे तेज़ तरीका है कि file को पहचान लिया गया है। यदि यह उस menu में नहीं दिख रही है, तो पहले नामों की जाँच करें: file का नाम SKILL.md होना चाहिए, और Agent Skills specification के अनुसार नाम में केवल छोटे अक्षर (lowercase), अंक और single hyphens होने चाहिए, जो directory के नाम से मेल खाते हों। यही प्रक्रिया, जिसे एक ऐसे procedure के रूप में लिखा गया है जिसे आपका agent दोबारा चला सके, VPS पर scheduled restic backups का एक स्वाभाविक साथी है, जहाँ backup चलना और backup restore करना एक ही बात नहीं है।

कब किसी skill को script होना चाहिए

कोई भी चरण जिसका हर बार एक ही सही उत्तर हो, उसे एक script होना चाहिए। इसमें skill को केवल कुछ पंक्तियों तक सीमित रखा जाना चाहिए जो यह बताएं कि इसे कब चलाना है और output को कैसे पढ़ना है। इसके दो कारण हैं, और दोनों ही व्यावहारिक हैं।

पहला, script का source कभी भी context window में नहीं जाता है। 300 पंक्तियों का एक parser केवल अपना output देता है और कुछ नहीं, जबकि वही logic यदि markdown निर्देशों के रूप में लिखी जाए, तो हर बार skill लोड होने पर उसकी पूरी लंबाई का खर्च पड़ता है।

दूसरा, एक script दो बार एक ही उत्तर देती है। यदि किसी model से हर बार log parsing के नियम को फिर से बनाने के लिए कहा जाए, तो खराब दिन होने पर वह इसमें थोड़ा बदलाव कर सकता है, और आपको तब तक पता नहीं चलेगा जब तक कि दो संख्याएं आपस में मेल न खाएं।

इसलिए काम को उसके प्रकार के आधार पर विभाजित करें। "CSV को parse करें और हर उस row को print करें जहाँ total, line items से मेल नहीं खाता" एक script है। "script द्वारा print की गई rows को देखें और बताएं कि उनमें से कौन सी data entry की गलती लगती है" एक skill instruction है। निर्णय को markdown में और determinism को code में रखना, बिना आपकी निगरानी के agent द्वारा चलाए जा सकने वाले loop को बनाने के समान ही अनुशासन है।

मेरा skill कभी trigger क्यों नहीं होता है?

इसका कारण यह है कि आपका description यह तो बताता है कि skill क्या करता है, लेकिन यह कभी नहीं बताता कि इसका उपयोग कब करना है। वह एक पंक्ति ही एकमात्र आधार है जिसके विरुद्ध agent आपके अनुरोध का मिलान करता है। "Helps with database work" किसी भी विशिष्ट चीज़ से मेल नहीं खाता है। "Runs a schema migration against the staging database. Use when the user asks to migrate a table, add a column, or change a schema" में वे शब्द शामिल हैं जिन्हें एक व्यक्ति वास्तव में टाइप करता है, इसलिए यह सक्रिय हो जाता है।

इसके विपरीत विफलता वह skill है जो लगातार trigger होता है। "Use for any code changes in this repository" जैसा विवरण हर चीज़ से मेल खाता है, इसलिए body हर task पर load हो जाती है और फिर session के बाकी समय के लिए context में बनी रहती है। विवरण को उस विशिष्ट स्थिति तक सीमित करें जिसके लिए आपने इसे बनाया था। Claude Code में आप frontmatter में disable-model-invocation: true भी set कर सकते हैं, जो automatic loading को रोकता है और जब आप इसका नाम टाइप करते हैं तो skill को उपलब्ध रखता है।

तीसरी विफलता वह skill है जो किसी tool की नकल करती है। agent को किसी ऐसे API को curl करने के निर्देश देना जिसे उसका MCP server पहले से ही expose करता है, या जब harness में search tool मौजूद हो तब files को grep करना, आपको एक धीमा रास्ता देता है और साथ ही निर्देशों के दो ऐसे सेट देता है जो आपस में असहमत हो सकते हैं। duplicate को हटा दें और इसके बजाय उद्देश्य (intent) का वर्णन करें।

यह अनुमान न लगाएँ कि आप इनमें से किस समस्या का सामना कर रहे हैं। एक fresh session में एक ही prompt को दो बार चलाएँ, एक बार skill को उपलब्ध रखकर और एक बार इसे बंद करके, फिर उत्तरों की तुलना करें। fresh session महत्वपूर्ण है, क्योंकि जिस session में आपने skill लिखा था, उसमें पहले से ही वह सब कुछ शामिल है जो skill कहता है, जो लिखित संस्करण में मौजूद कमियों को छिपा देता है। Anthropic का skill-creator plugin Claude Code के भीतर उस तुलना को automate करता है, जिसमें ऐसे prompts तैयार करना शामिल है जो skill को trigger करने चाहिए और जो नहीं करने चाहिए, साथ ही यह मापना कि प्रत्येक कितनी बार ऐसा करता है। यदि skill load हो जाता है और फिर भी agent वह नहीं करता जो उसे करना चाहिए, तो विवरण आपकी समस्या नहीं है, और वे कारण कि क्यों एक agent उन निर्देशों को अनदेखा कर देता है जिन्हें वह पहले ही पढ़ चुका है वह जगह है जहाँ आपको आगे देखना चाहिए।

क्या यह किसी एक वेंडर का फॉर्मेट है या एक स्टैंडर्ड?

Anthropic ने 2025 के अंत में इस फॉर्मेट को प्रकाशित किया और फिर इसे agentskills.io पर होस्ट किए गए एक ओपन स्टैंडर्ड के रूप में जारी किया। अक्टूबर 2026 तक, वह स्पेसिफिकेशन आवश्यक name और description फील्ड्स, वैकल्पिक license, compatibility, metadata और allowed-tools फील्ड्स, तीन वैकल्पिक डायरेक्टरीज और स्टेज़्ड लोडिंग व्यवहार को परिभाषित करता है। यह एक रेफरेंस वैलिडेटर भी प्रदान करता है, इसलिए साझा करने से पहले skills-ref validate ./my-skill किसी फोल्डर की स्पेसिफिकेशन के अनुसार जांच करता है।

क्लाइंट लिस्ट ही असली संकेत है। उसी फोल्डर को अन्य के अलावा Claude Code, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands और opencode द्वारा पढ़ा जाता है। Microsoft github.com/microsoft/skills पर इसी फॉर्मेट में अपने स्किल्स प्रकाशित करता है, और Skill Recorder नामक एक डेस्कटॉप टूल प्रदान करता है जो आपको एक बार कार्य करते हुए देखता है, उसे एक इंटेंट और क्रमिक स्टेप्स के रूप में पुनर्गठित करता है, और परिणाम को एक स्किल के रूप में लिखता है। यदि कोई वेंडर ऐसा रिकॉर्डर बना रहा है जिसका आउटपुट फॉर्मेट किसी और की स्पेसिफिकेशन का हिस्सा है, तो यह इस बात का अच्छा संकेत है कि यह फॉर्मेट अब केवल एक प्रोडक्ट का फीचर नहीं रह गया है।

सबसे पहले क्या लिखें

Library की योजना न बनाएं। तब तक प्रतीक्षा करें जब तक आप खुद को तीसरी बार चैट में वही निर्देश पेस्ट करते हुए न पाएं, फिर उस टेक्स्ट को एक SKILL.md में ले जाएं और पेस्ट को हटा दें। जिस दोहराव को आप पहले ही महसूस कर चुके हैं, वही किसी ऐसे कौशल को बनाए रखने का एकमात्र विश्वसनीय कारण है जो रखने योग्य है। एक search procedure पहला अच्छा कदम है, और आपके अपने SearXNG instance द्वारा समर्थित एक search skill इसका स्वरूप दर्शाती है।

दो आदतें library को स्वस्थ रखती हैं। किसी भी ऐसे कौशल को install करने से पहले उसे पढ़ें जिसे आपने नहीं लिखा है, इसमें scripts भी शामिल हैं, क्योंकि एक कौशल वे निर्देश हैं जिनका आपका agent पालन करेगा और वह code जिसे वह चला सकता है: इसे किसी अजनबी से software install करने जैसा समझें। और credentials को folder से बाहर रखें, क्योंकि एक कौशल एक text file है जिसे commit और share किया जाता है। अपने agents से secrets को दूर रखना इस बात को कवर करता है कि वे values कहाँ होनी चाहिए, और इस वर्ष agents सीखने के लिए road map कौशल को बाकी setup के साथ क्रम में रखता है।

FAQ

Agent skill और MCP server के बीच क्या अंतर है?

MCP (model context protocol) server एक चल रही process है जो एक protocol के माध्यम से agent को tools प्रदान करती है। इसके लिए configuration और credentials की आवश्यकता होती है, और इसके पूर्ण tool definitions पूरे session के लिए context घेरते हैं, जब तक कि client उन्हें defer न कर दे, जैसा कि Claude Code अब डिफ़ॉल्ट रूप से करता है। Agent skill एक folder है जिसमें SKILL.md file होती है, जिसमें कोई process या protocol नहीं होता है। जब तक agent इसे पढ़ने का निर्णय नहीं लेता, तब तक यह लगभग 100 tokens का उपयोग करता है। किसी agent को system तक पहुँच प्रदान करने के लिए MCP server का उपयोग करें। उस पहुँच का बेहतर उपयोग करने की प्रक्रिया agent को बताने के लिए skill का उपयोग करें। कई setups में दोनों का उपयोग किया जाता है।

क्या agent skills केवल Claude Code के साथ काम करती हैं?

नहीं। Anthropic ने इस format को विकसित किया और फिर इसे agentskills.io पर एक open standard के रूप में जारी किया। उसी folder को Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands और अन्य clients द्वारा पढ़ा जाता है। अंतर यह है कि प्रत्येक client कहाँ देखता है और किन अतिरिक्त frontmatter fields को समझता है। Claude Code ~/.claude/skills/ और .claude/skills/ को पढ़ता है, जबकि GitHub Copilot और VS Code repository में .github/skills/, .claude/skills/ या .agents/skills/ को पढ़ते हैं। SKILL.md file स्वयं उनके बीच अपरिवर्तित रहती है।

गति धीमी होने से पहले मैं कितनी skills install कर सकता हूँ?

सीमा संख्या के बजाय startup budget है। प्रत्येक installed skill अपने नाम और विवरण का योगदान देती है, जो specification के प्रकाशित मार्गदर्शन के अनुसार लगभग 100 tokens है। इसलिए, तीस skills का उपयोग करने से पहले ही लगभग 3,000 tokens खर्च हो जाते हैं। जो सबसे पहले प्रभावित होता है वह matching है, गति नहीं: एक-दूसरे से मिलते-जुलते विवरण वाली कई skills के कारण model के लिए सही skill चुनना कठिन हो जाता है। ऐसे विवरण लिखें जो आपस में न मिलते हों, और जिन skills का उपयोग आपने बंद कर दिया है, उन्हें delete कर दें।

क्या यह निर्देश skill में होना चाहिए या AGENTS.md में?

यह पूछें कि क्या यह repository के हर कार्य पर लागू होता है। Build commands, house style और naming rules उन सभी पर लागू होते हैं, इसलिए वे हमेशा सक्रिय रहने वाली file में होने चाहिए, जहाँ हर बार load होना ही उद्देश्य है। एक प्रक्रिया जिसे आप कभी-कभार चलाते हैं, जैसे कि release checklist या restore drill, उसे एक skill होना चाहिए, ताकि उन कार्यों पर केवल उसका एक-पंक्ति का विवरण ही खर्च हो जिन्हें इसकी आवश्यकता कभी नहीं होती। AGENTS.md का एक section जो बढ़कर numbered steps में बदल गया है, वह आमतौर पर एक ऐसी skill है जिसे move किए जाने की प्रतीक्षा है।

क्या यह लेख उपयोगी था?