1 पॉइंट द्वारा GN⁺ 1 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Agent Skills एक ऐसा scaffolding है जो AI coding agents को spec, test, review-योग्य PR, trust boundary review जैसी senior engineering प्रक्रियाएँ छोड़े बिना workflow के ज़रिए लागू कराता है
  • skill frontmatter वाली Markdown file होती है, और reference document से ज़्यादा चरणों के क्रम, checkpoint evidence, और exit criteria वाले workflow के करीब होती है
  • repository की 20 skills, Define, Plan, Build, Verify, Review, Ship के 6 lifecycle stages और /spec, /plan, /build, /test, /review, /ship, /code-simplify इन 7 slash commands से बनी हैं
  • मुख्य सिद्धांत हैं गद्य से अधिक process, anti-rationalization tables, verification को exit criteria मानना, progressive disclosure, और scope discipline; using-agent-skills काम के हिसाब से सिर्फ़ ज़रूरी skills को activate करता है
  • इसे Claude Code marketplace install, Cursor .cursor/rules/, Gemini CLI, Codex, Aider, Windsurf, OpenCode जैसे tools में Markdown डालकर इस्तेमाल किया जा सकता है, और यह MIT license के तहत उपलब्ध है

उद्देश्य और समस्या की समझ

  • Agent Skills एक ऐसा scaffolding है जिसका उद्देश्य AI coding agents को वे senior engineering प्रक्रियाएँ workflow के रूप में लागू कराना है जिन्हें वे आम तौर पर छोड़ देते हैं
  • AI coding agents को जब कोई feature implement करने को कहा जाता है, तो वे आम तौर पर सबसे छोटे रास्ते से implementation पूरा कर देते हैं, और spec लिखना, tests पहले बनाना, trust boundary review करना, review-योग्य PR बनाना जैसी प्रक्रियाएँ डिफ़ॉल्ट रूप से नहीं करते
  • senior engineers के काम में बहुत कुछ ऐसा होता है जो diff में दिखता नहीं है
    • assumptions स्पष्ट करना
    • spec लिखना
    • काम को review-योग्य units में बाँटना
    • उबाऊ लेकिन सुरक्षित design चुनना
    • नतीजा सही है इसका evidence छोड़ना
    • changes को इतना सीमित रखना कि इंसान वास्तव में review कर सके
  • agents इन चरणों को छोड़ते हैं क्योंकि, junior engineers की तरह, उनका reward signal “काम पूरा” पर set होता है, “spec document सहित काम पूरा” पर नहीं
  • Agent Skills repository को 26K से ज़्यादा stars मिले हैं, और यह README से आगे बढ़कर design choices के कारण, standard SDLC और Google की सार्वजनिक engineering practices से उनका mapping, और वे patterns भी कवर करती है जिन्हें install किए बिना अपनाया जा सकता है

skill का वास्तविक मतलब

  • skill frontmatter सहित एक Markdown file है जिसे स्थिति के अनुसार agent context में inject किया जाता है; इसका रूप system prompt fragments और runbook के बीच कहीं पड़ता है
  • skill कोई reference document नहीं है, न ही “tests के बारे में सब कुछ” जैसी knowledge collection है
  • उपयोगी skill वह workflow है जिसका agent पालन करता है
    • इसमें चरणों का क्रम होता है
    • checkpoints पर evidence generate होता है
    • यह स्पष्ट exit criteria के साथ समाप्त होती है
  • अगर testing best practices पर 2,000 शब्दों का essay context में डाल दिया जाए, तो agent विश्वसनीय लगने वाले वाक्य बना सकता है और असली testing छोड़ सकता है
  • इसके उलट, अगर workflow दिया जाए जिसमें पहले failing test लिखना, उसे चलाकर failure confirm करना, pass होने के लिए minimum implementation लिखना, pass verify करना, और refactor करना शामिल हो, तो agent के पास करने के लिए ठोस काम होता है और इंसान उसे verify कर सकता है
  • मुख्य अंतर है गद्य से अधिक process, reference से अधिक workflow, और exit criteria के बिना essay के बजाय exit criteria वाले steps
  • कई “AI rules” repositories के असरदार न होने की वजह यही है कि वे workflows की बजाय essays बनकर रह जाती हैं

SDLC और slash command संरचना

  • repository की 20 skills, 6 lifecycle stages में संगठित हैं, और उनके ऊपर 7 slash commands रखे गए हैं
  • चरण और commands

    • /spec: Define चरण, जिसमें तय होता है कि क्या बनाना है
    • /plan: Plan चरण, जिसमें काम को तोड़ा जाता है
    • /build: Build चरण, जिसमें vertical slice के रूप में implementation होती है
    • /test: Verify चरण, जिसमें behavior सिद्ध किया जाता है
    • /review: Review चरण, जिसमें छूटे हुए issues पकड़े जाते हैं
    • /ship: Ship चरण, जिसमें users तक सुरक्षित delivery की जाती है
    • /code-simplify: एक simplification command जो पूरे flow में लागू होती है
    • यह संरचना किसी सही ढंग से चलने वाले engineering organization के SDLC जैसी है; अलग-अलग organizations में सिर्फ़ vocabulary बदलती है
    • Google में यह design doc → review → implementation → readability review → launch checklist flow के रूप में दिखती है, और Amazon में working-backwards memo और bar raiser जैसी practices के रूप में
    • AI coding agents की नई समस्या यह है कि ज़्यादातर agents डिफ़ॉल्ट रूप से इन चरणों में से अधिकांश को छोड़ देते हैं
    • अगर किसी feature की माँग की जाए, तो सिर्फ़ implementation निकलती है; spec, plan, tests, review, release checklist नहीं
    • skills उन चरणों को agents पर भी लागू करती हैं जिन्हें senior engineers खुद पर लागू करते हैं; ऐसी प्रक्रियाओं के बिना code deploy करना incidents तक ले जा सकता है
    • complex feature में 11 skills क्रम से activate हो सकती हैं, जबकि छोटे bug fix में सिर्फ़ 3 skills लग सकती हैं
    • using-agent-skills router तय करता है कि मौजूदा काम पर कौन-सी skills लागू होंगी, और workflow अनुमानित scope के बजाय वास्तविक scope के हिसाब से फैलता है

काम करने के पीछे के सिद्धांत

  • 1. गद्य से अधिक process

    • workflow को agent action में बदल सकता है, essay को नहीं
    • यही सिद्धांत human teams पर भी लागू होता है
    • अगर team handbook 200 pages की हो, तो दबाव की स्थिति में कोई उसे नहीं पढ़ता; लेकिन checkpoints वाला छोटा workflow वास्तव में execute होने की ज़्यादा संभावना रखता है
  • 2. anti-rationalization tables

    • Agent Skills की सबसे अलग और ऐसी design choice जिसे दूसरी teams को अपनाना चाहिए, वह है anti-rationalization tables
    • हर skill में वे आम बहाने और उनके लिए पहले से लिखे गए जवाब शामिल होते हैं जिन्हें agent या थका हुआ engineer workflow छोड़ने के लिए इस्तेमाल कर सकता है
    • उदाहरण:
      • “यह काम इतना simple है कि spec की ज़रूरत नहीं” → acceptance criteria फिर भी लागू होते हैं। 5 lines ठीक हैं, 0 lines नहीं
      • “test बाद में लिख दूँगा” → “बाद में” ही मूल समस्या है। बाद में कुछ नहीं होता। पहले failing test लिखना होगा
      • “tests pass हो गए, अब deploy कर देते हैं” → passing tests evidence हैं, proof नहीं। यह देखना होगा कि runtime check हुआ या नहीं, user-visible behavior verify हुआ या नहीं, और क्या किसी इंसान ने diff पढ़ा
    • LLMs rationalization में माहिर होते हैं, और वे विश्वसनीय पैराग्राफ बना सकते हैं कि किसी काम को spec की ज़रूरत नहीं या कोई change review के बिना merge हो सकता है
    • anti-rationalization table दरअसल उन झूठों के लिए पहले से लिखी rebuttal है जो agent ने अभी बोले भी नहीं हैं
    • यह pattern human teams पर भी लागू होता है
    • engineering quality की गिरावट अक्सर इसलिए नहीं होती कि किसी ने जानबूझकर बुरा काम करने का फैसला किया, बल्कि इसलिए कि उसने किसी नापसंद प्रक्रिया को छोड़ने के लिए दिया गया विश्वसनीय justification स्वीकार कर लिया
  • 3. verification पर समझौता नहीं

    • हर skill ठोस evidence पर समाप्त होती है
    • passing tests, clean build output, अपेक्षित behavior दिखाने वाला runtime trace, reviewer approval जैसी चीज़ें exit criteria बनती हैं
    • “काफ़ी सही लग रहा है” पर्याप्त नहीं है
    • यही सिद्धांत Anthropic के harness में failure recovery, Cursor के planner/worker/judge separation से bug पकड़ने, और long-running agent को recoverable बनाने के पीछे काम करता है
    • agent एक generator है, इसलिए काम पूरा हुआ या नहीं इसका अलग signal चाहिए; skills वही signal हर workflow में embed करती हैं
  • 4. progressive disclosure

    • session की शुरुआत में सभी 20 skills context में नहीं डाली जातीं
    • सिर्फ़ मौजूदा चरण के लिए ज़रूरी skills activate की जाती हैं
    • छोटा meta-skill using-agent-skills एक router की तरह काम करता है जो तय करता है कि मौजूदा task के लिए कौन-सी skills सही हैं
    • यह harness engineering की सीख को skill unit पर लागू करता है
    • context में load किया गया हर token कहीं न कहीं performance घटाता है, इसलिए सिर्फ़ संबंधित चीज़ें load होनी चाहिए और बाकी disk पर रहनी चाहिए
    • progressive disclosure 20-skill library को 5K-token slot में रखते हुए पूरे context को प्रदूषित किए बिना इस्तेमाल करने का तरीका है
  • 5. scope discipline

    • meta-skill यह non-negotiable principle encode करती है: “सिर्फ़ वही छुओ जो माँगा गया है”
    • पास के systems को refactor मत करो, जिस code को पूरी तरह समझते नहीं उसे मत हटाओ, और TODO देखकर पूरी file फिर से लिखने का फैसला मत करो
    • agent एक bug fix करते-करते असंबंधित 3 files को modernize करने लग सकता है
    • scope discipline यह तय करने वाला सबसे बड़ा factor है कि agent का PR merge-योग्य है या revert करना पड़ेगा
    • यह Google के code review norms से भी मेल खाता है, जहाँ एक PR एक से ज़्यादा काम करे तो reviewer उसे रोक सकता है

Google engineering practices से संबंध

  • Agent Skills में Software Engineering at Google और Google की सार्वजनिक engineering culture से निकली कई practices प्रतिबिंबित होती हैं
  • Google-scale software को कामयाब बनाने वाले कई तत्व सार्वजनिक रूप से documented हैं, और agents सबसे ज़्यादा इन्हीं चीज़ों को छोड़ते हैं
  • skills और practices का mapping

    • api-and-interface-design: Hyrum’s Law को दर्शाता है। API का हर observable behavior अंततः किसी न किसी dependency में बदल जाएगा, इसलिए design उसी हिसाब से होनी चाहिए
    • test-driven-development: test pyramid ~80/15/5 और Beyoncé Rule को दर्शाता है। सिद्धांत यह है कि “अगर यह इतना पसंद था, तो test लगाना चाहिए था”; bugs को infrastructure changes नहीं बल्कि tests पकड़ते हैं
    • tests में DAMP over DRY: Google की testing philosophy के अनुसार test code को थोड़ी duplication सहते हुए भी spec की तरह पढ़ा जाना चाहिए। ज़रूरत से ज़्यादा abstract tests एक जाना-पहचाना anti-pattern हैं
    • code-review-and-quality: ~100-line PR size और Critical / Nit / Optional / FYI severity labels को दर्शाता है। बड़े PR अक्सर वास्तव में review नहीं होते और rubber-stamp approval पा लेते हैं
    • code-simplification: Chesterton’s Fence को दर्शाता है। किसी चीज़ को क्यों रखा गया है यह समझे बिना उसे हटाना नहीं चाहिए
    • git-workflow-and-versioning: trunk-based development और atomic commits को दर्शाता है
    • ci-cd-and-automation: Shift Left और feature flags को दर्शाता है। समस्याएँ जितनी जल्दी हो सके पकड़नी चाहिए और deploy तथा release को अलग रखना चाहिए
    • deprecation-and-migration: code-as-liability को दर्शाता है। हर maintain की जाने वाली line का स्थायी maintenance cost होता है, इसलिए छोटा surface area बेहतर है
    • ये concepts नए नहीं हैं, लेकिन agents में by default built-in नहीं आते
    • कोई frontier model training data में “Hyrum’s Law” पढ़ चुका हो, तब भी वह रात 3 बजे API design करते समय इसे अपने-आप लागू नहीं करेगा
    • skills इन practices को agents से वास्तविक काम के दौरान लागू कराती हैं

वास्तविक उपयोग के तरीके

  • तरीका 1: marketplace से install

    • अगर आप Claude Code इस्तेमाल करते हैं, तो यह command चलाकर install किया जा सकता है
    /plugin marketplace add addyosmani/agent-skills
    /plugin install agent-skills@addy-agent-skills
    
    • install होने के बाद /spec, /plan, /build, /test, /review, /ship, /code-simplify slash commands इस्तेमाल की जा सकती हैं
    • agent context के अनुसार संबंधित skills को अपने-आप activate कर देता है
    • ज़्यादातर users के लिए शुरुआत इसी तरीके से करना recommended है
  • तरीका 2: अपनी पसंद के tool में Markdown डालना

    • skills frontmatter वाली सामान्य Markdown files हैं
    • Cursor users इन्हें .cursor/rules/ में रख सकते हैं
    • Gemini CLI का अपना installation path है
    • Codex, Aider, Windsurf, OpenCode, और system prompt स्वीकार करने वाले अन्य tools भी इन्हें पढ़ सकते हैं
    • अहम चीज़ tool नहीं, बल्कि उसके नीचे का workflow है
  • तरीका 3: spec की तरह पढ़ना

    • कुछ install किए बिना भी skills इस बात का documented explanation हैं कि AI agents के साथ अच्छी engineering कैसे की जाए
    • code-review-and-quality.md पढ़कर team review process में 5-axis framework लागू किया जा सकता है
    • test-driven-development.md पढ़कर “क्या test पहले लिखने चाहिए” जैसी बहसों में इस्तेमाल किया जा सकता है
    • meta-skills पढ़कर 5 non-negotiable principles अपनी AGENTS.md में लाई जा सकती हैं
    • शुरुआत के लिए उन 4-5 skills को चुनना ठीक रहेगा जो आपकी सबसे दर्दनाक समस्या के सबसे पास हों, फिर उस workflow को तय करें जिसे enforce करना है, और उसके बाद runtime install करें या खुद बनाकर enforce करें

install किए बिना अपनाए जा सकने वाले patterns

  • anti-rationalization को team practice बनाना

    • team को उन झूठों को लिखना चाहिए जो वह खुद से बोलती है
    • उदाहरण: “release के बाद tests ठीक कर देंगे”, “यह change इतनी छोटी है कि design doc की ज़रूरत नहीं”, “monitoring है, इसलिए ठीक है”
    • हर वाक्य के साथ rebuttal जोड़कर AGENTS.md या engineering wiki में रखने से बहस कम होती है और शुक्रवार दोपहर वाले थके हुए shortcuts पकड़े जा सकते हैं
  • internal docs को गद्य नहीं, process के रूप में लिखना

    • अगर आप “हम X को कैसे approach करते हैं” पर 2,000 शब्दों का document लिख रहे हैं, तो आप reference material लिख रहे हैं
    • इसे checkpoints वाले workflow में बदल दें, तो document 400 शब्दों तक सिमट सकता है और वास्तव में execute होने की संभावना बढ़ जाती है
    • यह सिद्धांत onboarding guides, runbooks, और agent skills सभी पर लागू होता है
  • verification को ठोस exit criteria बनाना

    • हर task का अंतिम चरण “evidence generate करना” होना चाहिए
    • यह agents, engineers, और individual work सभी पर लागू होता है
    • evidence green test run, screenshot, logs, review approval जैसी कोई भी चीज़ हो सकती है जो साबित करे कि काम पूरा हो गया है
    • अगर evidence नहीं है, तो काम पूरा नहीं हुआ; “ठीक लग रहा है” loop बंद नहीं करता
  • हर rulebook पर progressive disclosure लागू करना

    • 50-page handbook लिखने के बजाय छोटा router लिखना चाहिए जो ज़रूरत के हिसाब से छोटे sections की ओर भेजे
    • यह AGENTS.md, runbooks, incident response playbooks, और दबाव की स्थिति में पढ़े जाने वाले हर document पर लागू होता है
  • AGENTS.md में डालने लायक 5 non-negotiable principles

    • build शुरू करने से पहले assumptions स्पष्ट करनी चाहिए। चुपचाप बनी रहने वाली गलत assumptions सबसे आम failure modes में से हैं
    • अगर requirements टकराएँ, तो रुककर पूछना चाहिए। अंदाज़ा नहीं लगाना चाहिए
    • ज़रूरत पड़ने पर असहमति जतानी चाहिए। agent या engineer yes-man नहीं होता
    • उबाऊ और स्पष्ट solutions को प्राथमिकता देनी चाहिए। चतुराई महँगी पड़ती है
    • सिर्फ़ वही छूना चाहिए जो माँगा गया है

harness के भीतर इसकी जगह

  • बड़े परिप्रेक्ष्य में skills, agent harness engineering की एक layer हैं
  • harness में model और उसके आसपास बनाई गई हर चीज़ आती है, और skills ऐसे reusable workflow fragments हैं जो system prompt में progressively disclose किए जाते हैं
  • skills, AGENTS.md, hooks, tools, और session log के साथ-साथ रखी जाती हैं
    • AGENTS.md: लगातार update होने वाली rulebook की भूमिका निभाती है
    • hooks: deterministic enforcement layer हैं
    • tools: वे actions हैं जो agent कर सकता है
    • session log: persistent memory है
    • skills: senior engineering process संभालती हैं
  • skills की अहमियत chat-based agents की तुलना में long-running agents में और बढ़ जाती है
  • लंबा execution हर shortcut को amplify कर देता है
    • 10-minute session में tests छोड़ने वाला agent एक bug पैदा कर सकता है
    • 30-hour session में tests छोड़ने वाला agent अंत में ऐसी debugging archaeology पैदा कर सकता है जिसमें मूल intent किसी को याद न रहे
  • execution time जितना लंबा हो, senior engineering scaffolding उतनी ही कम suggestion और उतनी ही ज़्यादा enforced constraint होनी चाहिए
  • skill format की portability भी महत्वपूर्ण है
  • वही SKILL.md file Claude Code, rules वाले Cursor, Gemini CLI, Codex, और system prompt content स्वीकार करने वाले अन्य harnesses में इस्तेमाल की जा सकती है
  • workflow एक बार लिख दिया जाए, तो runtime उसे enforce कर सकता है; और bespoke prompt engineering के विपरीत यही Markdown-with-frontmatter format का फ़ायदा है

निष्कर्ष

  • AI coding agents बेहद सक्षम junior engineers की तरह व्यवहार करते हैं, लेकिन diff में न दिखने वाले कामों के लिए उनके पास सहज प्रवृत्ति नहीं होती
  • assumptions स्पष्ट करना, change size नियंत्रित करना, spec लिखना, evidence छोड़ना, और non-reviewable changes को merge करने से मना करना जैसी senior engineering ज़िम्मेदारियाँ agents छोड़ सकते हैं, जब तक उन्हें ऐसा न करने के लिए मजबूर न किया जाए
  • आगे चलकर सबसे महत्वपूर्ण काम यह होगा कि इन disciplines को ऐसी form में encode किया जाए जिससे agent खुद उन्हें बोलकर bypass न कर सके
  • skills ऐसा ही एक रूप हैं, और anti-rationalization tables, progressive disclosure, गद्य से अधिक process, exit criteria के रूप में verification, और पहले से काम कर रही Google practices को portable बनाने वाली यह संरचना इसका मूल है
  • Agent Skills repository MIT license के तहत उपलब्ध है, और बड़े scaffolding perspective को Agent Harness Engineering तथा Long-running Agents में आगे पढ़ा जा सकता है

1 टिप्पणियां

 
GN⁺ 1 시간 전
Hacker News की राय
  • यह लगभग धोखेबाज़ रामबाण इलाज जैसा है। पढ़ने लायक है और ऊपर-ऊपर से ठीक भी लगता है, लेकिन आखिर में यह फिर भी धोखेबाज़ रामबाण इलाज ही है
    वजह यह है कि स्लॉट मशीन जैसे मॉडल AGENTS.md, memory.md, और दर्जनों skill Markdown files में लिखी अनिवार्य आवश्यकताएँ कभी भी छोड़ सकते हैं, और यह लगभग तय है
    इस तरह का harness approach यह दिखाता है मानो LLM सख्ती और पूरी तरह नियमों का पालन करता हो, और समस्या सिर्फ इतनी हो कि हम नियमों को पर्याप्त स्पष्ट और पर्याप्त मात्रा में नहीं लिख पाए। यह LLM के काम करने के तरीके को लेकर एक बुनियादी समझ संबंधी गलती है
    आखिरकार भरोसेमंद तो नहीं है, और तुलनात्मक रूप से ज़्यादा भरोसेमंद विकल्प सिर्फ मानवीय review और supervision है, और हो सके तो लगातार दो बार
    बाकी सब धोखेबाज़ रामबाण इलाज ही है, और उस बिंदु पर जाकर समझ आता है कि वादा की गई productivity gains भी वैसी ही हैं। क्योंकि code पढ़कर दिमाग में मॉडल बनाना, पहले से दिमाग में मॉडल होने पर उसे code में उतारने से कहीं ज़्यादा कठिन है

    • धोखेबाज़ रामबाण इलाज कहना थोड़ा ज़्यादा है। ऐसे इलाज कभी काम नहीं करते, जबकि LLM वाला सामान probabilistic होने के बावजूद काफ़ी ऊँची संभावना से काम करता है
      code पढ़ना किस code की बात हो रही है उस पर निर्भर करता है, लेकिन दूसरी skills की तरह practice से आसान हो जाता है। यह तब आम बात है जब आपको बहुत पुराने, बड़े और जटिल codebase के साथ काम करना पड़ता है, जहाँ लिखने से ज़्यादा code पढ़ना होता है
      यह और आसान तब होता है जब docs, पुराना अनुभव, या teammates से पूछकर आपके पास code का मानसिक मॉडल पहले से हो
      agents के साथ भी यह संभव है। आमतौर पर AI को prompt देने से पहले आपको code structure अच्छी तरह पता होता है, और अगर काम को सावधानी से बाँटा जाए तो generated code का review बहुत आसान हो जाता है। यह पहले से पढ़ी किताब दोबारा पढ़ने जैसा लगता है, और कभी-कभार कुछ गलत हो तो वह तुरंत दिख जाता है, इसलिए शुरुआत में ही ज़्यादातर चीज़ें पकड़ ली जाती हैं। किसी भी तरह देखें, speedup काफ़ी बड़ा है
    • इंसान भी बताई गई अनिवार्य आवश्यकताएँ अक्सर छोड़ देते हैं, और वैसे ही review की ज़रूरत होती है। फिर भी process और review के ज़रिए हम मानवीय output की reliability बढ़ाते आए हैं, और harness में इस्तेमाल होने वाले ज़्यादातर तरीके भी उसी अनुभव से आए हैं जिसमें इंसानों तक भरोसेमंद तरीके से बात पहुँचाना मुश्किल होता है
    • जो कहा गया वह सब संभव है और सिद्धांत रूप में मैं सहमत हूँ
      लेकिन पिछले कुछ महीनों से मैंने spec-kit, यानी AI को इस तरह इस्तेमाल करने का तरीका, आज़माया है और व्यवहार में यह हैरान करने जितना अच्छा रहा। मैं शानदार चीज़ें बना रहा हूँ, और जो समस्याएँ अनुमान के रूप में उठाई गईं वे अभी तक नहीं आईं। आगे कभी आ सकती हैं, इसलिए सावधान हूँ
      फिर भी कुछ समय तक ख़ुद इस्तेमाल करने के बाद इसे बस धोखेबाज़ रामबाण इलाज कहकर खारिज नहीं किया जा सकता। मैं 30 साल से ज़्यादा समय से programmer हूँ, और मुझे लगता है कि क्या काम करता है और क्या नहीं, इसका मुझे काफ़ी अच्छा अंदाज़ा है
    • यह कुछ वैसा है जैसे कहना कि +5 तलवार भी बेकार है क्योंकि 1 आने पर वार चूक जाता है। इसे expected value के रूप में देखना चाहिए। अगर कोई पाँच ठीक-ठाक PR merge कर रहा है और तीन फेंक रहा है, तो उनमें से एक खराब होने पर बहुत बड़ा शोर मचाने से तुलना नहीं बनती
    • उम्मीद है लोग इन Markdown सुझावों को workflow इसलिए कह रहे हैं क्योंकि उन्हें डर है कि जब तक वे ज़्यादा structured approach को निखारेंगे, तब तक यह पुराना पड़ जाएगा। ऐसा नहीं लगता कि base models में innovation की रफ़्तार हमेशा ऐसी ही रहेगी
      आगे मैं ऐसे harness देखना चाहता हूँ जो request नहीं बल्कि demand करें। जैसे agent को plan mode में रहने को कहा गया है, और अगर वह तय planning procedure न माने तो उसे terminate कर दिया जाए। पूरी तरह perfect न भी हो, फिर भी यह इंसान-इन-द-लूप वाले मौजूदा तरीके से बेहतर होना चाहिए
  • कहा जाता है कि “skills frontmatter वाले Markdown files हैं जो सही स्थिति होने पर agent context में inject किए जाते हैं”, लेकिन यह तय करने वाला कि वह सही स्थिति है या नहीं, LLM ही है
    और कहा जाता है कि “यह उन steps की श्रृंखला है जिन्हें agent follow करता है, और जो evidence बनाने वाले checkpoints और साफ़ end criteria पर खत्म होती है”, लेकिन यह तय करने की क्षमता कि उन steps को follow करना है या नहीं, वह भी LLM के पास है

    • skills को अक्सर user imperative तरीके से call करता है। अगर वह सीधे LLM के इस्तेमाल के लिए है, तो उसे context में कहीं रख देना काफ़ी है। उदाहरण के लिए:
      After implementing the feature, read the testing skill for instructions on how to test.  
      
    • निष्पक्ष रूप से कहें तो Codex जैसी जगहों पर आप $my-skill से skill को सीधे call कर सकते हैं, और तब वह skill सचमुच context में inject हो जाती है। उसके बाद LLM उसे उतना ही follow करता है जितना वह prompt, instructions और context के दूसरे हिस्सों को follow करता है
  • उस दिन का इंतज़ार है जब सब लोग agents से एक साल से ज़्यादा छेड़छाड़ करने के बाद समझेंगे कि उन्हें बस नकली productivity का एहसास हुआ था

    • कुछ हद तक skepticism समझ आता है, और यह भी कि कोई अलग-अलग कारणों से मूल रूप से मानता हो कि AI बुरी चीज़ है। लेकिन ऐसे निर्णायक बयान मुझे दिन-ब-दिन कम समझ आते हैं। AI development इतनी बुरी तरह विफल हो गया है, इस पर इतना यक़ीन कैसे हो सकता है, यह जानना चाहता हूँ
      यह मेरे वास्तविक अनुभव से बिल्कुल मेल नहीं खाता। AI coding के अनिवार्य पतन पर इतना यक़ीन किस अनुभव ने दिलाया, यह जानना चाहूँगा। क्या यह एक दार्शनिक विश्वास है कि AI नैतिक रूप से गलत है, या फिर आपने सच में AI से कुछ बनाया है, काफ़ी खोजबीन की है, और उसके बाद यह मज़बूत निष्कर्ष निकाला है
      मैं 30 साल से ज़्यादा समय से रोज़ code लिख रहा हूँ, और 20 साल से ज़्यादा समय से पेशेवर रूप से। मैंने फैशन आते-जाते देखे हैं, और काम करने के तरीके बदलने वाली असली प्रगति भी कई बार देखी है। AI से जितने ज़्यादा projects बनाता हूँ, उतना ही पक्का होता जाता है कि यह software बनाने और computers इस्तेमाल करने के तरीके में स्थायी और बुनियादी बदलाव है
      मैंने AI को बेहतर होते देखा है, और ख़ुद को भी असली काम पूरा कराने में ज़्यादा सक्षम होते देखा है। वह काम पहले ही वास्तविक दुनिया के production load पर test हो चुका है। हो सकता है आपको जो हो रहा है वह पसंद न हो, और AI के साथ काम करने का अनुभव भी न पसंद हो, लेकिन इसका यह मतलब नहीं कि वह लोगों को वास्तविक value नहीं दे रहा या असली काम नहीं कर रहा
    • यह नज़रिया दिलचस्प है। अच्छे इरादे से पूछ रहा हूँ, क्या इसमें यह मान लिया गया है कि AI/agents/harnesses इस्तेमाल करने वाले लोग features deploy नहीं करते?
      हम लगभग सितंबर से Claude Code पर पूरी तरह आ गए हैं, और improvements को सफलतापूर्वक track कर पाए हैं। हम ऐसे features deploy कर रहे हैं जो वास्तविक production में इस्तेमाल हो रहे हैं। infra side पर भी, business logic implementation में भी, और frontend व backend दोनों में
      मुझे नहीं लगता कि लोग बस समय बर्बाद कर रहे हैं। हाँ, मैं मानता हूँ कि इस तरह की ज़्यादातर पोस्ट बकवास होती हैं, इसमें यह पोस्ट भी शामिल है। फिर भी AI development दुनिया भर की बहुत-सी कंपनियों में पहले से हो रहा है
    • यह कुछ वैसा है जैसे कहना कि लोगों ने काग़ज़ी बहीखातों का इस्तेमाल छोड़कर तथाकथित databases से छेड़छाड़ करके productivity खो दी
    • मैं output मापने वाले project पर काम करता हूँ, और वहाँ इसमें कुछ भी “नकली” नहीं है
    • इसे Minecraft automation की तरह देखता हूँ। बस मज़े और समय बिताने के लिए
      मुझे नहीं लगता कि agent-style workflows अभी उस स्तर तक पहुँचे हैं, लेकिन manually call करके AI के साथ-साथ काम करने के लिए skills का implementation निश्चित रूप से ठीक है। हमारी company आजकल sandboxing और safe skills पर बहुत ध्यान दे रही है
      feature development अभी तक बहुत अच्छी तरह पकड़ में नहीं आई है, लेकिन मेरे लिखे हुए review skill और Grafana skill काफ़ी मज़बूत रहे हैं
  • मैंने पहले बड़े agent skill bundles इस्तेमाल किए थे, लेकिन वे बहुत ज़्यादा करने की कोशिश करते थे, इसलिए समय की बर्बादी लगे। Vim की तरह skills को पूरे IDE की तरह install करने के बजाय, community से चुनकर इस्तेमाल करना कई बार बेहतर होता है
    skills हर developer और team के लिए अलग होती हैं, इसलिए वे बहुत व्यक्तिगत हैं। किसी और की settings को bulk में install करने के बजाय, उन्हें अपनी setup बनाने के लिए reference material की तरह लेना ज़्यादा सही है

    • MCP और system instructions पर भी यही लागू होता है। बहुत-से लोग बिना समझे सब कुछ install कर लेते हैं, बेकार tools से context को भर देते हैं, 50k से ज़्यादा tokens बर्बाद कर देते हैं, और फिर शिकायत करते हैं कि limit बहुत जल्दी आ जाती है इसलिए उन्हें महीने के 100 डॉलर से ज़्यादा देने पड़ते हैं
  • search optimization या LLM optimization के नज़रिए से देखें तो, अगर नाम नहीं बदला गया तो इन skills की discoverability मुश्किल लगती है: https://agentskills.io/
    अगर Addy यह देख रहे हों, तो जानना चाहूँगा कि वह इसे Superpowers से तुलना करके कैसे समझाएँगे: https://github.com/obra/superpowers

    • मैं जानना चाहता हूँ कि वास्तव में superpowers इस्तेमाल करने वाले लोग कितने हैं
      मैं superpowers से पहले से agent development की तरफ़ था, और अब मुझे चिंता है कि मेरे self-built process का 50% से ज़्यादा हिस्सा superpowers cover करने लगा है
      मैं अब GitHub stars पर भरोसा नहीं करता। काश कोई बताए। क्या superpowers अब सचमुच adopt हो चुका है? अगर यह वास्तव में इतना मूल्यवान है, तो Boris ने अभी तक उस concept को integrate क्यों नहीं किया?
    • यह वैसा लगता है जैसे NextJS से compete करने के लिए किसी React framework का नाम ReactJS रख दिया जाए
    • यह plugin के रूप में मिलने वाले prebuilt skill bundles जैसा दिखता है
    • क्या superpowers सच में काम करता है? main skill file ज़्यादा भरोसा नहीं जगाती:
      “अगर आपको 1% भी लगे कि कोई skill आपके काम पर लागू हो सकती है, तो आपको वह skill ज़रूर call करनी चाहिए”
  • समझ नहीं आता कि सब लोग अपनी ही नौकरियाँ खत्म करने को लेकर इतने उत्साहित क्यों हैं
    हो सकता है ये चीज़ें या कोई “skills” सच में इतना न करें, लेकिन सिद्धांत की बात कर रहा हूँ। यह बड़े पैमाने पर श्रम से अलगाव जैसा लगता है

    • हम दशकों से पुराने कामों के बड़े हिस्सों को automate करते आए हैं। वरना सब लोग काम को जितना लंबा हो सके उतना लंबा करने के लिए सबसे अक्षम तरीके बनाते, जो कोई अच्छी बात नहीं होती
      मानवता ने जितना पीछे तक पता लगाया जा सकता है, हमेशा किसी निश्चित output के लिए ज़रूरी labor कम करने की कोशिश की है, और वही सभ्यता है। क्या हमें फिर से कुदाल से हाथ से खेती करने वाले दौर में लौट जाना चाहिए सिर्फ़ writing labor को maximize करने के लिए? क्या हमें फिर से एक-एक करके street lights जलाने वाले समय में लौटना चाहिए?
      automation में पीछे रह जाने वाले समाज ग़रीब होते जाते हैं और अंततः मर जाते हैं। वहाँ पैदा हुए लोग भी ज़्यादा productive जगहों पर चले जाते हैं। यह पूर्वी यूरोप में भी हुआ, Amish समुदाय में भी, और हर उस ग़रीब समाज में जहाँ migration होती है। कम से ज़्यादा करना हमेशा दिलचस्प काम रहा है
    • एक computer programmer के रूप में मेरे लिए यह सोच समझना कठिन है। मैंने पूरी ज़िंदगी computers को काम कराने के लिए बनाया है ताकि इंसानों को वह काम न करना पड़े। लिखा गया हर software किसी न किसी का काम खत्म करने के लिए ही होता है
      क्या आप हर automation के बारे में ऐसा ही महसूस करते हैं, यह जानना चाहता हूँ। पुराने ज़माने के कुछ system administrators infra automation की प्रगति को इसी तरह देखते थे, और उन्हें यह पसंद नहीं था कि जो काम पहले हाथ से होता था वह scripts और systems करने लगें
      हमारी team ने एक नौकरी में 30,000 servers पर patches अपने-आप चलाने और systems को production से अपने-आप बाहर-भीतर करने वाला automated patching system बनाया था। पूरी process hands-off हो गई थी, जबकि पहले यह प्रक्रिया manually चलाने के लिए dedicated team थी। क्या automation ने उनकी jobs छीन लीं?
      एक अर्थ में हाँ, लेकिन और काम भी थे जो करने थे, और अब वे वह काम कर सकते थे
      programming, computers और technology मुझे इसलिए पसंद हैं क्योंकि वे हमारे बदले काम करते हैं। मेरा utopia वह दुनिया है जहाँ robots सारा कठिन काम कर लें ताकि इंसान जो चाहें वह कर सकें। AI हमें उस दिशा में एक कदम और ले जा रहा है। मैं यह सोचने के बजाय कि robots jobs ले जाएँ तो लोगों को व्यस्त रखने के लिए पर्याप्त अप्रिय काम कैसे बचा रहे, इस पर ध्यान देना पसंद करूँगा कि robots के काम संभालने का फ़ायदा सिर्फ़ अमीर मालिकों को नहीं बल्कि पूरी दुनिया को कैसे मिले
    • आम तौर पर jobs वही लोग खोते हैं जो बाज़ार के हिसाब से खुद को ढाल नहीं पाते
      अभी यह साफ़ नहीं है कि सब कुछ किस दिशा में evolve करेगा, इसलिए लोग अपना data random agents को देकर देख रहे हैं, context को store और access करने के तरीके ढूँढ रहे हैं, prompts को reuse कर रहे हैं, और इस technology के साथ काम करने के कई प्रयोग कर रहे हैं
      इनमें से ज़्यादातर चीज़ें एक साल बाद अगली पीढ़ी के models में गहराई से integrate होकर बेकार हो सकती हैं। फिर भी progress के साथ चलते रहना इस क्षेत्र में काम करने के मज़े का हिस्सा रहा है
    • यह survival instinct है। जब आपके आसपास सब लोग, हर चीज़, यहाँ तक कि workplace भी “AI इस्तेमाल करो” चिल्ला रहे हों, तो उसका विरोध करना या सावधानी की बात उठाना मुश्किल हो जाता है। यह उत्साह से ज़्यादा पीछे छूट जाने के डर जैसा है
      अगर लंबी अवधि का data यह दिखाए कि औसतन productivity gains सीमित रही हैं, और top-end modern models की मदद के बावजूद high-quality software बनाने के लिए अब भी बारीकी और मानवीय ध्यान चाहिए, तो शायद समर्थक और विरोधी दोनों थोड़ा चकित होंगे
      यह वही काम है, बस screwdriver की जगह power drill मिल गई है। कुछ लोग सैकड़ों साल टिकने वाले घर बनाते हैं, कुछ नहीं
    • सबसे ज़्यादा उत्साह शायद उन्हीं लोगों में दिखता है जो पहले अच्छे developers नहीं थे और अचानक “सामान्य” स्तर तक तेज़ हो गए। जिन अच्छे developers को मैं जानता हूँ, वे सभी adoption को लेकर थोड़ा ज़्यादा सावधान थे
  • मैं आजकल यह बात बार-बार सुन रहा हूँ। developer teams को manage करने में जो चीज़ें अच्छी हैं, वही LLM management में भी अच्छी हैं
    अच्छे test cases, स्पष्ट और संक्षिप्त docs, CI/CD, best practices और onboarding docs
    LLM को manage करना धीरे-धीरे इंसानी टीम को manage करने जैसा होता जा रहा है

    • सही है। मैं भी लगभग एक साल से यह बात कह रहा हूँ, और internal presentations में भी ठीक यही anecdote इस्तेमाल किया है
    • इसी तरह agent-style coding की success stories शुरू से ही उन organizations से आती हैं जिनके पास ये सारी चीज़ें पहले से होती हैं
  • जानना चाहूँगा कि यह spec-kit से कैसे बेहतर है या कैसे अलग है। दर्शन बहुत मिलता-जुलता लगता है, और यह भी सोच रहा हूँ कि क्या दोनों साथ इस्तेमाल हो सकते हैं। या फिर यह बस overlap है?
    https://github.com/github/spec-kit

    • कुछ भी अलग नहीं है। यह वही कचरा है उन developers के लिए जो code लिखते समय AI को सावधानी से इस्तेमाल करने का इरादा भी नहीं रखते, लेकिन mass layoffs की शिकायत करते हैं
  • मुझे हैरानी हुई कि कुछ skills इतनी लंबी हैं। उनमें tables, checkbox lists, code examples वगैरह हैं और वे कई pages में फैली हुई हैं
    जानना चाहूँगा कि यह कितना आम है। ऐसी कुछ ही चीज़ें context का काफ़ी हिस्सा भर देंगी, ऐसा लगता है

    • लंबी इसलिए हैं क्योंकि इन skills में से ज़्यादातर Claude Code और Opus से बनाई गई हैं, और कोई समझदार इंसान उन files को पढ़ेगा भी नहीं, न ही उनके आधार पर दिमाग में कोई मॉडल बनाएगा। इसके काम करने की धारणा कई परतों में टिकी है, लेकिन असल दुनिया में यह काम नहीं करती और फ़िज़ूलखर्ची है
      एक दिलचस्प प्रयोग है। LLM से कुछ ऐसा लिखने को कहिए जिससे वह बस हल्का-सा परिचित हो। जैसे “write a fib” कहिए, तो लगभग हर LLM, क्योंकि उसे code पर fine-tune किया गया है, जबकि किसी non-programmer के लिए उसका मतलब “छोटा झूठ लिखो” हो सकता है, Fibonacci sequence algorithm के रूप में जवाब देगा
      यानी compression होता है। Fibonacci sequence क्या है, यह विस्तार से बताए बिना, सिर्फ़ तीन ambiguous tokens से नतीजा व्यक्त किया जा सकता है
      इसलिए prompt की length महत्वपूर्ण नहीं है। महत्वपूर्ण है सही शब्द, उनकी frequency, और उनका order। दो pages के prompt और दो sentences के prompt से एक जैसा result आ सकता है
    • जल्दी से देखने पर कम-से-कम कुछ skills, skills से ज़्यादा सीमित दायरे वाले sub-agents के लिए system prompts जैसी लगीं। मैं मानता हूँ कि लंबे चलने वाले work sessions में ऐसी चीज़ें बहुत ज़्यादा इस्तेमाल नहीं करनी चाहूँगा
      अभी तक मुझे छोटी और focused skills के साथ सफलता मिली है। मैं उन्हें reusable context snippets की तरह रखता हूँ, लेकिन छोटा। जैसे मेरे project में Python कैसे इस्तेमाल होता है और unit tests कैसे चलाए जाते हैं, इस पर कुछ paragraphs
      मेरे पास कई छोटी “info” skills भी हैं जिनमें agent को instructions नहीं दिए जाते, बल्कि बस उपयोगी context information होती है जिसे ज़रूरत पड़ने पर ऊपर लाया जा सकता है
      skills बहुत ज़्यादा हो जाएँ तो वह भी समस्या बन सकती है। क्योंकि skill names और descriptions की list भी किसी बिंदु पर context में पहुँच जाती है
    • मैंने कभी कोई skill लिखी नहीं, इसलिए यह कितना आम है नहीं जानता। कुछ की word count गिनी तो वे लगभग 2,000 words की थीं। 5 skills हुईं तो लगभग 10,000 words
      छोटे LLM context जैसे 128k में यह लगभग 10% के आसपास है, और बड़े models की 1M context window में तो लगभग दिखेगा भी नहीं
    • मूल रूप से context में skills का frontmatter ही load होता है, यानी name, description, trigger वगैरह, इसलिए जब तक आपके पास हजारों skills न हों, ऐसा ज़्यादा नहीं होगा
    • मैंने अपने project की skill files की line count देखी तो top 3 क्रमशः 805 lines, 660 lines, और 511 lines थीं
      हो सकता है मैं यहाँ कुछ ज़्यादा conservative हूँ। अभी और explore करना है
  • “Senior engineer का ज़्यादातर काम diff में दिखाई नहीं देता”
    Agent Skills, Addy की उस काम को भी खत्म करने की कोशिश है। चीयर्स, Addy :P