समीक्षा

मैं सरल तरीके से समझाना चाहता हूँ कि Claude Code skills क्यों ज़रूरी हैं

AAnonymous
8 मिनट पढ़ें

शुरुआत

जब आप पहली बार Claude Code का उपयोग करते हैं, तो अक्सर एक अजीब-सी भावना आती है। यह साफ़ तौर पर बहुत smart है, लेकिन कुछ काम यह चौंकाने वाली गुणवत्ता से कर देता है और कुछ कामों में सब कुछ फिर से शुरू से समझाना पड़ता है। तब स्वाभाविक रूप से यह सवाल उठता है कि एक ही agent होते हुए भी result की density इतनी क्यों बदलती है।

मेरे हिसाब से उस अंतर को बनाने वाली सबसे बड़ी चीज़ों में से एक skills(Skills) हैं। Skills कोई magical option नहीं हैं। वे ज़्यादा सही अर्थ में working standards का ऐसा bundle हैं, जो agent को बार-बार होने वाले काम ज़्यादा stable और ज़्यादा team-like तरीके से करने में मदद करता है।

इस लेख में मैं Claude Code skills को बिना अनावश्यक जटिलता के समझाना चाहता हूँ। पहले बढ़ई और रसोइए की analogy से intuition बनाऊँगा, फिर बताऊँगा कि Claude Code के भीतर skills वास्तव में क्या करती हैं, और आखिर में अगर आप खुद कोई skill बनाना चाहें तो कहाँ से शुरू करना बेहतर है।

skills क्यों महत्वपूर्ण हैं

Claude Code जैसा coding agent मूल रूप से बहुत general-purpose होता है। यह code पढ़ सकता है, बदल सकता है, documentation लिख सकता है और tests भी suggest कर सकता है। समस्या यह है कि general-purpose होना अपने-आप consistent होना नहीं है।

किसी project पर काफ़ी समय बिताने के बाद कुछ requests बार-बार दोहराई जाने लगती हैं। उदाहरण के लिए:

  • हमारे project convention के अनुसार API implement कर दो
  • security, regression और tests की नज़र से code review कर दो
  • implementation को architecture blueprint document में बदल दो
  • मौजूदा tone और format में blog post लिख दो

इन सबको हर बार एक लंबे prompt में फिर से समझाया जा सकता है। लेकिन एक stage के बाद यह तरीका inefficient हो जाता है। वही explanation बार-बार दोहरानी पड़ती है, इंसान थकता है, और agent का output भी धीरे-धीरे drift करने लगता है।

यहीं skills की value साफ़ दिखाई देने लगती है। Skill असल में दोहराई जाने वाली explanation को structure में बदलने का तरीका है। अगर आप इसे एक बार अच्छे से organize कर दें, तो बाद में उसी context को बहुत छोटे instruction से फिर से बुलाया जा सकता है।

अगर agent और skill को बढ़ई और रसोइए की तरह सोचें, तो बात जल्दी समझ आती है

Skill का idea बढ़ई और रसोइए को सोचने से जल्दी साफ़ हो जाता है।

agent वह professional है जिसे आप काम सौंप सकते हैं

बढ़ई लकड़ी के साथ काम करता है। अगर आप उससे एक bookshelf बनाने को कहें, तो वह material चुनेगा, काटेगा, जोड़ेगा और finish भी करेगा, और यह सब करते हुए लगातार decisions लेगा।

रसोइया भी ऐसा ही करता है। अगर आप उससे fried rice बनाने को कहें, तो वह preparation, heat control और seasoning तक पूरे flow की जिम्मेदारी लेता है।

Claude Code भी इसी तरह काम करता है। Software के domain में यह उस professional की तरह है जिसे आप काम सौंप सकते हैं। Bug fix, API implementation, documentation writing और refactoring जैसे goals इसे दिए जा सकते हैं।

skill वह detailed technique है जिसे professional ज़रूरत पड़ने पर निकालता है

बढ़ई के पास hammering, sawing और planing जैसी detailed techniques होती हैं। रसोइए के पास knife work, stir-frying और seasoning balance जैसी techniques होती हैं। महत्वपूर्ण बात यह है कि ये सभी techniques हर समय एक साथ सक्रिय नहीं रहतीं। सही technique सही समय पर इस्तेमाल होती है।

Claude Code skills भी कुछ ऐसी ही हैं।

  • Code review skill उसे बताती है कि पहले किस चीज़ पर शक करना है।
  • API implementation skill उसे बताती है कि कौन-सी package structure और DTO pattern follow करनी है।
  • Documentation skill उसे बताती है कि कौन-सा format और tone इस्तेमाल करना है।

यानी अगर agent इस सवाल का जवाब है कि काम कौन करेगा, तो skill इस सवाल का जवाब है कि यह काम हमारी style में कैसे किया जाएगा

Claude Code के अंदर skills वास्तव में क्या करती हैं

अगर आप skill को सिर्फ "saved prompt" समझते हैं, तो बात अधूरी रह जाती है। व्यवहार में इसकी भूमिका उससे कहीं ज़्यादा महत्वपूर्ण है।

1. यह repeated explanation को कम करती है

हर project के rules अलग होते हैं। Folder structure अलग होती है, response format अलग होता है, review criteria अलग होते हैं। Skill इन repeated explanations को एक जगह बांध देती है। इसलिए हर बार agent को पूरा onboarding दोबारा नहीं देना पड़ता।

2. यह decision criteria को fix करती है

अच्छे results सिर्फ "बहुत जानने वाले model" से नहीं आते। Quality तब stable होती है जब यह साफ़ हो कि पहले क्या देखना है, किसे risk मानना है और किस order में आगे बढ़ना है। Skill वही जगह है जहाँ यह सब लिखा जाता है।

Real work में अक्सर सिर्फ main instruction पर्याप्त नहीं होता। Templates, reference documents, checklists और scripts भी चाहिए होते हैं। Skill इन सबको जोड़कर एक छोटे execution package की तरह काम कर सकती है।

4. यह उस scope को छोटा करती है जिसे agent को संभालना है

अगर किसी बहुत बड़े codebase को आप बिना किसी boundary के agent के सामने रख दें, तो वह आसानी से डगमगा सकता है। लेकिन अगर सीमा यह हो कि "यह task इन criteria के साथ करो और इस document व pattern को refer करो", तो उसका behavior कहीं ज़्यादा stable हो जाता है। मेरे लिए यह skills की सबसे बड़ी strengths में से एक है।

सिर्फ लंबे prompts पर टिके रहना क्यों काफी नहीं है

शुरुआत में लंबे prompts काफी लगते हैं। वास्तव में शुरुआती stage में वही अक्सर सबसे तेज़ तरीका भी होता है। लेकिन project बड़ा होने पर समस्याएँ दिखने लगती हैं।

पहला, आप बार-बार वही explanation copy-paste करते रहते हैं।
दूसरा, छोटा-सा detail छूटते ही result drift करने लगता है।
तीसरा, यह knowledge team या future self के लिए स्थायी रूप से नहीं बचती।

यहीं skills अंतर पैदा करती हैं। एक अच्छी skill सिर्फ one-off request नहीं रहती, बल्कि reusable working method बनकर रह जाती है। अच्छा prompt एक बार अच्छा result दे सकता है, लेकिन अच्छी skill अच्छे results को दोहराए जाने की संभावना बढ़ाती है।

skills आम तौर पर इस तरह load होती हैं

जब लोग पहली बार skills के बारे में सुनते हैं, तो वे अक्सर पूछते हैं: "क्या इसका मतलब यह है कि agent हर समय सारी skills पढ़ रहा है?" आम तौर पर ऐसा नहीं होता। यह ज़्यादा सही अर्थ में step-by-step, on-demand loading जैसा है।

चरणकब पढ़ा जाता हैक्या पढ़ा जाता है
1सामान्य स्थिति मेंSkill का नाम और description
2जब संबंधित task आता हैSKILL.md का main body
3केवल जब भीतर सच में ज़रूरत पड़ती हैReference docs, templates, scripts

यह structure एक सरल वजह से महत्वपूर्ण है। Skills ज़्यादा होने का मतलब यह नहीं कि system अपने-आप भारी हो जाएगा। Agent पहले सिर्फ नाम और description देखकर तय करता है कि क्या relevant है। असली body और reference material तभी पढ़े जाते हैं जब वास्तव में उनकी ज़रूरत हो।

इसका मतलब है कि skills ऐसी feature नहीं हैं जो बढ़ने के साथ chaotic होती जाएँ। अगर उन्हें अच्छे से अलग किया जाए, तो वे उल्टा और आसान हो जाती हैं।

किस तरह के काम को पहले skill बनाना चाहिए

हर काम को skill बनाने की ज़रूरत नहीं है। उल्टा, अगर आप बहुत सारी चीज़ों को skill में बदलने लगेंगे, तो management मुश्किल हो जाएगा। मेरे हिसाब से उन tasks से शुरू करना बेहतर है जिनमें ये बातें हों:

  • वही request कम-से-कम तीन बार दोहराई गई हो
  • output format या quality bar काफ़ी स्पष्ट हो
  • project-specific rules बार-बार समझाने पड़ते हों
  • task में कई steps हों और order आसानी से छूट जाए
  • गलती की cost मामूली न हो

अच्छे candidates ऐसे काम होते हैं:

  • code review
  • API endpoint implementation
  • architecture blueprint documentation
  • frontend handover documentation
  • blog post writing and translation

इसके उलट, सचमुच one-time request या वे tasks जिनके standards अभी अक्सर बदलते हैं, skill बनने के लिए अभी जल्दी में हैं। Skill किसी idea memo से ज़्यादा repeated judgment का compressed version होती है।

एक बार खुद बनाकर देखें, बात जल्दी समझ आती है

Skills कहाँ store होंगी या कैसे invoke होंगी, यह environment के हिसाब से थोड़ा बदल सकता है। लेकिन structure आम तौर पर मिलती-जुलती रहती है। Core idea यही है कि SKILL.md बीच में हो और उसके आसपास ज़रूरी reference material रखा जाए।

उदाहरण के लिए, कुछ ऐसा:

my-skill/
  SKILL.md
  references/
    checklist.md
  templates/
    output-template.md

और SKILL.md में आम तौर पर ऐसी चीज़ें होती हैं:

Markdown
---
name: code-review
description: 보안, 회귀, 테스트 관점으로 코드 리뷰를 수행합니다.
---

# Code Review Skill

## 우선 확인할 것
- 입력 검증 누락
- 권한 체크 누락
- 회귀 가능성이 큰 변경
- 테스트 부재

## 리뷰 방식
- 문제를 먼저 적는다
- 왜 문제인지 설명한다
- 가능한 수정 방향을 함께 제안한다

महत्वपूर्ण बात यह नहीं है कि शुरुआत बहुत grand तरीके से की जाए। अगर आप शुरू से बहुत बड़ा framework बनाने की कोशिश करेंगे, तो वह ज़्यादा देर टिकता नहीं। सबसे ज़्यादा दोहराए जाने वाले एक request को चुनिए और सिर्फ इतना organize कीजिए: "यह task किस order और किन criteria के साथ किया जाना चाहिए?"

लेकिन real work में एक खाली SKILL.md लेकर हाथ से सब लिखना अक्सर सोच से ज़्यादा inefficient होता है। अच्छी skill सिर्फ नाम दे देने से नहीं बनती। Scope कितना narrow रखना है, output format कितनी हद तक fix करनी है, कौन-से reference docs जोड़ने हैं, और कौन-से examples देने हैं, इन सब पर काफी बारीक judgment चाहिए होती है।

इसीलिए मैं जहाँ संभव हो, पहले से preload किए गए skill generator का उपयोग करने की सलाह देता हूँ। Skill-generation skill पहली structure बनाने, आसानी से छूट जाने वाले points को पकड़ने और शुरू से बहुत broad या बहुत vague skill बनने की संभावना कम करने में मदद करती है। हाथ से लिखना समझना ज़रूरी है, लेकिन practical workflow में किसी अच्छे generator के ऊपर खड़ा होना ज़्यादा तेज़ और ज़्यादा stable होता है।

अच्छी skill और कमजोर skill में क्या फर्क है

अच्छी skill पढ़ते ही साफ़ कर देती है कि वह क्या करने वाली है। कमजोर skill का नाम बड़ा हो सकता है, लेकिन व्यवहार में उसका scope बहुत wide होता है और output criteria बहुत vague होते हैं।

अच्छी skill में आम तौर पर ये गुण होते हैं:

  • उसका task boundary narrow और clear होता है
  • output format और done condition explicit होते हैं
  • वह सिर्फ वही reference material जोड़ती है जो सचमुच ज़रूरी है
  • उसके examples real work जैसे लगते हैं

इसके विपरीत, skill जल्दी कमजोर पड़ती है जब:

  • एक ही skill बहुत सारे roles संभालने लगे
  • उसमें "अच्छे से कर दो" या "professionally कर दो" जैसी abstract instructions बहुत हों
  • reference documents इतने ज़्यादा हों कि शुरुआत कहाँ से करनी है यह स्पष्ट न हो
  • project बदल गया हो, लेकिन skill पुराने rules पर ही अटकी हो

आख़िरकार skill भी maintenance की चीज़ है। उसे एक बार बनाकर छोड़ नहीं दिया जाता। वह real work के साथ बार-बार refine की जाती है।

समापन

मेरे हिसाब से skill को "AI के लिए extra feature" समझने की बजाय, ऐसे working standard के रूप में समझना ज़्यादा सही है जिसे इंसानों ने organize किया है ताकि वे किसी agent को बेहतर तरीके से निर्देशित कर सकें।

Claude Code डिफ़ॉल्ट रूप से smart है, इसमें कोई संदेह नहीं। लेकिन smart agent अपने-आप आपके project को नहीं समझता। Skills उसी gap को भरती हैं। जब repeated requests, fixed quality bars, team tone और preferred output formats को skills में बांध दिया जाता है, तो agent कम डगमगाता है और team-like results देने लगता है।

अगर आप अभी Claude Code इस्तेमाल कर रहे हैं और आपको लग रहा है कि "explanations लंबी होती जा रही हैं, लेकिन results अभी भी uneven हैं", तो आम तौर पर वही skill बनाने का सही समय है। लेकिन शुरुआत से ही पूरी skill अकेले हाथ से design करने की कोशिश करने के बजाय, पहले preload किए गए skill-creator या किसी और skill-generation skill को call करना बेहतर है। Generator पहले draft structure और checkpoints सेट कर देता है, और फिर इंसान उसके ऊपर project rules और team tone जोड़ता है। ज़्यादातर मामलों में यह workflow कहीं ज़्यादा efficient होता है। और अक्सर पूरी working style भी यहीं से बदलनी शुरू हो जाती है।