Subagents, Skills, and Hooks: Extending Claude Code
Day 17-এ CLAUDE.md শিখেছিলে — always-on advice। আজ তিনটা নতুন হাতিয়ার: skill (দরকারে জ্ঞান), subagent (আলাদা worker), hook (guaranteed নিয়ম) — কোন দরকারে কোনটা, সেটাই আজকের আসল skill।
- •CLAUDE.md ছাড়াও Claude Code extend করার তিনটা হাতিয়ার চেনা — skill, subagent, hook।
- •Subagent কী — আলাদা context-এ চলা worker, summary ফেরায় (বেশি স্মার্ট model না, isolation)।
- •Skill কী — দরকারে load হওয়া জ্ঞান/workflow; CLAUDE.md (always) বনাম skill (on-demand)।
- •Hook কী — lifecycle event-এ চলা guaranteed script; advisory বনাম guaranteed-এর পার্থক্য।
- •When each — কোন দরকারে কোন হাতিয়ার (এই lesson-এর আসল skill)।
- •নিজে frontmatter/config পড়া ও লেখা — SKILL.md, subagent file, hook (এই lesson-এর আসল লক্ষ্য)।
- •Day 17 — CLAUDE.md (always-on contract; multi-step → skill, must-happen → hook বলা হয়েছিল)।
- •Day 16 — Claude Code-এর agentic loop ও permission।
- •Day 15 — tool use (description = একটা prompt — skill/subagent description-এও খাটে)।
Extending Claude Code
CLAUDE.md যথেষ্ট না হলে — পরের তিনটা হাতিয়ার।
Day 16-এ Claude Code-এর agentic loop দেখেছিলে, Day 17-এ CLAUDE.md — প্রতি session-এর শুরুতে পড়া always-on advice। কিন্তু সবসময় সেই আকারটাই কাজের না। আজ CLAUDE.md-এর বাইরে আরও তিনটা হাতিয়ার শিখবে — আর কোন দরকারে কোনটা, সেটাই আজকের আসল লক্ষ্য।
Extend Claude CodeCLAUDE.md-র পরের চার হাতিয়ার
CLAUDE.md (Day 17) হলো always-on advice। কিন্তু সবসময় সেটা ঠিক আকার না। দরকারে load হওয়া জ্ঞান চাইলে — skill। আলাদা context-এ একটা worker চাইলে — subagent। প্রতিবার guaranteed চলা নিয়ম চাইলে — hook। সব একসাথে বানাতে হয় না; প্রতিটার একটা trigger আছে, দরকার পড়লে যোগ করো।
এগুলো একে অপরের প্রতিযোগী না — agentic loop-এর আলাদা আলাদা জায়গায় বসে। আসল skill হলো need-কে tool-এ মেলানো। এটা পারলে তুমি Claude Code-কে শুধু use করো না, নিজের মতো গড়ে নাও।
সংক্ষেপে: প্রতিবার জানা দরকার → CLAUDE.md · দরকারে-লাগা workflow → skill · বড় কাজ delegate করে isolate করতে → subagent · must-happen guaranteed নিয়ম → hook। নিচে প্রতিটা আলাদা করে দেখবে।
Subagents — Context Isolation
আরও স্মার্ট model না — আলাদা একটা context window।
প্রথম হাতিয়ার — subagent। রাফির কাজ: accuracy কেন পড়ল বের করা, ৩০টা log ঘাঁটতে হবে। এটা দুইভাবে করা যায় — নিজে পড়ে, বা একটা subagent-কে দিয়ে। দেখো তোমার main context-এর কী হয়।
Subagentsআলাদা context-এ worker
Subagent হলো আলাদা একটা context window-এ চলা Claude — নিজের system prompt, নিজের tool, চাইলে সস্তা model (Haiku)। বড়, এলোমেলো কাজ (৩০টা log পড়া) ও আলাদা জায়গায় করে, ফেরত দেয় শুধু এক লাইন summary। `.claude/agents/*.md`-এ define করো; description দেখে Claude নিজে delegate করে, বা তুমি বলো "use a subagent to…"।
সবচেয়ে বড় ভুল ধারণা: subagent মানে আরও স্মার্ট AI। না — একই Claude। আসল মূল্য isolation: তোমার main context (Day 17-র সেই দুর্লভ সম্পদ) নষ্ট না করে ভারী কাজটা সরিয়ে রাখা।
Skills — On-Demand Knowledge
CLAUDE.md সবসময়, skill দরকারে।
দ্বিতীয় হাতিয়ার — skill। একই workflow বারবার লাগলে, সেটা CLAUDE.md-তে ভরে না দিয়ে একটা skill-এ রাখো — দরকারে load হয়, প্রতি session-এ না।
Skillsদরকারে load হওয়া workflow
Skill হলো packaged জ্ঞান বা repeatable workflow — `.claude/skills/<name>/SKILL.md`। CLAUDE.md প্রতি session-এ পুরোটা load হয়; skill-এর শুধু এক লাইন description থাকে, পুরোটা আসে যখন কাজে লাগে (বা তুমি `/name` দাও)। তাই বড় playbook বা API reference এখানে রাখো — CLAUDE.md lean থাকে।
Day 17-এ বলেছিলাম multi-step procedure CLAUDE.md থেকে সরাও — কোথায় সরাবে? এই skill-এ। always-on cost ছাড়াই workflow হাতের কাছে থাকে। Slash command-এর পরবর্তী রূপ এটাই।
Hooks — Guaranteed Rules
Advisory না — কোড, প্রতিবার চলে।
তৃতীয় হাতিয়ার — hook। CLAUDE.md আর skill Claude-কে অনুরোধ করে; ও মানে, কিন্তু নাও মানতে পারে। কিছু জিনিস অবশ্যই ঘটতে হবে — সেটার জন্য hook।
Hooksguaranteed, lifecycle event-এ
Hook হলো lifecycle event-এ নিজে থেকে চলা shell script — `.claude/settings.json`-এ। PreToolUse (action-এর আগে — block করতে পারে) · PostToolUse (পরে — যেমন prettier চালানো) · Stop (থামার আগে — যেমন pytest)। Claude কী ঠিক করল তার উপর নির্ভর করে না; event এলে চলবেই।
Day 17-এ বলেছিলাম must-happen জিনিস hook-এ। এই সেই hook। lint, test-before-commit, বা একটা folder protect — যা প্রতিবার নিশ্চিত হতে হবে, সেটা কোড হিসেবে এখানে বাঁধো, prompt-এ অনুরোধ করে নয়।
এই পার্থক্যটাই আজকের সবচেয়ে গুরুত্বপূর্ণ শিক্ষা — advisory বনাম guaranteed। নিচের loop-টা ধাপে ধাপে চালিয়ে দেখো hook ঠিক কোথায় বসে।
Advisory/guaranteedrequest বনাম enforcement
এই পার্থক্যটাই সব। CLAUDE.md আর skill আচরণ গড়ে — Claude পড়ে, সাধারণত মানে, কিন্তু মানতে নাও পারে (একটা request)। Hook আর permission জোর করে — কোড হিসেবে চলে, প্রতিবার (একটা guarantee)। "never edit .env" CLAUDE.md-তে একটা অনুরোধ; PreToolUse hook সেটা সত্যিই block করে।
ভুল জায়গায় ভরসা রাখলেই দুর্ঘটনা। যা সত্যিই কখনো ঘটা চলবে না, সেটা prompt-এ লিখে নিশ্চিন্ত থেকো না — hook দিয়ে enforce করো। আর যা Claude-এর বুদ্ধি লাগে, সেটা hook-এ বাঁধতে যেও না।
When Each — Put It Together
একটা project, চারটা স্তর — আর আজকের real skill।
চারটা হাতিয়ারই এখন চেনা। রাফির project-এ এই চারটা একসাথে কীভাবে বসে, দেখো — তারপর নিজে test করো, কোন দরকারে কোনটা বাছবে।
When eachneed → tool
সারমর্ম: প্রতিবার জানা দরকার → CLAUDE.md · দরকারে-লাগা workflow/reference → skill · বড় কাজ delegate + isolate → subagent · must-happen guaranteed → hook · বাইরের tool/data → MCP (Day 19)। আর চারটাকে একসাথে বেঁধে আরেক repo-তে নিতে → plugin।
Over-engineering-ই beginner-এর ফাঁদ — দরকার ছাড়া দশটা skill/hook বানিয়ে জটিলতা ডেকে আনা। নিয়ম: আগে CLAUDE.md দিয়ে চেষ্টা করো; একটা পরিষ্কার trigger ফায়ার করলে তবেই পরের হাতিয়ারে যাও।
এবার নিজে try করো — এটাই আজকের আসল skill।
Check Your Understanding
ভুল হলে সমস্যা নেই — প্রতিটার ব্যাখ্যা আছে।
Subagent মানে আলাদা, আরও স্মার্ট একটা AI model
Skill আর CLAUDE.md একই জিনিস, শুধু আলাদা file
Hook দিয়ে Claude-কে কাজটা করতে অনুরোধ করি
যত বেশি subagent/skill/hook বানাবো, setup তত ভালো
"never edit .env" CLAUDE.md-তে লিখে দিলেই Claude আর কখনো ছোঁবে না
একটা বড় investigation (অনেক file পড়া) করাতে চাও, কিন্তু main conversation নষ্ট করতে চাও না — কী ব্যবহার করবে?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
প্রতিটা file edit-এর পর prettier চলুক — কোনো ব্যতিক্রম ছাড়া। কী?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
একই "complaint batch triage করো" workflow, শুধু দরকারে load হবে — কী?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Subagent-এর আসল সুবিধা কী?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
CLAUDE.md আর skill-এর মূল পার্থক্য?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
এর মধ্যে কোনটা advisory না, guaranteed?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Prove It To Yourself
চারটা takeaway মনে রাখো — Day 19-এ MCP আসছে।
চারটা জিনিস মনে রাখো — Four ways to extend: always-know → CLAUDE.md · on-demand → skill · delegate/isolate → subagent · must-happen → hook। Subagent = separate context: বড় investigation delegate করো; ও summary ফেরায়, main context লীন থাকে — স্মার্ট model না, isolation। Skill loads on demand: CLAUDE.md সবসময়, skill দরকারে — বড় playbook skill-এ রাখো, CLAUDE.md lean রাখো। Hooks are guaranteed: advisory না, কোড — must-happen জিনিস (lint/test before commit, .env block করা) hook-এ enforce করো।
আজকের শব্দগুলো — subagent, skill, hook, SKILL.md, frontmatter, context isolation, advisory vs guaranteed, PreToolUse, PostToolUse, Stop hook, plugin — এখন থেকে English-ই থাকবে; নিজের project-এ এভাবেই ব্যবহার করবে। পুরো তালিকা নিচের glossary-তে। পরের lesson-এ (Day 19) বাইরের tool ও data-র সাথে যোগ করা শিখবে — MCP।
শব্দার্থ — পরে ফিরে দেখার জন্য
একনজরে সব key term। কোনো শব্দ ভুলে গেলে এখানে এসে খুঁজে নিও।
- .claude/agents/
- Subagent definition file গুলো এখানে থাকে।
- .claude/settings.json
- Hooks + permission সহ Claude Code-এর config।
- /skill-name
- একটা skill নিজে invoke করার command (যেমন `/triage`, `/deploy`)।
- advisory vs guaranteed
- CLAUDE.md/skill = request; hook/permission = enforcement।
- context isolation
- Subagent-এর কাজ আলাদা context-এ — main conversation লীন থাকে।
- frontmatter
- File-এর উপরে `---` এর মাঝে YAML metadata (name, description…)।
- hook
- Lifecycle event-এ চলা guaranteed shell script — `.claude/settings.json`।
- MCP
- বাইরের tool/data-র সাথে যোগ (Day 19-এ পুরোটা)।
- plugin
- Skill + subagent + hook + MCP একসাথে বেঁধে আরেক repo-তে নেওয়ার package।
- PostToolUse
- Tool চলার পরের hook event — যেমন lint/format চালানো।
- PreToolUse
- Tool চলার আগের hook event — action block করতে পারে।
- skill
- দরকারে load হওয়া জ্ঞান/workflow — `.claude/skills/<name>/SKILL.md`।
- SKILL.md
- একটা skill-এর file — frontmatter (name/description) + body (steps)।
- Stop hook
- Claude থামার আগে চলা hook — যেমন test must-pass।
- subagent
- আলাদা context window-এ চলা Claude — বড় কাজ করে summary ফেরায়।
Sources consulted to author this lesson. Citation style is informal — follow the links if you want to dig deeper.
- Extend Claude Code (match features to your goal) — Anthropic — Claude Code docs (2026)
- Create custom subagents — Anthropic — Claude Code docs (2026)
- Skills — Anthropic — Claude Code docs (2026)
- Hooks guide — Anthropic — Claude Code docs (2026)
- Try it: /agents and a SKILL.md in your project — Anthropic (2026)
দুই বাক্যে নিজের ভাষায় লেখো
নিজের ভাষায় দুই বাক্যে লেখো — subagent, skill, আর hook-এর মধ্যে মূল পার্থক্য কী (কখন কোনটা use করবে), আর advisory বনাম guaranteed বলতে কী বোঝায় তার একটা উদাহরণ দাও।