SSD Nodes Learn 🎉 VPS $4.99/মাস থেকে
নির্দেশিকা Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-08-13

Agent skill আসলে কী এবং MCP থেকে পার্থক্য কোথায়

Agent skill হলো SKILL.md থাকা একটি folder, যা আপনার request মেলায় তবেই instructions load করে। এক giant prompt-এর সীমাবদ্ধতা ও MCP-এর পার্থক্য জানুন।

একটি agent skill আসলে কী

একটি agent skill হলো disk-এর একটি folder, যার মধ্যে SKILL.md নামের একটি file থাকে। ওই file-এ plain markdown-এ লেখা একটি name, সংক্ষিপ্ত description এবং instructions থাকে। Agent startup-এর সময় description load করে। আপনার request ওই description-এর সঙ্গে মিললে তবেই agent instructions পড়ে। Skill সম্পর্কে প্রায় সব বিষয়ই এই দুটি বাক্য থেকে বোঝা যায়।

Folder-এ ওই একটি file-এর চেয়েও বেশি কিছু থাকতে পারে। Agent Skills specification-এ তিনটি optional directory নির্ধারিত আছে: agent যে code চালায় তার জন্য scripts/, প্রয়োজন হলে যে documents পড়ে তার জন্য references/, এবং templates ও data-এর জন্য assets/। এগুলোর কোনোটিই বাধ্যতামূলক নয়। শুধু একটি SKILL.md থাকা folder-ই একটি সম্পূর্ণ skill।

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

Description-কে মানুষ প্রায়ই এর গুরুত্বের তুলনায় কম বিবেচনা করে। Agent skill খুলবে কি না সিদ্ধান্ত নেওয়ার আগে কেবল এই text-টিই দেখে। তাই description-এ skill কী করে এবং কখন এটি ব্যবহার করতে হবে, তা এমন শব্দে লিখতে হবে যা একজন ব্যবহারকারী সত্যিই type করবেন।

একটি skill ব্যবহার না করা পর্যন্ত প্রায় কোনো খরচ হয় না কেন

এই যুক্তিটিই format বোঝার কারণটিকে গুরুত্বপূর্ণ করে তোলে। বিষয়টি feature নয়, context। Loading ধাপে ধাপে হয়। Specification এই পদ্ধতিকে progressive disclosure বলে।

শুরুতে agent প্রতিটি installed skill-এর name এবং description লোড করে, আর কিছু নয়। Agent Skills specification অনুযায়ী, প্রতি skill-এর জন্য এর পরিমাণ প্রায় 100 tokens (August 2026 অনুযায়ী প্রকাশিত নির্দেশনা)। এক ডজন skill install করলে প্রায় একটি দীর্ঘ paragraph-এর সমপরিমাণ context খরচ হয়।

কোনো request-এর সঙ্গে কোনো description মিলে গেলে agent শুধু সেই একটি SKILL.md-এর body পড়ে। Specification body 5,000 tokens-এর মধ্যে এবং file 500 lines-এর মধ্যে রাখার পরামর্শ দেয়। এই পর্যায়ে references/ এবং scripts/-এর file-এর জন্যও কোনো খরচ হয় না। কোনো reference file-এ যেতে instructions নির্দেশ দিলেই শুধু সেটি load হয়। Bundled script আবার ভিন্ন: agent সেটিকে shell-এর মাধ্যমে চালায়। তাই script-এর source context window-এ প্রবেশ করে না; শুধু তার output প্রবেশ করে।

এবার মানুষের প্রথমে যে পদ্ধতিটি ব্যবহারের প্রবণতা থাকে, সেই একটি বিশাল prompt-এর সঙ্গে তুলনা করুন। System prompt বা সব সময় সক্রিয় instructions file-এর প্রতিটি line প্রতিটি request এবং প্রতিটি session-এ গণনা হয়, কাজটির জন্য সেটির প্রয়োজন থাকুক বা না থাকুক। এটি প্রকৃত প্রশ্নের সঙ্গে attention-এর জন্যও প্রতিযোগিতা করে। 10,000 tokens-এর স্থায়ী instructions এমন একটি bill, যা শুধু সময় জিজ্ঞেস করলেও দিতে হয়। এক ডজন skill idle অবস্থায় প্রায় 1,200 tokens খরচ করে এবং শুধু যে task-এর জন্য প্রয়োজন, তখনই প্রসারিত হয়। Skills ব্যবহারের মূল যুক্তি এটাই। এই কারণেই ছোট একটি library দীর্ঘ prompt-এর চেয়ে কার্যকর।

একটি বিষয় অনেককে সমস্যায় ফেলে। কোনো skill load হওয়ার পর তার body session-এর বাকি সময় context-এ থাকে। তাই দীর্ঘ SKILL.md একবারের খরচ নয়; এটি বারবারের খরচ। বিস্তারিত তথ্য references/-এ সরানো শুধু গোছানোর কাজ নয়। এভাবেই mechanism-টি নকশা অনুযায়ী কাজ করে।

একটি agent skill tool call নয়

একটি tool, যাকে function call-ও বলা হয়, হলো এমন কিছু যা model invoke করতে পারে। harness model-কে একটি schema পাঠায়: একটি name, একটি description এবং argument-এর গঠন। model একটি call তৈরি করে, আপনার code সেটি চালায়, এবং ফলাফল message হিসেবে ফিরে আসে। Tool কাজ সম্পাদন করে।

একটি skill নিজে থেকে কিছুই execute করে না। agent এটি পড়ে, তারপর আগে থেকেই থাকা tool ব্যবহার করে কাজ করে। model যেভাবে tool-এ argument পাঠায়, সেভাবে skill-এ argument পাঠাতে পারে না। skill যা করতে পারে, তা হলো কোন tool কোন ক্রমে ব্যবহার করতে হবে এবং পরে কী যাচাই করতে হবে তা model-কে জানানো।

সংক্ষেপে: একটি tool agent-কে নতুন সক্ষমতা দেয়, আর একটি skill আগে থেকেই থাকা সক্ষমতা ব্যবহারের বিষয়ে বিচারবোধ দেয়। কোনো ধাপকে প্রতিবার একটি নির্ভুল, validated ফলাফল তৈরি করতে হলে tool বা script ব্যবহার করতে হবে। কোনো ধাপে একই চিন্তাপদ্ধতি ধারাবাহিকভাবে প্রয়োগ করতে হলে skill ব্যবহার করতে হবে। একটি skill শুধু judgment-নির্ভরও হতে পারে, তবু সেটিই আপনার সবচেয়ে বেশি ব্যবহৃত skill হতে পারে। এর উদাহরণ Ponytail, যা coding agent-কে কার্যকর সবচেয়ে ছোট পরিবর্তন করতে পরিচালিত করে: এটি কোনো নতুন capability যোগ করে না; শুধু agent কীভাবে আগে থেকেই থাকা capability ব্যবহার করবে, তা পরিবর্তন করে।

একটি agent skill হলো MCP server নয়

MCP (model context protocol) হলো agent-কে বাইরের কোনো সিস্টেমের সঙ্গে সংযুক্ত করার protocol। MCP server হলো এমন একটি process, যা ওই protocol ব্যবহার করে এবং agent-এর জন্য tools প্রকাশ করে। সাধারণত এর configuration, credentials এবং একটি local command অথবা network endpoint প্রয়োজন হয়। Skill হলো একটি markdown file-সহ folder। এখানে কোনো process, port বা protocol থাকে না।

Context cost-এর ক্ষেত্রেও একই ধরনের পার্থক্য রয়েছে। MCP server যে প্রতিটি tool প্রকাশ করে, তার একটি name, description এবং argument schema থাকে। ডিফল্টভাবে এগুলো পুরো session-এর request-এ থাকে, tool ব্যবহার করা হোক বা না হোক। কিছু client এখন প্রয়োজন অনুযায়ী tool schema সংগ্রহ করা শুরু করেছে, কিন্তু upfront loading এখনও স্বাভাবিক পদ্ধতি। স্থির অবস্থায় একটি skill হলো এক লাইন text।

দুটো পরস্পরের পরিপূরক, এবং সবচেয়ে কার্যকর setup-এ উভয়ই ব্যবহার করা হয়। MCP server access প্রদান করে। Skill procedure নির্ধারণ করে: আপনার team-এর বাস্তব workflow অনুযায়ী কোন tool কখন call করতে হবে, কী ক্রমে করতে হবে এবং ভালো result কেমন হওয়া উচিত। আপনি নিজে host করলে, VPS-এ MCP server চালানো বিষয়টি সেই দিকটি ব্যাখ্যা করে।

একটি agent skill system prompt বা AGENTS.md নয়

দুটিই markdown-এ লেখা নির্দেশনা, তাই এই বিভ্রান্তি স্বাভাবিক। পার্থক্য হলো এগুলো কখন লোড হয়। AGENTS.md, CLAUDE.md এবং system prompt সব সময় সক্রিয় থাকে। একটি skill প্রয়োজন অনুযায়ী সক্রিয় হয়।

পরীক্ষাটি একটি প্রশ্নে করা যায়: এই অনুচ্ছেদটি উপেক্ষা করলে, এর সঙ্গে কোনো সম্পর্ক নেই এমন কাজের ক্ষেত্রে কি ভুল হবে? House style, build command এবং branch naming rule প্রতিটি কাজে প্রযোজ্য। তাই এগুলো always-on file-এ থাকা উচিত, কারণ প্রতিবার লোড হওয়াই এর উদ্দেশ্য। মাসে দুবার চালানো release checklist প্রতিটি কাজে প্রযোজ্য নয়। তাই এটি একটি skill-এ থাকা উচিত। আপনার always-on file-এর কোনো section যখন numbered procedure-এ পরিণত হয়, তখন সেটি সরিয়ে নেওয়ার সংকেত এসেছে।

ওই file-গুলোর নিজেদের কিছু convention আছে, যেগুলো সঠিকভাবে অনুসরণ করা গুরুত্বপূর্ণ। আমরা যে দুই ধরনের file ব্যবহার করি, সেগুলোর জন্য AGENTS.md-এ কী থাকবে এবং human file-এ কী থাকবে এবং codebase-এর কাঠামো ব্যাখ্যা করা একটি design.md দেখুন।

ন্যূনতম skill কেমন হয়

Claude Code-এ ব্যক্তিগত skill-গুলো ~/.claude/skills/<name>/SKILL.md-এ থাকে এবং আপনার সব project-এ প্রযোজ্য হয়। Project skill-গুলো .claude/skills/<name>/SKILL.md-এ থাকে এবং git-এ commit করা হয়। তাই ওই repository-তে কাজ করা প্রতিটি ব্যক্তি ও agent এগুলো পায়। GitHub Copilot এবং VS Code-এর ক্ষেত্রে workspace skill-গুলো .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-তে এটি থাকে, সেই directory-এর নামই আপনি যে command লিখবেন তা নির্ধারণ করে। তাই এই skill-এর নাম /restore-drill। Claude Code-এ /skills menu-তে ইনস্টল করা skill-গুলোর তালিকা দেখা যায়। File সঠিকভাবে শনাক্ত হয়েছে কি না যাচাই করার এটি দ্রুততম উপায়। ওই menu-তে এটি না থাকলে কোনো নাম ভুল হয়েছে। File-এর নাম অবশ্যই SKILL.md হতে হবে, এবং directory-এর নামে কেবল lowercase letter, digit ও single hyphen থাকতে পারবে। একই কাজ agent যাতে পুনরায় চালাতে পারে, সে জন্য সেটিকে procedure হিসেবে লেখা VPS-এ নির্ধারিত restic backup-এর একটি স্বাভাবিক সহায়ক। কারণ backup চালু থাকা এবং backup restore করা এক বিষয় নয়।

কখন একটি skill-এর বদলে script ব্যবহার করবেন

প্রতিবার একই সঠিক ফল দেয় এমন যেকোনো ধাপ script হওয়া উচিত। skill-এ শুধু কখন এটি চালাতে হবে এবং output কীভাবে পড়তে হবে, তা কয়েকটি লাইনে লিখুন। এর দুটি কারণ আছে, এবং দুটিই ব্যবহারিক।

প্রথমত, script-এর source কখনো context window-এ প্রবেশ করে না। 300 line-এর একটি parser শুধু তার output-এর জন্য context ব্যবহার করে। একই logic markdown নির্দেশনা হিসেবে লিখলে skill load হওয়ার প্রতিবার এর সম্পূর্ণ দৈর্ঘ্য context-এ যোগ হয়।

দ্বিতীয়ত, script একই input-এর জন্য একই answer দেয়। প্রতিবার একই log parsing rule নতুন করে নির্ধারণ করতে বলা হলে খারাপ দিনে model সামান্য ভিন্ন ফল দিতে পারে। দুইটি সংখ্যা অসঙ্গত না হওয়া পর্যন্ত আপনি বিষয়টি বুঝতেও নাও পারেন।

তাই কাজের ধরন অনুযায়ী বিভাজন করুন। “CSV parse করে যেসব row-তে total line item-এর সঙ্গে মেলে না, সেগুলো print করুন”—এটি একটি script। “script যে row-গুলো print করেছে, সেগুলো দেখে কোনগুলো data entry mistake বলে মনে হচ্ছে তা ব্যাখ্যা করুন”—এটি একটি skill নির্দেশনা। judgment markdown-এ এবং determinism code-এ রাখা হলো একই discipline, যেমন আপনার নজরদারি ছাড়াই agent যে loop চালাতে পারে তা তৈরি করা

আমার skill কখনো trigger হয় না কেন?

কারণ এর description-এ skillটি কী করে তা বলা আছে, কিন্তু কখন ব্যবহার করতে হবে তা বলা নেই। আপনার অনুরোধের সঙ্গে agent-কে মিলিয়ে দেখার জন্য ওই একটিই লাইন থাকে। “ডেটাবেসের কাজ করে” কথাটি নির্দিষ্ট কোনো কিছুর সঙ্গে মেলে না। “staging database-এ schema migration চালায়। ব্যবহার করুন যখন user কোনো table migrate করতে, column যোগ করতে বা schema পরিবর্তন করতে বলেন”—এখানে মানুষ যে শব্দগুলো বাস্তবে লেখে সেগুলো আছে, তাই skillটি trigger হয়।

এর বিপরীত সমস্যাটি হলো এমন skill, যা সব সময় trigger হয়। “এই repository-তে যেকোনো code change-এর জন্য ব্যবহার করুন”—এমন description সবকিছুর সঙ্গে মিলে যায়। ফলে প্রতিটি task-এ body load হয় এবং session-এর বাকি সময় context-এ থেকে যায়। আপনি যে নির্দিষ্ট পরিস্থিতি বোঝাতে চান, description-টি সেটিতে সীমাবদ্ধ করুন। Claude Code-এ frontmatter-এ disable-model-invocation: true সেট করতে পারেন। এতে automatic loading বন্ধ হয় এবং skill-এর নাম টাইপ করলে সেটি ব্যবহারযোগ্য থাকে।

তৃতীয় সমস্যা হলো এমন skill, যা কোনো tool-এর কাজ নকল করে। Agent-কে এমন একটি API-তে curl করতে বলা, যেটি তার MCP server ইতিমধ্যে প্রকাশ করে, অথবা harness-এ search tool থাকা সত্ত্বেও file-এ grep চালাতে বলা—এগুলো ধীরতর পদ্ধতি তৈরি করে এবং পরস্পরের সঙ্গে অসঙ্গত হতে পারে এমন দুটি instruction set দেয়। নকল অংশটি মুছে intent বর্ণনা করুন।

তিনটির মধ্যে কোন সমস্যাটি হচ্ছে, তা অনুমান করবেন না। একই prompt fresh session-এ দুবার চালান: একবার skill available রেখে এবং একবার skill switched off রেখে। এরপর উত্তর দুটি তুলনা করুন। Fresh session গুরুত্বপূর্ণ, কারণ skill লেখার session-এ skill-এ লেখা সবকিছু আগে থেকেই থাকে। এতে লিখিত version-এর ঘাটতিগুলো আড়ালে থাকে। Anthropic-এর skill-creator plugin Claude Code-এর ভেতর এই comparison স্বয়ংক্রিয় করে। এটি এমন prompt-ও তৈরি করে, যেগুলো skillটি trigger করা উচিত এবং করা উচিত নয়, এবং প্রতিটি ক্ষেত্রে কত ঘন ঘন skillটি trigger হয় তা মাপে।

এটি কি কোনো একটি vendor-এর format, নাকি একটি standard?

Anthropic 2025 সালের শেষ দিকে format-টি প্রকাশ করে। পরে তারা এটিকে agentskills.io-তে hosted একটি open standard হিসেবে প্রকাশ করে। August 2026 অনুযায়ী, specification-এ প্রয়োজনীয় name এবং description field, ঐচ্ছিক license, compatibility, metadata এবং allowed-tools field, তিনটি ঐচ্ছিক directory এবং staged loading behaviour নির্ধারিত আছে। এর সঙ্গে একটি reference validator-ও প্রকাশ করা হয়েছে। তাই শেয়ার করার আগে skills-ref validate ./my-skill কোনো folder specification অনুযায়ী আছে কি না পরীক্ষা করে।

Client list-ই প্রকৃত সংকেত। একই folder Claude Code, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands এবং opencode-সহ আরও অনেক client পড়তে পারে। Microsoft এই format-এ নিজেদের skill github.com/microsoft/skills-এ প্রকাশ করে। তারা Skill Recorder নামে একটি desktop tool-ও প্রকাশ করে। এটি আপনাকে একটি task একবার করতে দেখে, সেটিকে একটি intent এবং ক্রমানুসারে সাজানো step হিসেবে পুনর্গঠন করে, তারপর ফলাফলটি skill হিসেবে লিখে দেয়। কোনো vendor এমন recorder তৈরি করছে যার output format অন্য কারও specification-এর অন্তর্ভুক্ত—এটি ভালোভাবে নির্দেশ করে যে format-টি আর শুধু একটি product-এর feature নেই।

প্রথমে কী লিখবেন

একটি library আগে থেকে পরিকল্পনা করবেন না। একই নির্দেশনা তৃতীয়বার chat-এ paste করতে গিয়ে নিজেকে ধরে ফেললে তবেই সেটিকে একটি SKILL.md-এ সরিয়ে paste করা লেখাটি মুছে দিন। আপনি ইতিমধ্যে যে পুনরাবৃত্তি অনুভব করেছেন, সেটিই রাখার মতো কোনো skill-এর একমাত্র নির্ভরযোগ্য সংকেত। একটি search procedure দিয়ে শুরু করা ভালো, এবং নিজের SearXNG instance ব্যবহার করে তৈরি একটি search skill এর কাঠামো দেখায়।

দুটি অভ্যাস library-কে সুশৃঙ্খল রাখে। আপনি নিজে লেখেননি এমন প্রতিটি skill install করার আগে সেটি পড়ুন, scripts-সহ। কারণ skill হলো এমন নির্দেশনা যা আপনার agent অনুসরণ করবে এবং এমন code যা agent চালাতে পারে। তাই এটিকে অপরিচিত কারও কাছ থেকে software install করার মতো বিবেচনা করুন। Credentials folder-এর বাইরে রাখুন, কারণ skill হলো এমন একটি text file যা commit এবং share করা হয়। আপনার agent-দের কাছ থেকে secrets দূরে রাখা-এ এই values কোথায় রাখা উচিত তা ব্যাখ্যা করা হয়েছে। আর এই বছরে agents শেখার road map setup-এর বাকি অংশের সঙ্গে skills-কে সঠিক ক্রমে সাজায়।

FAQ

Agent skill এবং MCP server-এর মধ্যে পার্থক্য কী?

MCP (model context protocol) server হলো একটি চলমান process, যা protocol-এর মাধ্যমে agent-এর কাছে tool প্রকাশ করে। তাই এর configuration ও credentials প্রয়োজন হয়। এর tool definition সাধারণত পুরো session জুড়ে context দখল করে থাকে, সেগুলো ব্যবহার করা হোক বা না হোক। Agent skill হলো এমন একটি folder, যার মধ্যে SKILL.md file থাকে। এতে কোনো process বা protocol নেই। Agent এটি পড়ার সিদ্ধান্ত না নেওয়া পর্যন্ত এর খরচ প্রায় 100 token। Agent-কে কোনো system-এ access দিতে MCP server ব্যবহার করুন। সেই access সঠিকভাবে ব্যবহারের procedure জানাতে skill ব্যবহার করুন। অনেক setup-এ দুটিই ব্যবহৃত হয়।

Agent skill কি শুধু Claude Code-এ কাজ করে?

না। Anthropic এই format তৈরি করে পরে এটিকে agentskills.io-তে open standard হিসেবে প্রকাশ করেছে। একই folder Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot, VS Code, Goose, OpenHands এবং অন্যান্য client পড়তে পারে। পার্থক্য হলো, প্রতিটি client কোথায় এটি খোঁজে এবং কোন অতিরিক্ত frontmatter field বোঝে। Claude Code ~/.claude/skills/ এবং .claude/skills/ পড়ে। GitHub Copilot এবং VS Code repository-তে .github/skills/ পড়ে। SKILL.md file-টি কোনো পরিবর্তন ছাড়াই client-গুলোর মধ্যে ব্যবহার করা যায়।

ধীর হয়ে যাওয়ার আগে কতগুলো skill install করা যায়?

সীমাবদ্ধতা সংখ্যার চেয়ে startup budget-এর ওপর নির্ভর করে। Specification-এর প্রকাশিত নির্দেশনা অনুযায়ী, প্রতিটি installed skill তার নাম ও description-এর জন্য প্রায় 100 token যোগ করে। তাই কোনো skill ব্যবহার করার আগেই ত্রিশটি skill-এর খরচ প্রায় 3,000 token হয়। প্রথমে speed নয়, matching খারাপ হয়। Description একে অপরের সঙ্গে বেশি মিলে গেলে model-এর পক্ষে সঠিক skill বেছে নেওয়া কঠিন হয়। পরস্পরের সঙ্গে না-মেলা description লিখুন এবং যেসব skill আর ব্যবহার করেন না, সেগুলো মুছে ফেলুন।

এই instruction কি skill-এ রাখা উচিত, নাকি AGENTS.md-এ?

এটি repository-এর প্রতিটি task-এর ক্ষেত্রে প্রযোজ্য কি না, তা বিবেচনা করুন। Build command, house style এবং naming rule সব task-এর ক্ষেত্রেই প্রযোজ্য। তাই এগুলো always-on file-এ রাখা উচিত, কারণ প্রতিবার load হওয়াই এর উদ্দেশ্য। Release checklist বা restore drill-এর মতো মাঝে মাঝে চালানো procedure skill হওয়া উচিত। যেসব task-এ এগুলো প্রয়োজন হয় না, সেসব task-এ skill-এর কোনো খরচ হয় না। AGENTS.md-এর কোনো section numbered step-এ পরিণত হলে, সেটি সাধারণত এমন একটি skill যা সরিয়ে নেওয়ার অপেক্ষায় আছে।