Agent skill म्हणजे नेमके काय? MCP पेक्षा फरक
Agent skill म्हणजे SKILL.md असलेले फोल्डर, जे request जुळल्यावरच सूचना लोड करते. एकच मोठा prompt का टाळावा आणि MCP पेक्षा फरक जाणून घ्या.
एजंट skill म्हणजे नेमके काय
एजंट skill म्हणजे डिस्कवरील एक फोल्डर. त्यामध्ये SKILL.md नावाची फाइल असते. या फाइलमध्ये plain markdown मध्ये लिहिलेले नाव, संक्षिप्त वर्णन आणि सूचना असतात. एजंट startup वेळी वर्णन लोड करतो. तुमची request त्या वर्णनाशी जुळली तरच तो सूचना वाचतो. skill विषयीची जवळजवळ सर्व इतर माहिती या दोन वाक्यांवर आधारित आहे.
या फोल्डरमध्ये त्या एका फाइलपेक्षा अधिक सामग्री असू शकते. Agent Skills specification मध्ये तीन optional directories नमूद केले आहेत: एजंट चालवतो तो code ठेवण्यासाठी scripts/, गरज पडल्यावर एजंट वाचतो ती documents ठेवण्यासाठी references/ आणि templates व data ठेवण्यासाठी assets/. यापैकी कोणतीही directory अनिवार्य नाही. फक्त SKILL.md असलेले फोल्डरही पूर्ण skill असते.
restore-drill/
SKILL.md
references/retention-policy.md
scripts/verify_snapshot.shवर्णनाचा भाग लोक बहुतेक वेळा कमी महत्त्वाचा समजतात. skill उघडायचे की नाही हे ठरवण्यापूर्वी एजंटला दिसणारा तो एकमेव text असतो. त्यामुळे skill काय करते आणि ती कधी वापरायची हे वर्णनात स्पष्ट असले पाहिजे. त्यासाठी एखादी व्यक्ती प्रत्यक्षात ज्या शब्दांत request टाइप करेल तेच शब्द वापरा.
एखादी skill वापरेपर्यंत तिची किंमत जवळजवळ का लागत नाही
हा format समजून घेणे का उपयुक्त आहे, हे स्पष्ट करणारा मुख्य मुद्दा context शी संबंधित आहे, features शी नाही. Loading टप्प्याटप्प्याने होते. Specification याला progressive disclosure म्हणते.
Startup वेळी agent प्रत्येक installed skill चे name आणि description एवढेच load करतो. Agent Skills specification नुसार, August 2026 पर्यंतच्या प्रकाशित मार्गदर्शनात, यासाठी प्रत्येक skill मागे अंदाजे 100 tokens लागतात. डझनभर skills install केल्यास, एका लांब परिच्छेदाएवढाच context वापरला जातो.
एखादी request description शी जुळल्यावर agent त्या एका SKILL.md चा body वाचतो. Specification body 5,000 tokens पेक्षा कमी आणि file 500 lines पेक्षा कमी ठेवण्याची शिफारस करते. references/ आणि scripts/ मधील files या टप्प्यावर context खर्च करत नाहीत. Instructions agent ला reference file कडे पाठवत असतील, तरच ती file load होते. Bundled script वेगळी असते. Agent ती shell द्वारे चालवतो. त्यामुळे script चा source context window मध्ये येत नाही; केवळ त्याचा output येतो.
याची तुलना लोक सर्वप्रथम वापरतात त्या पर्यायाशी करा: एक प्रचंड prompt. System prompt किंवा नेहमी सक्रिय असलेल्या instructions file मधील प्रत्येक line प्रत्येक request वेळी आणि प्रत्येक session मध्ये वापरली जाते. Task ला तिची गरज असो वा नसो, ती actual question शी लक्ष वेधून घेण्यासाठी स्पर्धा करते. दहा हजार tokens च्या standing instructions चा खर्च, वेळ किती झाली हे विचारण्यासाठीसुद्धा, तुम्हाला करावाच लागतो. डझनभर skills निष्क्रिय अवस्थेत सुमारे 1,200 tokens वापरतात आणि ज्याला गरज आहे त्या एकाच task साठीच विस्तारतात. Skills वापरण्याचा संपूर्ण मुद्दा हाच आहे. म्हणूनच मोठ्या prompt पेक्षा छोटी library अधिक उपयुक्त ठरते.
एक महत्त्वाची बाब अनेकांच्या लक्षात येत नाही. एखादी skill load झाल्यावर तिचा body session च्या उर्वरित काळात context मध्ये राहतो. त्यामुळे मोठा SKILL.md हा एकदाच होणारा नव्हे, तर वारंवार होणारा खर्च असतो. तपशील references/ मध्ये हलवणे ही केवळ नीटनेटकेपणाची बाब नाही. ही रचना ज्या पद्धतीने कार्य करण्यासाठी तयार केली आहे, त्याच पद्धतीची अंमलबजावणी आहे.
एजंट skill म्हणजे tool call नाही
Tool, ज्याला function call असेही म्हणतात, ही model invoke करू शकणारी गोष्ट आहे. Harness model ला name, description आणि arguments चा आकार असलेले schema पाठवतो. Model call तयार करते, तुमचा code ते चालवतो आणि result message म्हणून परत येतो. Tools कामे करतात.
Skill स्वतःहून काहीही execute करत नाही. Agent ती वाचतो आणि आधीपासून उपलब्ध असलेल्या tools वापरून कृती करतो. Model एखाद्या tool ला arguments ज्या पद्धतीने पाठवते, त्या पद्धतीने skill ला arguments पाठवू शकत नाही. Skill model ला कोणते tools कोणत्या क्रमाने वापरायचे आणि त्यानंतर काय तपासायचे हे सांगू शकते.
थोडक्यात: tool agent ला नवीन क्षमता देते, तर skill agent कडे आधीपासून असलेल्या क्षमतेबाबत योग्य निर्णय घेण्याची दिशा देते. प्रत्येक वेळी अचूक आणि पडताळलेला result तयार करणे आवश्यक असेल, तर tool किंवा script वापरा. एखादे काम सातत्याने त्याच विचारपद्धतीने करणे आवश्यक असेल, तर skill वापरा. Skill मध्ये केवळ निर्णयक्षमता असली तरी तेच तुम्ही सर्वाधिक वापरू शकता. काम करणारा agent कमीतकमी आवश्यक बदल करण्यास प्रवृत्त करणारे Ponytail हे याचे उदाहरण आहे: ते कोणतीही नवीन क्षमता जोडत नाही आणि agent आधीपासून असलेल्या क्षमतांचा वापर कसा करतो तेवढेच बदलते.
एजंट skill हा MCP server नाही
MCP (model context protocol) हा एजंटला बाह्य प्रणालीशी जोडण्यासाठीचा protocol आहे. MCP server हा तो protocol वापरणारी process असते आणि ती एजंटसमोर tools उपलब्ध करून देते. त्यासाठी सहसा configuration, credentials आणि local command किंवा network endpoint आवश्यक असतो. Skill हा markdown file असलेला folder असतो. त्यात process, port किंवा protocol नसतो.
Context cost मध्येही हाच फरक दिसतो. MCP server उपलब्ध करून देत असलेल्या प्रत्येक tool सोबत name, description आणि argument schema असतो. वापर केला नसला तरी हे तपशील default ने संपूर्ण session साठी request मध्ये समाविष्ट असतात. काही clients ने tool schemas गरजेनुसार fetch करायला सुरुवात केली आहे; तरीही ते आधीच load करणे हीच सामान्य पद्धत आहे. निष्क्रिय skill मध्ये text ची एकच ओळ असते.
ही दोन्ही साधने परस्परपूरक आहेत आणि सर्वोत्तम setups मध्ये दोन्ही वापरले जातात. MCP server access उपलब्ध करून देतो. Skill procedure देते: तुमच्या टीमच्या प्रत्यक्ष workflow साठी कोणते tools call करायचे, कोणत्या क्रमाने call करायचे आणि चांगला result कसा दिसतो. तुम्ही स्वतःचे servers host करत असल्यास, VPS वर MCP servers चालवणे या भागात त्या बाजूची माहिती दिली आहे.
Agent skill हा system prompt किंवा AGENTS.md नसतो
दोन्ही markdown मधील सूचना आहेत, त्यामुळे हा गोंधळ होणे स्वाभाविक आहे. फरक त्या सूचना कधी load होतात यात आहे. AGENTS.md, CLAUDE.md आणि system prompt नेहमी लागू असतात. Skill मागणीनुसार लागू होतो.
याची एकच कसोटी आहे: ज्या task चा या परिच्छेदाशी काहीही संबंध नाही, अशा task वर हा परिच्छेद दुर्लक्षित केल्यास ते चुकीचे ठरेल का? House style, build command आणि branch naming rule प्रत्येक task ला लागू होतात. त्यामुळे त्या नेहमी load होणाऱ्या file मध्ये असाव्यात. प्रत्येक वेळी load होणे हाच त्यामागचा उद्देश आहे. महिन्यातून दोनदा वापरली जाणारी release checklist प्रत्येक task ला लागू होत नाही. त्यामुळे ती skill मध्ये असावी. तुमच्या नेहमी लागू असलेल्या file मधील एखादा section numbered procedure मध्ये विस्तारला असेल, तर तो हलवण्याची वेळ आली आहे, हे त्यावरून कळते.
या files साठीही योग्य पद्धतीने पाळण्यासारख्या स्वतंत्र conventions आहेत. आम्ही वापरत असलेल्या दोन पद्धतींसाठी AGENTS.md मध्ये काय असावे आणि मानवी file मध्ये काय असावे आणि codebase ची रचना स्पष्ट करणारा design.md पहा.
किमान skill कसा दिसतो
Claude Code मध्ये personal skills ~/.claude/skills/<name>/SKILL.md येथे असतात आणि ते तुमच्या सर्व projects वर लागू होतात. Project skills .claude/skills/<name>/SKILL.md येथे असतात आणि git मध्ये commit केले जातात. त्यामुळे त्या repository वर काम करणाऱ्या प्रत्येक व्यक्तीला आणि प्रत्येक agent ला त्या उपलब्ध असतात. GitHub Copilot आणि VS Code त्याऐवजी .github/skills/ येथून workspace 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 आहे. तुम्ही टाइप करत असलेल्या command चे नाव directory च्या नावावरून ठरते. त्यामुळे या skill साठी ते /restore-drill आहे. Claude Code मध्ये /skills menu मध्ये installed skills ची यादी दिसते. File स्वीकारली गेली आहे का हे तपासण्याचा हा सर्वात जलद मार्ग आहे. ती या menu मध्ये दिसत नसेल, तर नाव चुकीचे आहे. File चे नाव SKILL.md असणे आवश्यक आहे. Directory च्या नावात lowercase letters, digits आणि single hyphens यांचाच वापर करता येतो. तुमचा agent पुन्हा चालवू शकेल अशा procedure म्हणून लिहिलेला हाच क्रम VPS वर scheduled restic backups साठी उपयुक्त companion आहे. Backup चालू असणे आणि backup restore करणे या एकाच गोष्टी नाहीत.
Skill ऐवजी script कधी वापरावे
प्रत्येक वेळी एकच योग्य उत्तर असलेल्या कोणत्याही चरणासाठी script वापरा. Skill मध्ये फक्त तो कधी चालवायचा आणि output कसे वाचायचे हे सांगणाऱ्या काही ओळी ठेवा. यामागे दोन व्यावहारिक कारणे आहेत.
पहिले, script चा source context window मध्ये येत नाही. 300 ओळींच्या parser साठी फक्त त्याचा output context मध्ये येतो. त्याच logic चे markdown instructions म्हणून लेखन केले, तर skill load होईल तेव्हा प्रत्येक वेळी त्याची संपूर्ण लांबी context मध्ये येते.
दुसरे, script दोन वेळा समान उत्तर देतो. प्रत्येक run वेळी समान log parsing rule पुन्हा तयार करण्यास model ला सांगितल्यास, एखाद्या चुकीच्या वेळी त्याला थोडे वेगळे उत्तर मिळू शकते. दोन आकडे जुळत नाहीत तोपर्यंत ही बाब तुमच्या लक्षातही येणार नाही.
म्हणून कामाचा प्रकार पाहून त्याचे विभाजन करा. “CSV parse करा आणि total हा line items शी जुळत नसलेल्या प्रत्येक row ची नोंद print करा” हे script चे काम आहे. “script ने print केलेल्या rows पाहा आणि त्यापैकी कोणत्या data entry mistake सारख्या दिसतात ते स्पष्ट करा” हे skill instruction चे काम आहे. Judgment 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 होते.
याच्या उलट, काही skill सतत trigger होतात. “Use for any code changes in this repository” यासारखे वर्णन प्रत्येक गोष्टीशी जुळते. त्यामुळे प्रत्येक task वेळी त्याचा body load होतो आणि उर्वरित session मध्ये context मध्ये राहतो. ज्या परिस्थितीसाठी skill तयार केले आहे, त्यापुरते description मर्यादित करा. Claude Code मध्ये frontmatter मध्ये disable-model-invocation: true देखील सेट करता येते. त्यामुळे automatic loading थांबते आणि तुम्ही skill चे नाव टाइप केल्यावर ते उपलब्ध राहते.
तिसरी समस्या म्हणजे tool ची नक्कल करणारे skill. MCP server आधीच उपलब्ध करून देत असलेल्या API ला curl करण्याच्या सूचना agent ला देणे, किंवा harness कडे search tool असताना files मध्ये grep करण्यास सांगणे, यामुळे प्रक्रिया मंद होते. तसेच परस्परविरोधी असू शकणाऱ्या सूचनांचे दोन संच तयार होतात. नक्कल काढून टाका आणि त्याऐवजी अपेक्षित उद्देश स्पष्ट करा.
तुमच्याकडे या तीनपैकी कोणती समस्या आहे, याचा अंदाज लावू नका. Fresh session मध्ये तोच prompt दोनदा चालवा: एकदा skill उपलब्ध ठेवून आणि एकदा ते बंद करून. त्यानंतर दोन्ही उत्तरे compare करा. Fresh session महत्त्वाचे आहे. तुम्ही skill लिहिलेल्या session मध्ये skill मधील सर्व माहिती आधीच असते. त्यामुळे लिखित आवृत्तीतील त्रुटी लक्षात येत नाहीत. Anthropic चे skill-creator plugin ही तुलना Claude Code मध्ये स्वयंचलित करते. त्यात skill trigger व्हायला हव्या आणि trigger व्हायला नको अशा prompts ची निर्मिती, तसेच प्रत्येक prompt किती वेळा trigger होते याचे मोजमाप समाविष्ट आहे.
हा एका vendor चा format आहे की standard?
Anthropic ने हा format 2025 च्या शेवटी प्रकाशित केला आणि त्यानंतर तो agentskills.io वर hosted open standard म्हणून release केला. August 2026 पर्यंत त्या specification मध्ये आवश्यक name आणि description fields, optional license, compatibility, metadata आणि allowed-tools fields, तीन optional directories आणि staged loading behaviour निश्चित केले आहे. त्यात reference validator देखील आहे. त्यामुळे share करण्यापूर्वी skills-ref validate ./my-skill एखाद्या folder ची spec शी पडताळणी करतो.
Client list हे खरे संकेत देते. Claude Code, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands आणि opencode यांसह इतर tools तोच folder वाचतात. Microsoft आपली skills या format मध्ये github.com/microsoft/skills येथे प्रकाशित करते. तसेच Skill Recorder नावाचे desktop tool ती release करते. हे tool तुम्ही एखादे task एकदा करताना monitor करते, त्याचे intent आणि क्रमबद्ध steps मध्ये पुनर्रचन करते आणि परिणाम skill म्हणून लिहिते. एखादा vendor दुसऱ्या vendor च्या specification शी संबंधित output format असलेले recorder तयार करतो, हे format आता एका product चे feature राहिलेले नाही याचे चांगले संकेत आहे.
सर्वप्रथम काय लिहावे
लायब्ररीचे नियोजन करू नका. एखाद्या चॅटमध्ये समान सूचना तिसऱ्यांदा पेस्ट करताना स्वतःला आढळेपर्यंत थांबा. त्यानंतर तो मजकूर SKILL.md मध्ये हलवा आणि पेस्ट केलेला मजकूर काढून टाका. तुम्ही प्रत्यक्ष अनुभवलेली पुनरावृत्ती हे जतन करण्यास योग्य skill साठीचे एकमेव विश्वासार्ह संकेत आहे. शोध प्रक्रिया ही सुरुवातीसाठी चांगली skill आहे. तुमच्या स्वतःच्या SearXNG instance वर आधारित search skill तिची रचना दाखवते.
दोन सवयी लायब्ररी व्यवस्थित ठेवतात. तुम्ही लिहिलेली नसलेली प्रत्येक skill install करण्यापूर्वी वाचा आणि त्यातील scripts देखील तपासा. कारण skill म्हणजे तुमचा agent अनुसरण करेल अशा सूचना आणि तो चालवू शकेल असा code असतो. अनोळखी व्यक्तीकडून software install करताना जशी काळजी घेता, तशीच काळजी येथे घ्या. तसेच credentials folderच्या बाहेर ठेवा. कारण skill ही commit आणि share केली जाणारी text file असते. तुमच्या agents पासून secrets दूर ठेवणे ही values त्याऐवजी कुठे ठेवावीत हे स्पष्ट करते. या वर्षी agents शिकण्यासाठीचा road map setupच्या इतर भागांसह skills कोणत्या क्रमाने शिकाव्यात हे दाखवतो.
FAQ
एजंट skill आणि MCP server यांच्यात काय फरक आहे?
MCP (model context protocol) server ही चालू असलेली process आहे. ती protocol द्वारे agent ला tools उपलब्ध करून देते. त्यामुळे तिच्यासाठी configuration आणि credentials आवश्यक असतात. वापरले गेले नाहीत तरी तिच्या tool definitions सामान्यतः संपूर्ण session साठी context व्यापतात. Agent skill हा SKILL.md file असलेला folder आहे. त्यात process किंवा protocol नसतो. Agent ने तो वाचण्याचा निर्णय घेईपर्यंत त्यासाठी सुमारे 100 tokens लागतात. Agent ला एखाद्या system मध्ये प्रवेश देण्यासाठी MCP server वापरा. तो प्रवेश योग्य पद्धतीने कसा वापरायचा हे सांगण्यासाठी skill वापरा. अनेक setups मध्ये दोन्ही वापरले जातात.
Agent skills केवळ Claude Code सोबतच कार्य करतात का?
नाही. Anthropic ने हे format विकसित केले आणि नंतर agentskills.io वर open standard म्हणून प्रसिद्ध केले. त्यामुळे Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands आणि इतर clients तोच folder वाचतात. प्रत्येक client कुठे शोधतो आणि कोणती अतिरिक्त frontmatter fields समजतो, यामध्ये फरक असतो. Claude Code ~/.claude/skills/ आणि .claude/skills/ वाचतो, तर GitHub Copilot आणि VS Code repository मधील .github/skills/ वाचतात. SKILL.md file स्वतः मात्र कोणताही बदल न होता त्यांच्यामध्ये वापरता येतो.
कार्यक्षमता कमी होण्यापूर्वी मी किती skills install करू शकतो?
मर्यादा ही संख्येपेक्षा startup budget ची आहे. प्रत्येक installed skill त्याचे नाव आणि description जोडतो. specification मधील प्रकाशित मार्गदर्शनानुसार यासाठी साधारण 100 tokens लागतात. त्यामुळे त्यांपैकी कोणताही skill वापरण्यापूर्वी तीस skills साठी सुमारे 3,000 tokens लागतात. सर्वप्रथम speed नव्हे तर matching वर परिणाम होतो. एकमेकांशी overlapping descriptions असलेले अनेक skills असल्यास योग्य skill निवडणे model साठी कठीण होते. एकमेकांशी overlap न करणारी descriptions लिहा आणि वापरणे थांबवलेले skills delete करा.
ही सूचना skill मध्ये ठेवावी की AGENTS.md मध्ये?
ती repository मधील प्रत्येक task ला लागू होते का, हे तपासा. Build commands, house style आणि naming rules सर्व tasks ला लागू होतात. त्यामुळे ती always-on file मध्ये ठेवावीत. प्रत्येक वेळी ती load होणे हाच त्या file चा उद्देश आहे. Release checklist किंवा restore drill यांसारखी अधूनमधून चालवली जाणारी procedure skill मध्ये ठेवावी. ज्या tasks ला तिची गरज नसते, त्यांच्यावर त्यासाठी कोणताही खर्च होत नाही. AGENTS.md मधील एखादा section numbered steps मध्ये वाढला असेल, तर तो सहसा हलवण्याची प्रतीक्षा करणारा skill असतो.