Claude Code सबएजेंट जनरेटर

एक अच्छी तरह से परिभाषित काम बताएं जिसे आप सौंपना चाहते हैं - सुरक्षा खामियों के लिए PR रिव्यू करना, यूनिट टेस्ट लिखना, यह रिसर्च करना कि कोडबेस में कोई चीज़ कैसे काम करती है - और सीधे Claude Code में डालने लायक एक पूरी .claude/agents/<नाम>.md फ़ाइल पाएं। AI कंटेंट लिखता है; नाम, YAML फ्रंटमैटर और टूल allowlist को एडिट करते समय असली सबएजेंट नियमों के आधार पर जांचा जाता है, और राइट-कैपेबल टूल्स रखने वाले रीड-ओनली डिस्क्रिप्शन को अपने आप चिन्हित कर दिया जाता है।

1. वह काम बताएं जिसे आप सौंपना चाहते हैं

सामान्य भाषा में लिखना ठीक है। काम के ऐसे एक स्पष्ट रूप से परिभाषित हिस्से के बारे में सोचें जिसे आप किसी विशेषज्ञ को खुशी-खुशी सौंप देंगे और सिर्फ़ उसका सारांश पढ़ेंगे - सबएजेंट ठीक यही काम बेहतरीन ढंग से करता है।

या इनमें से किसी एक से शुरू करें

आपका .claude/agents/<name>.md यहाँ दिखेगा, पूरी तरह संपादन-योग्य, और टाइप करते समय नाम और विवरण को असली सबएजेंट नियमों के विरुद्ध जाँचा जाएगा।

सबएजेंट फ़ाइल में असल में क्या होता है

एक सबएजेंट एक ही मार्कडाउन फ़ाइल है: औपर YAML frontmatter, नीचे एक मार्कडाउन बॉडी। बॉडी कोई संकेत या अतिरिक्त चीज़ नहीं है - यह सबएजेंट का पूरा सिस्टम प्रॉम्प्ट है, जो उस सबएजेंट के चलने जितने समय तक Claude Code के डिफ़ॉल्ट प्रॉम्प्ट की जगह ले लेता है। यह अपनी अलग कॉन्टेक्स्ट विंडो में भी शुरू होता है, आपकी वर्तुल बातीबात का कुछ साथ लिए बिना, इसीलिए उसे जो भी जानना ज़रूरी हो वह सब उस बॉडी में ही लिखा होना चाहिए।

सिर्फ़ दो frontmatter फ़ील्ड्स ज़रूरी हैं। name सिर्फ़ लोअरकेस अक्षरों और हाइफ़न का उपयोग करता है, इसमें कोई कोलन नहीं होता, और आपके सभी सबएजेंट्स में यूनीक होना चाहिए - यही फ़ाइल का नाम है और इससे आप सबएजेंट को हाथ से कॉल करते हैं। description वह फ़ील्ड है जिसके लिए सबसे ज़्यादा सोचना चाहिए, क्योंकि यही वह केवल वह टेक्स्ट है जिसे Claude यह तय करने के लिए पढ़ता है कि किस सबएजेंट को कौन-सा टास्क मिलना चाहिए। अस्पष्ट डिस्क्रिप्शन वाले दो सबएजेंट्स एक-दूसरे का काम छीन लेंगे।

बाकी सब कुछ ऑप्शनल है, और यह बिल्डर इनमें से हर एक को असल में फ़ाइल में जोड़ता है: tools (कॉमा से अलग की गई allowlist - सब तकईल्स इनहेरिट करने के लिए इसे छोड़ दें), disallowedTools (denylist), model (sonnet, opus, haiku, fable, एक पूरी मॉडल ID, या inherit), permissionMode, maxTurns (रुकने और आंशिक आउटपुट लौटाने से पहले एजेंटिक टर्न्स की एक सीमा), skills (उसके कॉन्टेक्स्ट में पहले से लोड किए गओ skill नाम) और color, जो सिर्फ़ डिस्प्ले के लिए है।

इस लिस्ट के साथ आप जो सबसे क़ीमती काम कर सकते हैं वह है tools को सीमित रखना। एक कोड रिव्यूअर जिसके पास सिर्फ़ Read, Glob, Grep हैं, वह "मदद" करते समय आपकी ब्रांच को दुबारा नहीं लिख सकता, बातचीत कहीं भी आगे बढ़े। यह टूल allowlist की तुलना इससे करता है कि आपका डिस्क्रिप्शन सबएजेंट का मकसद क्या बताता है, और अगर किसी रीड-ओनली जॉब को किसी तरह Write, Edit या Bash दे दिया गया हो तो उसे फ़्लैग करता है।

अक्सर पूछे जाने वाले प्रश्न

Claude Code सबएजेंट असल में क्या है?

एक सबएजेंट Claude का एक विशेषज्ञ इंस्टेंस है जो अपनी अलग कॉन्टेक्स्ट विंडो में एक अलग सिस्टम प्रॉम्प्ट के साथ चलता है, ताकि आप उसे एक अच्छी तरह परिभाषित सब-टास्क सौंप सकें और सिर्फ सारांश वापस पा सकें। इसे .claude/agents/<नाम>.md पर एक ही मार्कडाउन फ़ाइल से परिभाषित किया जाता है: ऊपर नाम और डिस्क्रिप्शन वाला YAML फ्रंटमैटर, और एक बॉडी जो उस सबएजेंट का पूरा सिस्टम प्रॉम्प्ट बन जाती है। चूंकि यह एक अलग कॉन्टेक्स्ट में काम करता है, इसलिए वह लंबी, उलझी हुई खोज - पचास फ़ाइलें पढ़ना, greps चलाना, मृत छोर तलाशना - कभी आपकी मुख्य बातचीत में नहीं आती। सिर्फ इसकी अंतिम रिपोर्ट आती है। यही अलगाव पूरा मक़सद है: यह आपके मुख्य कॉन्टेक्स्ट को साफ़ रखता है, और एक संकीर्ण, गलत इस्तेमाल होने पर खतरनाक काम को उतने ही संकीर्ण टूल सेट के साथ सौंपने देता है।

Claude Code एजेंट्स बनाम स्किल्स - क्या फ़र्क है?

एक स्किल उस बातचीत में निर्देश लोड करती है जो आप पहले से कर रहे हैं; एक सबएजेंट अपनी नई बातचीत शुरू करता है। जब कोई स्किल ट्रिगर होती है, उसकी SKILL.md बॉडी Claude के मौजूदा कॉन्टेक्स्ट में जुड़ जाती है, और Claude खुद के रूप में काम करता रहता है, जो कुछ वह पहले से जानता था उसके साथ। जब कोई सबएजेंट ट्रिगर होता है, Claude एक खाली कॉन्टेक्स्ट और अलग सिस्टम प्रॉम्प्ट के साथ एक अलग इंस्टेंस बनाता है, वह इंस्टेंस अकेले काम करता है, और सिर्फ उसका आखिरी मैसेज वापस आता है। इसलिए स्किल का इस्तेमाल करें जब आप Claude को कुछ ऐसा सिखाना चाहते हैं जो वह फिर यहीं करेगा - कोई हाउस स्टाइल, चेकलिस्ट, रिलीज़ प्रोसीजर। सबएजेंट का इस्तेमाल करें जब आप चाहते हैं कि काम कहीं और हो और आपको सिर्फ नतीजा चाहिए: एक बड़ी खोज जिससे आप अपना कॉन्टेक्स्ट भरना नहीं चाहते, या एक रिव्यू जो आप किसी ऐसी चीज़ से करवाना चाहते हैं जो शाब्दिक रूप से आपकी फ़ाइलें एडिट नहीं कर सकती। स्लैश कमांड एक तीसरी, और भी सरल चीज़ है: एक सेव किया हुआ प्रॉम्प्ट जिसे आप /नाम टाइप करके चलाते हैं, इनलाइन चलता है, बिना किसी अलगाव और बिना अलग पहचान के।

मैं Claude Code में सबएजेंट कैसे बनाऊं?

mkdir -p .claude/agents से फ़ोल्डर बनाएं, उसमें सबएजेंट के नाम पर एक मार्कडाउन फ़ाइल सेव करें, और Claude Code को रीलोड करें। फ़ाइल को कम से कम name (सिर्फ़ लोअरकेस अक्षर और हाइफ़न, कोई कोलन नहीं, यूनिक) और description (Claude को कब इसे सौंपना चाहिए) वाला YAML फ्रंटमैटर चाहिए, उसके बाद वह बॉडी जो इसके सिस्टम प्रॉम्प्ट का काम करती है। इसे रिपॉज़िटरी के अंदर .claude/agents/ पर रखें ताकि इसे git पर कमिट करके अपनी टीम के साथ शेयर किया जा सके, या अपने होम फ़ोल्डर में ~/.claude/agents/ पर रखें ताकि यह हर प्रोजेक्ट में पर्सनल रहे। अगर दोनों एक ही नाम के साथ मौजूद हों, तो उस रिपॉज़िटरी में प्रोजेक्ट वाला जीतता है। यह जनरेटर आपके लिए पूरी फ़ाइल लिखता है और आपके चुने गए स्कोप के लिए सही पाथ और mkdir कमांड दिखाता है।

टूल allowlist इतनी अहम क्यों है?

क्योंकि यही एकमात्र सख़्त सीमा है कि एक सबएजेंट क्या कर सकता है। tools छोड़ दें और सबएजेंट मुख्य बातचीत में मौजूद हर चीज़ इनहेरिट कर लेता है, MCP टूल्स समेत - एक भरोसेमंद हेल्पर के लिए ठीक है, लेकिन उस सबएजेंट के लिए बेवजह जोखिम भरा है जिसका पूरा काम सिर्फ़ देखना और रिपोर्ट करना है। Read, Glob, Grep वाला एक सिक्योरिटी रिव्यूअर आपके वर्किंग ट्री को भौतिक रूप से बदल नहीं सकता; वही रिव्यूअर Bash और Write के साथ बदल सकता है। सामान्य नियम है कम से कम अधिकार: काम पूरा करने के लिए ज़रूरी न्यूनतम दें, Write और Edit सिर्फ़ उस सबएजेंट के लिए जोड़ें जिसे फ़ाइलें बदलनी हैं, और Bash सिर्फ़ तब जोड़ें जब उसे वाकई टेस्ट सूट जैसा कुछ चलाना हो। यह बिल्डर दोनों दिशाओं में बेमेल को चिन्हित करता है - एक रिव्यू-आकार का डिस्क्रिप्शन जिसमें राइट टूल्स हों, और एक फ़िक्स-आकार का डिस्क्रिप्शन जिसमें कुछ भी लिखने का कोई तरीक़ा न हो।

Claude कैसे तय करता है कि कौन सा सबएजेंट इस्तेमाल करना है?

यह टास्क को हर सबएजेंट के डिस्क्रिप्शन से मिलाता है, इसलिए वह स्ट्रिंग आपकी रूटिंग टेबल है। 'कोड रिव्यू करता है' जैसा डिस्क्रिप्शन Claude को भेद करने के लिए कुछ नहीं देता और या तो हर चीज़ के लिए चुना जाएगा या किसी के लिए नहीं। इसके बजाय ठोस ट्रिगर्स बताएं: 'सुरक्षा कमजोरियों के लिए बदले हुए कोड की समीक्षा करता है - इंजेक्शन, अनुमति की कमी, असुरक्षित डीसीरियलाइज़ेशन, लीक हुए सीक्रेट्स। auth या इनपुट हैंडलिंग में किसी भी बदलाव के बाद प्रोएक्टिवली इस्तेमाल करें, और जब भी यूज़र सिक्योरिटी रिव्यू मांगे।' 'प्रोएक्टिवली इस्तेमाल करें' कहना ऑटोमैटिक डेलिगेशन को बढ़ावा देता है; आप हमेशा नाम से किसी एक को मांगकर इसे ओवरराइड कर सकते हैं - 'इस diff को चेक करने के लिए security-code-reviewer सबएजेंट इस्तेमाल करें'। ऐसे मल्टी-एजेंट सेटअप में जहां कई सबएजेंट ओवरलैप करते हैं, डिस्क्रिप्शन को उनके बीच साफ़ सीमाएं खींचनी होती हैं, इसलिए यह जनरेटर लाइव चेतावनी देता है जब आपका डिस्क्रिप्शन बहुत सामान्य लगे या 'कब' वाला हिस्सा छोड़ दे।

इसके दो साथी टूल्स हैं: Claude Skill Generator एक SKILL.md लिखता है जो उस बातचीत में निर्देश लोड करता है जिसमें आप पहले से हैं, और AI Slash Command Generator सिंगल-फ़ाइल /command वर्शन लिखता है।

संबंधित टूल