Claude Code के skills, सबएजेंट, hooks और MCP कॉन्फ़िगरेशन को साथ बाँटने की इकाई प्लगइन है। उनके नाम और स्रोत बताने वाला कैटलॉग marketplace कहलाता है। इससे आप प्रक्रियाएँ अपने दूसरे प्रोजेक्ट में दोबारा इस्तेमाल कर सकते हैं या टीम में समान एक्सटेंशन साझा कर सकते हैं।

यह लेख मौजूदा प्लगइन इंस्टॉल करने से लेकर अभिवादन का skill बनाने और उसे कैटलॉग से बाँटने तक समझाता है। तीन अंतर याद रखें: (1) प्लगइन और उसका वितरण कैटलॉग अलग स्तर पर हैं। (2) कैटलॉग जोड़ना और अलग प्लगइन इंस्टॉल करना अलग काम हैं। (3) सत्यापन कमांड सफल होने से सही व्यवहार या सुरक्षा की गारंटी नहीं मिलती। चरणों का आधार आधिकारिक निर्माण गाइड है।

CLAUDE CODE · PLUGINS

सुविधाएँ एक साथ बाँधें और बाँटें

— कैटलॉग से skills, agents, hooks और MCP चुनकर इंस्टॉल करें

my-plugin/
.claude-plugin/plugin.json
skills/
agents/
hooks/
.mcp.json
commands/ …
/plugin marketplace add owner/repo
/plugin install name@market
✓ इंस्टॉलेशन का परिणाम, दायरा और सक्रियता जाँचें

प्लगइन सुविधाओं का समूह है और marketplace उसका वितरण कैटलॉग, जैसे Git रिपॉज़िटरी।
कैटलॉग जोड़ें → अलग प्लगइन इंस्टॉल करें → आवश्यक सुविधाएँ जाँचें।
अपना प्लगइन बाँटने से पहले प्लगइन और कैटलॉग दोनों का सत्यापन करें।

1. Claude Code प्लगइन क्या हैं?

प्लगइन Claude Code के एक्सटेंशन को साझा और दोबारा इस्तेमाल की जा सकने वाली डायरेक्टरी में रखता है। सभी घटक रखना ज़रूरी नहीं; केवल एक skill भी पर्याप्त है।

घटकस्थानभूमिका
Skillsskills/<name>/SKILL.mdविवरण और सेटिंग के अनुसार अपने आप चुनी जाने वाली या उपयोगकर्ता द्वारा स्पष्ट रूप से बुलाई जाने वाली प्रक्रियाएँ (Skills का परिचय)
स्लैश कमांडcommands/Markdown का पुराना प्रारूप। अब इसे skills माना जाता है; नए काम के लिए skills/ सुझाया जाता है
सबएजेंटagents/अलग भूमिकाओं की एजेंट परिभाषाएँ। लोड होना /context के Custom Agents में जाँचें
Hookshooks/hooks.jsonतय इवेंट और शर्तों पर चलना, जैसे PostToolUse
MCP सर्वर.mcp.jsonबाहरी टूल और डेटा से जुड़ाव (MCP)
मेनिफ़ेस्ट.claude-plugin/plugin.jsonनाम, विवरण, संस्करण आदि। केवल मानक संरचना हो तो वैकल्पिक

सिर्फ अपने उपयोग की प्रक्रिया के लिए प्रोजेक्ट की .claude/skills/ पर्याप्त हो सकती है। जब एक ही समूह कई जगह बाँटना और अपडेट संभालना हो, तब प्लगइन उपयोगी है। LSP और निगरानी जैसे एक्सटेंशन भी हैं, लेकिन उनके परिवेश और वितरण रास्ते की शर्तें हैं। छोटे skill से शुरुआत करने पर जाँच आसान होती है।

2. प्लगइन की संरचना

यह एक प्लगइन की मानक संरचना है। मेनिफ़ेस्ट हो तो .claude-plugin/plugin.json में रखें; skills/, agents/ और hooks/ प्लगइन के अपने रूट में रहते हैं। वितरण कैटलॉग marketplace.json अलग है। आगे के उदाहरण में वह marketplace की .claude-plugin/marketplace.json में रहेगा।

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # इस प्लगइन का मेटाडेटा
├── skills/
│   └── code-review/SKILL.md
├── agents/
│   └── security-reviewer.md
├── hooks/hooks.json
├── .mcp.json
└── README.md

यह plugin.json का उदाहरण है। केवल मानक डायरेक्टरी संरचना हो तो मेनिफ़ेस्ट छोड़ सकते हैं। मेनिफ़ेस्ट दें तो name अनिवार्य है; विवरण और संस्करण वैकल्पिक हैं।

{
  "name": "my-first-plugin",
  "description": "बुनियादी बातें सीखने के लिए अभिवादन प्लगइन",
  "version": "1.0.0",
  "author": { "name": "Your Name" }
}

name skill का नेमस्पेस भी बनता है; यहाँ कॉल /my-first-plugin:hello है। Git से लेकर कैश किए जाने वाले वितरण में पहले plugin.json का version, फिर कैटलॉग में उस प्लगइन का version लिया जाता है। दोनों न हों तो स्रोत का हल किया गया कमिट SHA इस्तेमाल होता है। स्पष्ट version न बदलें तो केवल कोड बदलने से अपडेट नहीं बनेगा। स्थानीय डायरेक्टरी से सीधे लोड करने और command source के नियम अलग हैं। विवरण संस्करण प्रबंधन के दस्तावेज़ में है।

3. /plugin और marketplace का उपयोग

/plugin से शुरू करें। Discover, Installed, Marketplaces और Errors टैब वाला प्रबंधक खुलेगा। मुख्य कमांड ये हैं:

# Marketplace यानी वितरण कैटलॉग जोड़ें
/plugin marketplace add anthropics/claude-plugins-official
/plugin marketplace add ./my-marketplace              # स्थानीय पाथ
/plugin marketplace add https://example.com/marketplace.json

# इंटरैक्टिव स्क्रीन में दायरा चुनें, इंस्टॉल करें और सक्रियता देखें
/plugin install plugin-name@marketplace-name
/plugin enable  plugin-name@marketplace-name
/plugin disable plugin-name@marketplace-name
/plugin uninstall plugin-name@marketplace-name

# Marketplace से इंस्टॉल हुई सूची (--enabled / --disabled से छाँटें)
/plugin list
/plugin list --enabled

# ज़रूरत पर बदलाव फिर लोड करें और परिणाम देखें
/reload-plugins

सिर्फ कैटलॉग जोड़ने से प्लगइन इंस्टॉल नहीं होते। उसके बाद उन्हें अलग से इंस्टॉल करें। इंटरैक्टिव /plugin install में विवरण स्क्रीन पर दायरा चुनते हैं। शेल का claude plugin install डिफ़ॉल्ट रूप से user स्कोप लेता है; बदलने के लिए --scope दें।

इंस्टॉल करने के बाद देखें कि परिणाम active, reload की प्रतीक्षा या लोडिंग त्रुटि दिखाता है। प्रॉम्प्ट कैश पर असर के कारण reload टल सकता है। बिना टर्मिनल वाले सत्र में प्लगइन MCP के बदलाव अगले सत्र तक लागू न हों। /plugin list केवल marketplace वाली इंस्टॉलेशन दिखाता है, सिंक या skills डायरेक्टरी के सभी प्लगइन नहीं। इंस्टॉलेशन और reload की शर्तें देखें; MCP न जुड़े तो MCP कनेक्शन त्रुटियों के समाधान पढ़ें।

4. Marketplace क्या है?

Marketplace एक कैटलॉग है जिसकी .claude-plugin/marketplace.json में प्लगइन और उनके स्रोत दिए हैं। यह Git रिपॉज़िटरी, स्थानीय पाथ या होस्ट की गई फ़ाइल से मिलता है। आधिकारिक और community कैटलॉग उपलब्ध हैं।

आधिकारिक और community marketplace

• आधिकारिक (claude-plugins-official): Anthropic द्वारा चुना गया कैटलॉग। यह पहली इंटरैक्टिव शुरुआत में अपने आप जुड़ता है, लेकिन पहले गैर-इंटरैक्टिव उपयोग, नेटवर्क प्रतिबंध या संगठन की नीति इसे रोक सकती है। न दिखे तो शर्तें जाँचें और अनुमति वाले परिवेश में /plugin marketplace add anthropics/claude-plugins-official चलाएँ। /plugin के Discover या आधिकारिक डायरेक्टरी में देखें।

• Community (claude-community): इसमें शामिल प्रस्तुतियाँ स्वचालित सत्यापन और सुरक्षा समीक्षा से गुजरती हैं। रिपॉज़िटरी anthropics/claude-plugins-community है, इसलिए /plugin marketplace add anthropics/claude-plugins-community से जोड़ें। इंस्टॉल करने का नाम /plugin install name@claude-community है। रिपॉज़िटरी और कैटलॉग के पंजीकृत नाम को एक न समझें

कैटलॉग न मिले तो पंजीकरण, और प्लगइन न मिले तो उसका नाम और स्रोत जाँचें। निजी कैटलॉग में भी उपयोगकर्ता को रिपॉज़िटरी और प्लगइन, दोनों तक पहुँच चाहिए। JSON को URL से बाँटने पर उसी URL के सापेक्ष पाथ से प्लगइन की सामग्री डाउनलोड नहीं होती।

5. अपना प्लगइन बनाएँ और प्रकाशित करें

यह उदाहरण अभिवादन का एक skill बनाता है। पहले यह संरचना बनाएँ। बाहर की .claude-plugin कैटलॉग के लिए है और अंदर की अलग प्लगइन के लिए। कमांड उस पैरेंट डायरेक्टरी से चलाएँ जिसमें my-marketplace है।

my-marketplace/
├── .claude-plugin/
│   └── marketplace.json
└── plugins/
    └── my-first-plugin/
        ├── .claude-plugin/
        │   └── plugin.json
        └── skills/
            └── hello/
                └── SKILL.md

(1) पिछला JSON अंदर की my-marketplace/plugins/my-first-plugin/.claude-plugin/plugin.json में रखें। (2) यह सामग्री my-marketplace/plugins/my-first-plugin/skills/hello/SKILL.md में सहेजें। उदाहरण में disable-model-invocation: true है, ताकि skill केवल स्पष्ट कॉल पर इस्तेमाल हो।

---
name: hello
description: नाम के साथ छोटा अभिवादन करें
disable-model-invocation: true
---
उपयोगकर्ता का संक्षिप्त अभिवादन करें।
आर्ग्युमेंट हों तो उस नाम को अभिवादन में शामिल करें।
आर्ग्युमेंट: $ARGUMENTS

(3) बाहर की my-marketplace/.claude-plugin/marketplace.json में कैटलॉग लिखें। source का सापेक्ष पाथ marketplace के रूट से गिना जाता है, marketplace.json वाले फ़ोल्डर से नहीं

{
  "name": "my-plugins",
  "owner": { "name": "Your Name" },
  "description": "अभिवादन skill बाँटने का अभ्यास कैटलॉग",
  "plugins": [
    {
      "name": "my-first-plugin",
      "source": "./plugins/my-first-plugin",
      "description": "नाम के साथ छोटा अभिवादन करने वाला skill"
    }
  ]
}

(4) कैटलॉग और प्लगइन का अलग-अलग सत्यापन करें। पहला कैटलॉग का स्कीमा और स्थानीय प्रविष्टियों की plugin.json देखता है, लेकिन हर skill या hook की फ़ाइल नहीं पढ़ता। दूसरा अलग प्लगइन की मानक डायरेक्टरी की फ़ाइलें भी जाँचता है। दोनों में से कोई भी सही व्यवहार या सुरक्षा की गारंटी नहीं है।

claude plugin validate ./my-marketplace
claude plugin validate ./my-marketplace/plugins/my-first-plugin

# जाँच के लिए इस सत्र में अलग प्लगइन लोड करें
claude --plugin-dir ./my-marketplace/plugins/my-first-plugin

खुले इंटरैक्टिव सत्र में /my-first-plugin:hello Alex चलाएँ और देखें कि Alex नाम वाला छोटा अभिवादन मिलता है। कार्य की जाँच का मतलब आउटपुट और अनचाहे प्रभाव देखना है, केवल कमांड दिखना नहीं। लोड न हो तो दोनों JSON के नाम, source का पाथ और SKILL.md की जगह व frontmatter देखें।

(5) कैटलॉग वाला रास्ता भी जाँचना हो तो पिछला परीक्षण सत्र बंद करें और --plugin-dir के बिना Claude Code शुरू करें। ये कमांड कॉन्फ़िगरेशन में पंजीकरण करते हैं, इसलिए अभ्यास प्रोजेक्ट में इंस्टॉलेशन का दायरा चुनकर चलाएँ।

/plugin marketplace add ./my-marketplace
/plugin install my-first-plugin@my-plugins
/my-first-plugin:hello Alex

(6) बाँटने के लिए my-marketplace की सामग्री उपयोगकर्ताओं को उपलब्ध Git रिपॉज़िटरी के रूट में प्रकाशित करें। कैटलॉग के साथ plugins डायरेक्टरी भी कमिट करें। उपयोगकर्ता वास्तविक owner/repo जोड़कर वही my-first-plugin@my-plugins इंस्टॉल करेंगे। यह सापेक्ष पाथ संरचना Git या स्थानीय डायरेक्टरी से पंजीकरण के लिए है; अकेले marketplace.json URL के साथ सीधे नहीं चलेगी। विवरण कैटलॉग बनाने, बाँटने और सत्यापित करने की गाइड में है।

अपनी Git रिपॉज़िटरी से बाँटने के लिए आधिकारिक कैटलॉग में आवेदन ज़रूरी नहीं। Community सूची में भी आना हो तो व्यक्तिगत लेखक Console का सबमिशन फ़ॉर्म उपयोग कर सकते हैं। claude.ai का फ़ॉर्म Team/Enterprise संगठन और प्रशासनिक अनुमति माँगता है। Community में भेजना और Anthropic के चुने हुए official कैटलॉग में आना अलग हैं।

6. इंस्टॉलेशन का दायरा और सुरक्षा

दायरे हैं user (आपके सभी प्रोजेक्ट), project (साझा प्रोजेक्ट सेटिंग) और local (इस प्रोजेक्ट में केवल आप)। इंटरैक्टिव चयन और शेल CLI के डिफ़ॉल्ट user को अलग समझें। Managed सेटिंग प्रशासक नियंत्रित करता है और उपयोगकर्ता के बदलाव सीमित होते हैं।

टीम extraKnownMarketplaces और enabledPlugins को .claude/settings.json में रखकर स्रोत और सक्रियता साझा कर सकती है। लेकिन साझा सेटिंग लिखना और हर सदस्य के कंप्यूटर पर इंस्टॉल हो जाना अलग हैं। बाहरी स्रोत के प्लगइन प्रत्येक सदस्य को इंस्टॉल करने होते हैं। प्रोजेक्ट पर भरोसा देने के बाद हर परिवेश में कैटलॉग पंजीकरण, पहुँच की अनुमति और इंस्टॉलेशन का परिणाम जाँचें।

⚠️ सुरक्षा: प्लगइन मनचाहा कोड चला सकते हैं

आधिकारिक सुरक्षा निर्देश बताते हैं कि प्लगइन आपके अधिकारों से मनचाहा कोड चला सकते हैं। Community सूची का स्वचालित सत्यापन और सुरक्षा समीक्षा होती है, लेकिन यह अपेक्षित व्यवहार की गारंटी नहीं। प्रकाशक, skills, hooks और शामिल MCP सर्वर देखें। संगठन managed सेटिंग में strictKnownMarketplaces से कैटलॉग स्रोत सीमित कर सकता है; खाली array आधिकारिक सहित marketplace स्रोत रोकता है। यह प्लगइन की हर नेटवर्क या फ़ाइल गतिविधि की निगरानी करने वाली सेटिंग नहीं। claude.ai से सिंक जैसे रास्तों की सेटिंग अलग है।

सारांश

प्लगइन एक्सटेंशन बाँटने की इकाई है और marketplace उसका कैटलॉग। उपयोगकर्ता कैटलॉग जोड़ें → अलग प्लगइन इंस्टॉल करें → सक्रियता और व्यवहार जाँचें। लेखक प्लगइन और कैटलॉग तैयार करें → दोनों सत्यापित करें → सुविधा चलाएँ → उपलब्ध रिपॉज़िटरी से बाँटें। दायरा, पहुँच की अनुमति और अपडेट में प्रयुक्त version जाँचने से दूसरे परिवेश में इसे दोहराना आसान होता है।

आधिकारिक कैटलॉग के अपने आप जुड़ने की भी शर्तें हैं और समीक्षा किए गए प्लगइन के व्यवहार की बिना शर्त गारंटी नहीं है। पहले एक आवश्यक सुविधा लें, परिणाम जाँचें, फिर बढ़ाएँ। संबंधित विषय: Claude Code hooks, Claude Agent Skills, MCP और Claude Code Artifacts

FAQ

प्र. प्लगइन और skill में क्या अंतर है?
उ. Skill एक प्रक्रिया है; प्लगइन उसे hooks, MCP कॉन्फ़िगरेशन और अन्य घटकों के साथ बाँटने की इकाई है। प्लगइन के skill को /plugin-name:skill-name से स्पष्ट रूप से बुला सकते हैं। अपने आप चुना जाना विवरण और सेटिंग पर निर्भर करता है।

प्र. आधिकारिक marketplace नहीं मिल रहा।
उ. claude-plugins-official पहली इंटरैक्टिव शुरुआत पर अपने आप जुड़ता है, लेकिन पहले गैर-इंटरैक्टिव उपयोग, नेटवर्क प्रतिबंध या प्रबंधित नीति इसे रोक सकती है। अनुमति वाले परिवेश में /plugin marketplace add anthropics/claude-plugins-official आज़माएँ। पंजीकरण भर से अलग प्लगइन इंस्टॉल नहीं होते।

प्र. क्या कोई भी अपना प्लगइन बाँट सकता है?
उ. प्लगइन और कैटलॉग अपनी उपलब्ध Git रिपॉज़िटरी में रख सकते हैं। Community सूची का आवेदन अलग है; व्यक्तिगत लेखक Console का फ़ॉर्म इस्तेमाल कर सकते हैं। claude.ai वाले रास्ते में संगठन और अनुमति की शर्तें हैं। देखें कि कैटलॉग का source प्लगइन की वास्तविक जगह बताता हो।

प्र. कोड बदलने के बाद भी अपडेट क्यों नहीं होता?
उ. Git से लेकर कैश किए जाने वाले वितरण में plugin.json का version सबसे पहले आता है। उसे स्थिर रखकर केवल कैटलॉग का version बदलने से अपडेट नहीं होगा। दोनों में version न हो तो हल किया गया Git कमिट SHA लिया जाता है, पर अपडेट क्रिया और स्रोत ref भी मायने रखते हैं। स्थानीय डायरेक्टरी से सीधे लोड करने, archive और command source के नियम अलग हैं।

प्र. validate सफल होने पर क्या प्लगइन सुरक्षित है?
उ. नहीं। संरचना और सेटिंग का सत्यापन वास्तविक व्यवहार और सुरक्षा की जाँच से अलग है। केवल कैटलॉग सत्यापन skill की सामग्री जैसी फ़ाइलें नहीं जाँचता। अलग प्लगइन सत्यापित करें और सुविधाएँ तथा अनचाहे प्रभाव जाँचें। Community समीक्षा भी प्रकाशक और शामिल कोड जाँचने का विकल्प नहीं है।