গাইড

Claude Code skills: স্কিল কীভাবে কাজ করে, SKILL.md কী এবং এজেন্ট কখন তা লোড করে

হালনাগাদ: · Skillaria.Top

Claude Code-এর skills হলো SKILL.md ফাইলসহ ফোল্ডার, যেখানে বারবার আসা কাজের পদ্ধতি লেখা থাকে: ডেপ্লয়, রিভিউ, রিলিজ। সেশনের শুরুতে কনটেক্সটে শুধু স্কিলের নাম ও বিবরণ যায়, এবং পুরো লেখা এজেন্ট তখনই লোড করে যখন কাজ তার সাথে মেলে; ফলে বিরল নির্দেশনা CLAUDE.md-কে ফোলায় না এবং এজেন্টের মনোযোগ কমায় না।

Claude Code-এ skills কী

Skill (স্কিল) হলো একটি ফোল্ডার, যেখানে SKILL.md ফাইলে একটি নির্দিষ্ট ধরনের কাজের নির্দেশনা লেখা থাকে: প্রকল্প কীভাবে ডেপ্লয় করতে হয়, রিভিউ কীভাবে করতে হয়, রিলিজ কীভাবে বের করতে হয়। এজেন্ট সেশনের শুরু থেকেই জানে স্কিলটি আছে, কিন্তু পুরোটা পড়ে শুধু তখনই, যখন কাজটি সত্যিই সেটা দাবি করে।

Claude Code skills সেই সমস্যা সমাধান করে, যা দীর্ঘদিন CLAUDE.md চালানো সবাই জানেন: নির্দেশনা-ফাইল ফুলে ওঠে। ৮০ লাইনের ডেপ্লয় পদ্ধতি সপ্তাহে একবার লাগে, কিন্তু ফাইলে থাকলে তা প্রতিটি সেশনের কনটেক্সটে জায়গা নেয় — README-এর একটি বানান ঠিক করার সময়ও। স্কিল এ ধরনের পদ্ধতি স্থায়ী কনটেক্সট থেকে সরিয়ে প্রয়োজনমতো যুক্ত করে।

একটি স্কিল কী নিয়ে গঠিত

সবচেয়ে ছোট স্কিল একটি ফোল্ডার ও একটি ফাইল। প্রকল্পের স্কিল রিপোজিটরিতে থাকে, ব্যক্তিগত স্কিল থাকে ব্যবহারকারীর হোম ফোল্ডারে:

.claude/skills/deploy/SKILL.md      # প্রকল্পের স্কিল, git-এর মাধ্যমে দলের সবার জন্য
~/.claude/skills/review/SKILL.md    # ব্যক্তিগত স্কিল, সব প্রকল্পে উপলব্ধ

SKILL.md-এর পাশে সহায়ক ফাইল রাখা যায়: টেমপ্লেট, স্ক্রিপ্ট, রেফারেন্স। এজেন্ট সেগুলো খুলবে শুধু তখন, যখন মূল লেখা তাদের উল্লেখ করে এবং সেগুলো দরকার হয়:

.claude/skills/deploy/
├── SKILL.md           # মূল নির্দেশনা
├── checklist.md       # বিস্তারিত চেকলিস্ট, লিংকের মাধ্যমে পড়া হয়
└── rollback.sh        # রোলব্যাক স্ক্রিপ্ট

Frontmatter: name ও description

ফাইল শুরু হয় --- লাইনের মধ্যে YAML ব্লক দিয়ে। দুটি ফিল্ড সবচেয়ে গুরুত্বপূর্ণ: name — স্কিলের ছোট নাম, এবং description — স্কিল কী করে এবং কখন প্রয়োগ করতে হয় তার বর্ণনা।

---
name: deploy
description: হোস্টিংয়ে FTP দিয়ে সাইট ডেপ্লয়। সার্ভারে পরিবর্তন পাঠাতে, সার্ভারের সাথে অমিল যাচাই করতে বা ডেপ্লয় ফেরাতে ব্যবহার করুন।
---

# ডেপ্লয়

1. আগে পরীক্ষামূলক চালনা: `./deploy.sh -n`।
2. ফাইলের তালিকা যাচাই করুন: এতে সিক্রেট ও পরীক্ষার স্ক্রিপ্ট থাকা চলবে না।
3. আপলোড: `./deploy.sh`।
4. বদলানো পেজগুলো খুলে নিশ্চিত হোন যে সেগুলো 200 দিচ্ছে।

ফেরানো — এই ফোল্ডারের rollback.sh দেখুন।

frontmatter-এর নিচে সাধারণ Markdown: ধাপ, কমান্ড, সীমাবদ্ধতা, পাশের ফাইলের লিংক। লিখুন ঠিক সেভাবে, যেভাবে একজন নতুন সহকর্মীর জন্য লিখতেন, যে কাজটি প্রথমবার করছে।

এজেন্ট কখন স্কিল লোড করে

সেশনের শুরুতে কনটেক্সটে যায় শুধু প্রতিটি উপলব্ধ স্কিলের নাম ও বিবরণ। প্রতি স্কিলে এটা কয়েক লাইন, তাই এগুলো ডজন ডজন রাখা যায়। যখন ব্যবহারকারীর অনুরোধ বা কাজের বর্তমান ধাপ বিবরণের সাথে মেলে, এজেন্ট স্কিলটি ডাকে — এবং তখনই পুরো SKILL.md কনটেক্সটে যায়।

এখান থেকে মূল ব্যবহারিক নিয়ম: স্কিল বিবরণ দিয়ে সক্রিয় হয়। এজেন্ট স্কিলের ভেতরের লেখা দেখে না, যতক্ষণ না সে তা খুলতে চায়। description-এ যদি লেখা থাকে «সহায়ক স্কিল», এজেন্ট বুঝবে না কখন দরকার। যদি লেখা থাকে «হোস্টিংয়ে ডেপ্লয়; সার্ভারে পরিবর্তন পাঠাতে বা ডেপ্লয় ফেরাতে চাইলে ব্যবহার করুন» — সে বুঝবে।

স্বয়ংক্রিয় নির্বাচন ছাড়াও স্কিল স্পষ্টভাবে নাম দিয়ে ডাকা যায় — স্ল্যাশ দিয়ে, যেমন /deploy। যখন আপনি জানেন কোন পদ্ধতি দরকার এবং এজেন্ট অনুরোধের সাথে বিবরণ মেলাবে এমন ভরসা করতে চান না, তখন এটি সুবিধাজনক।

description এমনভাবে লিখুন, যাতে স্কিল সক্রিয় হয়

  • কী করে — এক বাক্যে, ক্রিয়াপদ দিয়ে: «সাইট ডেপ্লয়», «কমিটের আগে পরিবর্তন রিভিউ»।
  • কখন ব্যবহার করবেন — ব্যবহারকারী বাস্তবে যে ভাষায় কাজটি চান তা লিখুন: «সার্ভারে দাও», «আপলোড করো», «ফেরাও»।
  • কখন ব্যবহার করবেন না, যদি স্কিলটি কাছাকাছি অন্য স্কিলের সাথে গুলিয়ে যেতে পারে: «বট ডেপ্লয়ের জন্য নয়, শুধু সাইটের জন্য»।
  • সাধারণ কথা যেমন «দরকারি স্কিল» বা «কাজে সাহায্য করে» লিখবেন না — তাতে কোনো সংকেত নেই।

প্রগ্রেসিভ ডিসক্লোজার

স্কিল তৈরি হয় প্রগ্রেসিভ ডিসক্লোজার (progressive disclosure) নীতিতে: তথ্য স্তরে স্তরে দেওয়া হয়, এবং পরের প্রতিটি স্তর শুধু প্রয়োজনে লোড হয়।

স্তরকীকখন কনটেক্সটে যায়
1name ও descriptionসবসময়, সেশনের শুরু থেকে
2SKILL.md-এর মূল লেখাযখন এজেন্ট স্কিল ব্যবহারের সিদ্ধান্ত নেয়
3সহায়ক ফাইল ও স্ক্রিপ্টযখন মূল নির্দেশনা সেগুলো উল্লেখ করে এবং দরকার হয়

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

Skills, CLAUDE.md ও slash-কমান্ড: পার্থক্য কোথায়

তিনটি প্রক্রিয়াই এজেন্টকে নির্দেশনা দেয়, কিন্তু ভিন্ন মুহূর্তে এবং কনটেক্সটের ভিন্ন খরচে।

CLAUDE.mdSkillSlash-কমান্ড
কখন লোড হয়সবসময়, সেশনের শুরুতেবিবরণ সবসময়, মূল লেখা প্রয়োজনমতোযখন ব্যবহারকারী ডেকেছে
কে সিদ্ধান্ত নেয়কেউ না, স্বয়ংক্রিয়ভাবে লোড হয়এজেন্ট বিবরণ দেখে, বা ব্যবহারকারী নাম দিয়েব্যবহারকারী
কী লিখবেনপ্রকল্পের মানচিত্র, যাচাইয়ের কমান্ড, কঠোর নিষেধনির্দিষ্ট ধরনের কাজের পদ্ধতিপ্রায়ই পুনরাবৃত্ত অনুরোধের টেমপ্লেট
সহায়ক ফাইলনথির লিংকস্কিলের ফোল্ডার: টেমপ্লেট, স্ক্রিপ্টসাধারণত একটি ফাইল

বেছে নেওয়ার ব্যবহারিক নিয়ম সহজ। যদি নির্দেশনা প্রায় প্রতিটি কাজে লাগে — তার জায়গা CLAUDE.md-এ। যদি তা নির্দিষ্ট ধরনের কাজে লাগে — সেটি স্কিল। যদি আপনি নিজে প্রতিবার একই দীর্ঘ অনুরোধ টাইপ করেন — তা একটি কমান্ড বা হাতে ডাকা স্কিলের প্রার্থী।

কঠোর নিষেধ স্কিলে রাখবেন না। স্কিল লোড নাও হতে পারে, কিন্তু «কখনো সিক্রেট কমিট করবে না» নিয়মটি সবসময় কার্যকর থাকতে হবে। এই অপরিবর্তনীয় নিয়মগুলো CLAUDE.md-এ থাকে এবং সম্ভব হলে যান্ত্রিক ব্যবস্থায় সমর্থিত হয়: হুক, অ্যাক্সেস অধিকার, CI-এর যাচাই।

কীভাবে স্কিল বানাবেন: ধাপে ধাপে

  1. বারবার আসা পদ্ধতি খুঁজুন। ভালো লক্ষণ: এজেন্টকে একই কথা তিনবার বুঝিয়েছেন, বা CLAUDE.md-এ এমন একটি অংশ আছে যা দশটির মধ্যে একটি কাজে লাগে।
  2. ফোল্ডার বানান .claude/skills/<নাম>/ এবং ভেতরে SKILL.md।
  3. frontmatter লিখুন name ও description-সহ, যেখানে স্পষ্ট বলা থাকবে কখন স্কিল প্রয়োগ করতে হবে।
  4. ধাপগুলো বর্ণনা করুন নির্দিষ্ট কমান্ড ও প্রস্তুতির মানদণ্ড দিয়ে: কী যাচাই করতে হবে, কোন ফলাফল সফল ধরা হবে।
  5. দীর্ঘ অংশ আলাদা ফাইলে নিন এবং মূল লেখা থেকে সেগুলোতে লিংক দিন।
  6. CLAUDE.md থেকে নকল সরান, শুধু একটি নির্দেশক লাইন রেখে: «ডেপ্লয় — deploy স্কিল»।
  7. যাচাই করুন: নতুন সেশনে কাজটি নিজের ভাষায় চান, স্কিলের নাম না বলে, এবং দেখুন এজেন্ট সেটি ধরেছে কি না। না ধরলে বিবরণ নতুন করে লিখুন।

স্কিলের উদাহরণ

ডেপ্লয় স্কিল

স্বাভাবিক প্রার্থী: পদ্ধতিটি বিরল, দীর্ঘ এবং বিপজ্জনক, ভুলের দাম বেশি। স্কিলে লেখা থাকে ধাপের ক্রম (আগে পরীক্ষামূলক চালনা, তারপর আপলোড), কী আপলোড করা যাবে না, ফলাফল কীভাবে যাচাই করতে হবে এবং কীভাবে ফেরাতে হবে। সার্ভার নিয়ে কথা উঠলেই শুধু এজেন্টের এটি মনে রাখার দরকার হয়, প্রতিটি কোড সম্পাদনায় নয়।

রিভিউ স্কিল

---
name: review
description: কমিটের আগে বর্তমান পরিবর্তন রিভিউ। diff দেখতে, পরিবর্তনে ত্রুটি খুঁজতে বা কমিটের জন্য প্রস্তুত করতে বললে ব্যবহার করুন।
---

# পরিবর্তন রিভিউ

1. diff নিন: `git diff` ও `git diff --staged`।
2. প্রতিটি বদলানো ফাইলে যাচাই করুন:
   - ব্যবহারকারীর ইনপুট আউটপুটে এস্কেপ হয়;
   - SQL কোয়েরি প্যারামিটারাইজড;
   - ডিবাগ আউটপুট ও অস্থায়ী ফাইল নেই।
3. প্রকল্পের টেস্ট ও লিন্টার চালান (কমান্ড — CLAUDE.md-তে)।
4. রিপোর্ট: সমস্যার তালিকা ফাইল ও লাইনসহ, গুরুত্ব অনুযায়ী বড় থেকে ছোট।
   সমস্যা না থাকলে তা-ই লিখুন, বানানো মন্তব্য ছাড়া।

এমন স্কিল «দেখো, সব ঠিক আছে কি না» কথাটিকে প্রতিবার একই পয়েন্টের তালিকাসহ পুনরাবৃত্তযোগ্য যাচাইয়ে পরিণত করে।

সেশন সমাপ্তির স্কিল

আরেকটি কার্যকর ধরন — কাজের শেষের একটি রীতি: স্থানীয় পরিবেশ বন্ধ করা, অস্থায়ী ফাইল মুছে ফেলা, অগ্রগতির লগে লেখা কী হয়েছে ও কী বাকি, তারপর বিস্তারিত বার্তাসহ কমিট। এটি সরাসরি সেশনের মধ্যে কনটেক্সট হারানোর সমস্যা সারায়: পরের সেশন অনুমানের বদলে রিপোজিটরির বর্তমান অবস্থা দিয়ে শুরু করে।

সাধারণ ভুল

  • অস্পষ্ট বিবরণ। স্কিল আছে, কিন্তু এজেন্ট ডাকে না। সমাধান — description নতুন করে লিখুন নির্দিষ্ট ট্রিগার দিয়ে।
  • দীর্ঘ স্কিল। পুরোনো ৪০০ লাইনের বিভাগ পুরোটা SKILL.md-এ সরিয়ে দিয়েছেন। কনটেক্সট-ফোলানোর সমস্যা আবার ফিরে এসেছে, শুধু পরে। মূল লেখা ছোট রাখুন, বিস্তারিত পাশের ফাইলে।
  • CLAUDE.md-এর সাথে নকল। একই পদ্ধতি দুই জায়গায় লেখা এবং সময়ের সাথে আলাদা হয়ে যায়। সত্যের উৎস একটিই হওয়া দরকার।
  • ওভারল্যাপিং স্কিল। দুটি স্কিলের বিবরণ কাছাকাছি — এজেন্ট এলোমেলোভাবে একটি বেছে নেয়। স্পষ্ট «ব্যবহার করুন / করবেন না» দিয়ে আলাদা করুন।
  • পুরোনো কমান্ড। স্ক্রিপ্টের নাম বদলেছে, কিন্তু স্কিল পুরোনো নাম দিচ্ছে। স্কিল প্রকল্পের কোডের অংশ: পদ্ধতির সাথে একই কমিটে তা সম্পাদনা করুন।

কখন একটি অংশ স্কিলে নিয়ে যাওয়ার সময়

মাঝে মাঝে CLAUDE.md-এর প্রতিটি অংশ দেখুন এবং প্রশ্ন করুন: সাধারণ কাজের কত অংশে এটি সত্যিই লাগে? যদি প্রায় সবসময় লাগে — এটি জায়গায় আছে। যদি দশটির মধ্যে একটি কাজে লাগে — এটি স্কিলের প্রার্থী।

দ্বিতীয় সংকেত — দৈর্ঘ্য। যে অংশ এক পর্দায় ধরে না, সেটি প্রায় নিশ্চিতভাবে একটি নিয়ম নয়, একটি পদ্ধতি। পদ্ধতি কাজের সময় পুরোটা পড়া সুবিধাজনক, সেশনজুড়ে পটভূমিতে রাখার বদলে।

তৃতীয় সংকেত — পুনরাবৃত্ত ব্যাখ্যা। যদি একই কাজের জন্য একই স্পষ্টীকরণ বারবার লিখতে হয়, সেটি একবার স্কিলে লিখে রাখুন। এক সপ্তাহ পর দেখুন হাতে সম্পাদনার সংখ্যা কমেছে কি না: এটাই স্কিল কাজ করছে তার প্রমাণ।

সারসংক্ষেপ

Claude Code skills হলো প্রকল্পের পাশে পদ্ধতি রাখার উপায়, যার জন্য প্রতিটি সেশনে কনটেক্সটের দাম দিতে হয় না। স্কিলের বিবরণ সবসময় দেখা যায়, মূল লেখা লোড হয় প্রয়োজনে, সহায়ক ফাইল আরও পরে। CLAUDE.md-এ থাকে প্রকল্পের মানচিত্র ও কঠোর নিয়ম, আর স্কিলে যায় ডেপ্লয়, রিভিউ, রিলিজ এবং নির্দিষ্ট ধরনের অন্যান্য কাজ। নির্দেশনা-ফাইলের গঠন ও কনটেক্সটের প্রগ্রেসিভ ডিসক্লোজার harness engineering কোর্সে হাতে-কলমে আলোচিত হয়।

সাধারণ প্রশ্ন

একটি প্রকল্পে কতগুলো স্কিল রাখা যায়?

বাস্তবে কোনো কঠোর সীমা অনুভব হয় না: স্থায়ী কনটেক্সটে শুধু নাম ও বিবরণ যায়। সীমাটি বরং অর্থগত — যত বেশি মিল-মিল স্কিল, এজেন্টের জন্য সঠিকটি বেছে নেওয়া তত কঠিন।

স্কিলে কি স্ক্রিপ্ট রাখা যায়?

হ্যাঁ, SKILL.md-এর পাশে স্ক্রিপ্ট ও টেমপ্লেট রাখা যায়। নির্দেশনা বলে দেয় কখন স্ক্রিপ্ট চালাতে হবে, এবং এজেন্ট তা সাধারণ কমান্ডের মতো চালায়।

প্রকল্পের .claude/skills ফোল্ডার কি git-এ কমিট করতে হবে?

প্রকল্পের স্কিলের জন্য হ্যাঁ — তখন দলের সবার কাছে একইভাবে কাজ করে। শুধু আপনার জন্য দরকারি ব্যক্তিগত স্কিল রাখুন ~/.claude/skills-এ।

এজেন্ট আমার স্কিল ব্যবহার করছে না কেন?

বেশিরভাগ ক্ষেত্রে দোষ বিবরণের: তাতে আপনার কাজ বলার ভাষা নেই। description-এ নির্দিষ্ট ট্রিগার যোগ করুন, অথবা স্ল্যাশ দিয়ে নাম ধরে স্পষ্টভাবে ডাকুন।

স্কিল কি শুধু Claude Code-এ কাজ করে?

frontmatter-সহ SKILL.md ফরম্যাট Anthropic-এর অন্য কিছু পণ্যও সমর্থন করে, তবে সংযোগের বিবরণ আলাদা। অন্য এজেন্টের জন্য একই ধারণা AGENTS.md-এর মাধ্যমে বিষয়ভিত্তিক নথির লিংক দিয়ে পুনরায় তৈরি করা যায়।

ভিডিওতে বিষয়টি শিখুন

“Harness Engineering: инженерия надёжности AI-агентов” কোর্সে বিষয়টি অনুশীলনসহ বিস্তারিত শেখানো হয়েছে।

কোর্সে যান