SSD Nodes Learn 🎉 VPS $5.50/ماہ سے
تعلیمی Matt Connorتحریر: Matt Connor · اپ ڈیٹ شدہ 2026-08-13

Agent skill اصل میں کیا ہوتا ہے؟ MCP سے فرق

Agent skill ایک folder ہے جس میں SKILL.md ہوتا ہے، اور request ملنے پر ہی instructions load ہوتی ہیں۔ جانیں یہ ایک بڑے prompt سے بہتر کیوں ہے اور MCP سے کیسے مختلف ہے۔

Agent skill اصل میں کیا ہوتا ہے

Agent skill ڈسک پر موجود ایک folder ہوتا ہے جس میں SKILL.md نام کی ایک file ہوتی ہے۔ اس file میں name، مختصر description، اور سادہ Markdown میں لکھی ہوئی instructions شامل ہوتی ہیں۔ Agent startup کے وقت description load کرتا ہے، اور instructions صرف اسی وقت پڑھتا ہے جب آپ کی request اس description سے مطابقت رکھتی ہو۔ Skills کے بارے میں تقریباً باقی تمام باتیں انہی دو جملوں سے اخذ ہوتی ہیں۔

Folder میں ایک file سے زیادہ مواد شامل ہو سکتا ہے۔ Agent Skills specification تین optional directories کا نام دیتی ہے: scripts/ اس code کے لیے جسے agent چلاتا ہے، references/ ان documents کے لیے جنہیں ضرورت پڑنے پر agent پڑھتا ہے، اور assets/ templates اور data کے لیے۔ ان میں سے کوئی بھی لازمی نہیں ہے۔ ایسا folder جس میں صرف SKILL.md ہو، ایک مکمل skill ہے۔

restore-drill/
  SKILL.md
  references/retention-policy.md
  scripts/verify_snapshot.sh

Description وہ حصہ ہے جسے لوگ عموماً کم اہم سمجھتے ہیں۔ Agent skill کھولنے کا فیصلہ کرنے سے پہلے صرف یہی text دیکھتا ہے، اس لیے اس میں واضح ہونا چاہیے کہ skill کیا کرتی ہے اور اسے کب استعمال کرنا ہے۔ یہ وضاحت ان الفاظ میں ہونی چاہیے جو کوئی شخص واقعی type کرے گا۔

ایک skill استعمال ہونے تک تقریباً کچھ خرچ کیوں نہیں کرتی

یہی وہ دلیل ہے جو اس format کو سمجھنے کے قابل بناتی ہے، اور اس کا تعلق features سے نہیں بلکہ context سے ہے۔ Loading مراحل میں ہوتی ہے، جسے specification progressive disclosure کہتی ہے۔

Startup پر agent ہر installed skill کا name اور description load کرتا ہے، اس کے علاوہ کچھ نہیں۔ Agent Skills specification کے مطابق یہ تقریباً ہر skill کے لیے 100 tokens بنتے ہیں (August 2026 تک شائع شدہ guidance)۔ ایک درجن skills install کریں تو خرچ تقریباً ایک طویل paragraph کے context جتنا ہوتا ہے۔

جب کوئی request کسی description سے match ہوتی ہے تو agent اسی ایک SKILL.md کا body پڑھتا ہے۔ Specification body کو 5,000 tokens سے کم اور file کو 500 lines سے کم رکھنے کی سفارش کرتی ہے۔ references/ اور scripts/ کی files اس مرحلے پر اب بھی کوئی اضافی خرچ نہیں کرتیں۔ کوئی reference file صرف اسی وقت load ہوتی ہے جب instructions agent کو اس کی طرف بھیجیں۔ Bundled script کا معاملہ اس سے مختلف ہے: agent اسے shell کے ذریعے run کرتا ہے، اس لیے script کا source context window میں شامل نہیں ہوتا، صرف اس کا output شامل ہوتا ہے۔

اب اس چیز سے موازنہ کریں جس کی طرف لوگ پہلے رجوع کرتے ہیں، یعنی ایک بہت بڑا prompt۔ System prompt یا ہمیشہ فعال instructions file کی ہر line ہر request اور ہر session میں استعمال ہوتی ہے، خواہ task کو اس کی ضرورت ہو یا نہ ہو، اور یہ اصل سوال کے ساتھ agent کی توجہ کے لیے مقابلہ کرتی ہے۔ 10,000 tokens کی مستقل instructions ایسا bill ہے جو صرف وقت پوچھنے کے لیے بھی ادا کرنا پڑتا ہے۔ ایک درجن skills آرام کی حالت میں تقریباً 1,200 tokens لیتی ہیں اور صرف اسی task کے لیے پھیلتی ہیں جسے ان کی ضرورت ہو۔ Skills کے حق میں پوری دلیل یہی ہے، اور اسی لیے ایک چھوٹی library ایک طویل prompt سے بہتر ہے۔

ایک caveat اکثر لوگوں کو مشکل میں ڈالتی ہے۔ Skill load ہونے کے بعد اس کا body session کے باقی حصے میں context کے اندر رہتا ہے، اس لیے طویل SKILL.md ایک بار کا نہیں بلکہ بار بار آنے والا خرچ ہے۔ تفصیل کو references/ میں منتقل کرنا محض صفائی نہیں ہے۔ یہی وہ mechanism ہے جو design کے مطابق کام کرتا ہے۔

ایجنٹ skill ٹول کال نہیں ہے

ٹول، جسے function call بھی کہا جاتا ہے، وہ چیز ہے جسے ماڈل invoke کر سکتا ہے۔ harness ماڈل کو ایک schema بھیجتا ہے: نام، description اور arguments کی ساخت۔ ماڈل call بھیجتا ہے، آپ کا code اسے چلاتا ہے، اور نتیجہ message کے طور پر واپس آتا ہے۔ ٹول کام انجام دیتے ہیں۔

skill خود کچھ execute نہیں کرتی۔ ایجنٹ اسے پڑھتا ہے، پھر اپنے پاس موجود tools استعمال کرتے ہوئے کارروائی کرتا ہے۔ ماڈل skill کو اسی طرح arguments نہیں دے سکتا جیسے وہ tool کو دیتا ہے۔ skill یہ بتا سکتی ہے کہ کون سے tools کس ترتیب سے استعمال کرنے ہیں اور اس کے بعد کیا جانچنا ہے۔

مختصر طور پر: tool ایجنٹ کو نئی صلاحیت دیتا ہے، جبکہ skill اسے ایسی صلاحیت کے بارے میں فیصلہ سازی دیتی ہے جو اس کے پاس پہلے سے موجود ہے۔ اگر کسی مرحلے کو ہر بار ایک درست اور validated نتیجہ پیدا کرنا ہو تو tool یا script درکار ہے۔ اگر کسی مرحلے میں ایک ہی طرز کی سوچ مستقل طور پر استعمال کرنی ہو تو skill موزوں ہے۔ skill صرف فیصلہ سازی پر مشتمل ہو سکتی ہے، پھر بھی یہی وہ چیز ہو سکتی ہے جس سے آپ سب سے زیادہ رجوع کریں، جیسا کہ Ponytail، جو coding agent کو کام کرنے والی سب سے چھوٹی تبدیلی کرنے پر مجبور کرتا ہے سے ظاہر ہوتا ہے: یہ کوئی نئی capability شامل نہیں کرتی، بلکہ صرف یہ تبدیل کرتی ہے کہ ایجنٹ اپنی موجودہ صلاحیتوں کو کیسے استعمال کرتا ہے۔

ایجنٹ skill، MCP server نہیں ہے

MCP (model context protocol) ایجنٹ کو بیرونی نظام سے منسلک کرنے کا protocol ہے۔ MCP server ایک ایسا process ہے جو چلتا ہے، اس protocol کے ذریعے مواصلت کرتا ہے، اور ایجنٹ کو tools فراہم کرتا ہے۔ عموماً اسے configuration، credentials، اور یا تو local command یا network endpoint درکار ہوتا ہے۔ skill ایک folder ہے جس میں markdown file موجود ہوتی ہے۔ اس میں کوئی process، port یا protocol نہیں ہوتا۔

دونوں کی context cost بھی اسی طرح مختلف ہوتی ہے۔ MCP server کا فراہم کردہ ہر tool ایک name، description اور argument schema رکھتا ہے۔ بطور default، یہ معلومات پورے session کے request میں شامل رہتی ہیں، چاہے ان کا استعمال ہو یا نہ ہو۔ کچھ clients نے tool schemas ضرورت کے وقت fetch کرنا شروع کر دیا ہے، لیکن انہیں ابتدا ہی میں load کرنا اب بھی معمول ہے۔ skill اپنی موجودہ حالت میں صرف ایک سطر کا متن ہوتی ہے۔

دونوں ایک دوسرے کی تکمیل کرتے ہیں، اور مضبوط ترین setups میں دونوں استعمال ہوتے ہیں۔ MCP server رسائی فراہم کرتا ہے۔ skill طریقۂ کار فراہم کرتی ہے: آپ کی team کے حقیقی workflow کے لیے ان tools میں سے کن tools کو call کرنا ہے، کس ترتیب سے call کرنا ہے، اور اچھا نتیجہ کیسا ہونا چاہیے۔ اگر آپ اپنا server host کرتے ہیں تو VPS پر MCP servers چلانا اس پہلو کا احاطہ کرتا ہے۔

ایجنٹ skill، system prompt یا AGENTS.md نہیں ہوتا

یہ تینوں Markdown میں لکھی گئی ہدایات ہیں، اس لیے یہ الجھن قابل فہم ہے۔ فرق یہ ہے کہ یہ کب load ہوتی ہیں۔ AGENTS.md، CLAUDE.md اور system prompt ہمیشہ فعال رہتے ہیں۔ skill ضرورت کے وقت فعال ہوتی ہے۔

اس کا فیصلہ ایک سوال سے کریں: اگر کسی ایسے task پر، جس کا اس سے کوئی تعلق نہ ہو، اس پیراگراف کو نظر انداز کیا جائے تو کیا یہ غلط ہوگا؟ House style، build command اور branch naming rule ہر task پر لاگو ہوتے ہیں، اس لیے یہ always-on file میں ہونے چاہییں، جہاں ہر بار load ہونا ہی مقصد ہے۔ Release checklist، جسے آپ ماہ میں دو مرتبہ چلاتے ہیں، ہر task پر لاگو نہیں ہوتی، اس لیے اسے skill میں ہونا چاہیے۔ جب آپ کی always-on file کا کوئی section numbered procedure کی شکل اختیار کر لے تو یہ اسے منتقل کرنے کا اشارہ ہے۔

ان files کے اپنے conventions بھی ہیں، جنہیں درست طور پر اپنانا ضروری ہے۔ ان دونوں conventions کے لیے AGENTS.md میں کیا ہونا چاہیے اور human file میں کیا ہونا چاہیے اور codebase کی ساخت کی وضاحت کرنے والی design.md دیکھیں۔

ایک کم سے کم skill کی شکل

Claude Code میں ذاتی skills ~/.claude/skills/<name>/SKILL.md میں رہتی ہیں اور آپ کے تمام projects پر لاگو ہوتی ہیں۔ Project skills .claude/skills/<name>/SKILL.md میں رہتی ہیں اور git میں commit کی جاتی ہیں، اس لیے اس repository پر کام کرنے والے ہر شخص اور ہر agent کے پاس یہ موجود ہوتی ہیں۔ GitHub Copilot اور VS Code اس کے بجائے workspace skills کو .github/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 ہے۔ Directory کا نام وہ command بن جاتا ہے جو آپ type کرتے ہیں، اس لیے یہ /restore-drill ہے۔ Claude Code میں /skills menu installed skills کی فہرست دکھاتا ہے۔ یہ تصدیق کرنے کا تیز ترین طریقہ ہے کہ file شامل کر لی گئی ہے۔ اگر یہ اس menu میں موجود نہ ہو تو کسی نام میں غلطی ہے: file کا نام SKILL.md ہونا چاہیے، اور directory کے نام میں صرف lowercase letters، digits اور single hyphens ہونے چاہییں۔ اسی عمل کو ایک ایسے procedure کے طور پر لکھنا جسے آپ کا agent دوبارہ چلا سکے، VPS پر scheduled restic backups کا فطری companion ہے، کیونکہ backup کا چلنا اور backup کا restore ہونا ایک جیسی چیزیں نہیں ہیں۔

کب skill کو script ہونا چاہیے

ہر وہ مرحلہ جس کا ہر بار ایک ہی درست جواب ہو، اسے script ہونا چاہیے۔ skill میں صرف یہ چند سطریں رہنی چاہییں کہ اسے کب چلانا ہے اور output کو کیسے پڑھنا ہے۔ اس کی دو وجوہات ہیں، اور دونوں عملی ہیں۔

اول، script کا source context window میں شامل نہیں ہوتا۔ 300 سطروں کے parser سے صرف اس کا output context میں آتا ہے، اس سے زیادہ کچھ نہیں۔ جبکہ اسی منطق کو markdown instructions میں لکھنے سے skill کے load ہونے پر ہر بار اس کی مکمل طوالت شامل ہوتی ہے۔

دوم، script ہر بار ایک ہی جواب دیتی ہے۔ اگر model سے ہر run پر وہی log parsing rule دوبارہ اخذ کرنے کو کہا جائے تو خراب دن میں نتیجہ معمولی طور پر مختلف آ سکتا ہے، اور آپ کو اس کا پتا اس وقت چلے گا جب دو numbers آپس میں نہ ملیں۔

اس لیے کام کو اس کی نوعیت کے مطابق تقسیم کریں۔ "CSV کو parse کریں اور ہر وہ row print کریں جہاں total، line items سے match نہ کرے" ایک script ہے۔ "script کی print کردہ rows دیکھیں اور وضاحت کریں کہ ان میں سے کون سی data entry mistake معلوم ہوتی ہیں" ایک skill instruction ہے۔ judgment کو markdown میں اور determinism کو code میں رکھنا اسی discipline کا حصہ ہے جس کے تحت ایسا loop بناتے ہیں جسے agent آپ کی نگرانی کے بغیر چلا سکے۔

میری skill کبھی trigger کیوں نہیں ہوتی؟

کیونکہ اس کی description صرف یہ بتاتی ہے کہ skill کیا کرتی ہے، اور یہ نہیں بتاتی کہ اسے کب استعمال کرنا ہے۔ Agent کو آپ کی درخواست کے ساتھ match کرنے کے لیے صرف اسی ایک سطر کو دیکھنا ہوتا ہے۔ "Database کے کام میں مدد کرتی ہے" کسی خاص درخواست سے match نہیں ہوتی۔ "Staging database کے خلاف schema migration چلاتی ہے۔ اس وقت استعمال کریں جب user کسی table کو migrate کرنے، column شامل کرنے، یا schema تبدیل کرنے کی درخواست کرے" میں وہ الفاظ موجود ہوتے ہیں جو user حقیقتاً type کرتا ہے، اس لیے skill trigger ہو جاتی ہے۔

اس کے برعکس مسئلہ اس skill کا ہے جو مسلسل trigger ہوتی رہتی ہے۔ "اس repository میں کسی بھی code change کے لیے استعمال کریں" جیسی description ہر چیز سے match ہوتی ہے۔ اس لیے body ہر task پر load ہو جاتی ہے اور پھر session کے باقی حصے میں context میں موجود رہتی ہے۔ Description کو صرف اسی case تک محدود کریں جس کے لیے آپ نے skill بنائی ہے۔ Claude Code میں آپ frontmatter میں disable-model-invocation: true بھی set کر سکتے ہیں۔ اس سے automatic loading رک جاتی ہے اور skill اس وقت دستیاب رہتی ہے جب آپ اس کا نام type کریں۔

تیسرا مسئلہ وہ skill ہے جو کسی tool کی نقل بناتی ہے۔ Agent کو curl ایسی API کی ہدایت دینا جسے اس کا MCP server پہلے ہی expose کرتا ہے، یا files میں grep کرنے کی ہدایت دینا جبکہ harness میں search tool موجود ہو، آپ کو سست طریقہ فراہم کرتا ہے۔ اس کے علاوہ instructions کے دو ایسے مجموعے بن جاتے ہیں جو ایک دوسرے سے متصادم ہو سکتے ہیں۔ نقل ہٹا دیں اور اس کے بجائے مطلوبہ intent بیان کریں۔

تینوں میں سے آپ کو کون سا مسئلہ درپیش ہے، اس کا اندازہ نہ لگائیں۔ ایک ہی prompt کو fresh session میں دو مرتبہ چلائیں: ایک مرتبہ skill available ہو، اور دوسری مرتبہ اسے switched off رکھیں۔ پھر دونوں answers کا موازنہ کریں۔ Fresh session اہم ہے، کیونکہ جس session میں آپ نے skill لکھی تھی اس میں skill کی تمام ہدایات پہلے ہی شامل ہوتی ہیں۔ اس سے written version کی خامیاں چھپ جاتی ہیں۔ Anthropic کا skill-creator plugin یہ comparison Claude Code کے اندر خودکار بناتا ہے۔ یہ ایسے prompts بھی generate کرتا ہے جن پر skill کو trigger ہونا چاہیے یا نہیں ہونا چاہیے، اور یہ measure کرتا ہے کہ ہر prompt کتنی بار trigger ہوتا ہے۔

کیا یہ کسی ایک vendor کا format ہے یا ایک standard؟

Anthropic نے یہ format 2025 کے اواخر میں شائع کیا، پھر اسے agentskills.io پر hosted open standard کے طور پر جاری کیا۔ August 2026 تک یہ specification لازمی name اور description fields، اختیاری license، compatibility، metadata اور allowed-tools fields، تین اختیاری directories، اور staged loading behaviour کی وضاحت کرتی ہے۔ اس کے ساتھ reference validator بھی فراہم کیا گیا ہے، اس لیے skills-ref validate ./my-skill share کرنے سے پہلے کسی folder کو spec کے مطابق check کرتا ہے۔

اصل اشارہ client list ہے۔ یہی folder Claude Code، Cursor، OpenAI Codex، Gemini CLI، GitHub Copilot، VS Code، Goose، OpenHands اور opencode سمیت دیگر tools بھی پڑھتے ہیں۔ Microsoft اس format میں اپنی skills github.com/microsoft/skills پر شائع کرتا ہے، اور Skill Recorder نامی desktop tool بھی فراہم کرتا ہے۔ یہ tool آپ کو ایک بار task انجام دیتے ہوئے monitor کرتا ہے، اسے intent اور ترتیب وار steps کی صورت میں reconstruct کرتا ہے، اور نتیجہ skill کے طور پر لکھ دیتا ہے۔ اگر کوئی vendor ایسا recorder بناتا ہے جس کا output format کسی دوسرے کی specification سے متعلق ہو، تو یہ اچھی علامت ہے کہ یہ format کسی ایک product کا feature نہیں رہا۔

پہلے کیا لکھیں

library کی منصوبہ بندی نہ کریں۔ جب آپ خود کو تیسری بار ایک ہی ہدایات chat میں paste کرتے ہوئے پائیں، تو اس متن کو SKILL.md میں منتقل کریں اور paste حذف کر دیں۔ آپ پہلے ہی جس repetition کو محسوس کر چکے ہوں، وہی کسی skill کو محفوظ رکھنے کے قابل سمجھنے کا واحد قابلِ اعتماد محرک ہے۔ search procedure ایک اچھا پہلا انتخاب ہے، اور اپنی SearXNG instance سے تقویت یافتہ search skill اس کی ساخت واضح کرتی ہے۔

دو عادات library کو صحت مند رکھتی ہیں۔ جس skill کو آپ نے خود نہ لکھا ہو، اسے install کرنے سے پہلے مکمل پڑھیں، جس میں scripts بھی شامل ہیں، کیونکہ skill ایسی instructions ہوتی ہیں جن پر آپ کا agent عمل کرے گا اور ایسا code بھی ہو سکتا ہے جسے وہ چلائے: اسے کسی اجنبی سے software install کرنے کے مترادف سمجھیں۔ credentials کو folder سے باہر رکھیں، کیونکہ skill ایک text file ہوتی ہے جسے commit اور share کیا جاتا ہے۔ اپنے agents سے secrets دور رکھنا وضاحت کرتا ہے کہ ان values کو اس کے بجائے کہاں رکھنا چاہیے، جبکہ اس سال agents سیکھنے کا road map skills کو setup کے دیگر حصوں کے ساتھ مناسب ترتیب میں رکھتا ہے۔

FAQ

agent skill اور MCP server میں کیا فرق ہے؟

MCP (model context protocol) server ایک چلتا ہوا process ہوتا ہے جو protocol کے ذریعے agent کو tools فراہم کرتا ہے۔ اس کے لیے configuration اور credentials درکار ہوتے ہیں، اور اس کی tool definitions عموماً پورے session کے context میں شامل رہتی ہیں، چاہے وہ استعمال ہوں یا نہ ہوں۔ agent skill ایک folder ہوتا ہے جس میں SKILL.md file شامل ہوتی ہے۔ اس میں نہ کوئی process ہوتا ہے اور نہ protocol، اور agent کے اسے پڑھنے کا فیصلہ کرنے تک اس پر تقریباً 100 tokens خرچ ہوتے ہیں۔ agent کو کسی system تک رسائی دینے کے لیے MCP server استعمال کریں۔ اس رسائی کو درست طریقے سے استعمال کرنے کا طریقہ بتانے کے لیے skill استعمال کریں۔ بہت سے setups دونوں استعمال کرتے ہیں۔

کیا agent skills صرف Claude Code کے ساتھ کام کرتی ہیں؟

نہیں۔ Anthropic نے یہ format تیار کیا، پھر اسے agentskills.io پر open standard کے طور پر جاری کیا۔ یہی folder Cursor، OpenAI Codex، Gemini CLI، GitHub Copilot، VS Code، Goose، OpenHands اور دیگر clients پڑھ سکتے ہیں۔ فرق یہ ہے کہ ہر client کہاں تلاش کرتا ہے اور کون سے اضافی frontmatter fields سمجھتا ہے۔ Claude Code ~/.claude/skills/ اور .claude/skills/ پڑھتا ہے، جبکہ GitHub Copilot اور VS Code repository میں .github/skills/ پڑھتے ہیں۔ SKILL.md file خود ان clients کے درمیان بغیر تبدیلی منتقل ہو جاتی ہے۔

رفتار متاثر ہونے سے پہلے میں کتنی skills install کر سکتا ہوں؟

اصل حد skills کی تعداد نہیں بلکہ startup budget ہے۔ ہر installed skill specification کی شائع شدہ رہنمائی کے مطابق اپنا نام اور description شامل کرتی ہے، جس پر تقریباً 100 tokens خرچ ہوتے ہیں۔ اس لیے 30 skills میں سے کوئی بھی استعمال ہونے سے پہلے تقریباً 3,000 tokens خرچ ہوتے ہیں۔ سب سے پہلے matching متاثر ہوتی ہے، رفتار نہیں۔ بہت سی ایسی skills جن کی descriptions ایک دوسرے سے ملتی ہوں، model کے لیے درست skill منتخب کرنا مشکل بنا دیتی ہیں۔ ایسی descriptions لکھیں جو ایک دوسرے سے نہ ملتیں ہوں، اور وہ skills حذف کر دیں جنہیں آپ نے استعمال کرنا چھوڑ دیا ہے۔

یہ instruction skill میں ہونی چاہیے یا AGENTS.md میں؟

یہ دیکھیں کہ آیا یہ repository کے ہر task پر لاگو ہوتی ہے۔ Build commands، house style اور naming rules تمام tasks پر لاگو ہوتے ہیں، اس لیے انہیں always-on file میں رکھیں؛ اس file کو ہر بار load کرنا اسی مقصد کا حصہ ہے۔ کبھی کبھار چلایا جانے والا procedure، مثلاً release checklist یا restore drill، skill ہونا چاہیے، تاکہ جن tasks میں اس کی ضرورت نہ ہو ان پر کوئی لاگت نہ آئے۔ AGENTS.md کا وہ section جو numbered steps میں تبدیل ہو چکا ہو، عموماً ایسی skill ہوتی ہے جسے منتقل کرنا باقی ہو۔