Back to course
Module 3 · Day 18

Subagents, Skills, and Hooks: Extending Claude Code

Day 17-এ CLAUDE.md শিখেছিলে — always-on advice। আজ তিনটা নতুন হাতিয়ার: skill (দরকারে জ্ঞান), subagent (আলাদা worker), hook (guaranteed নিয়ম) — কোন দরকারে কোনটা, সেটাই আজকের আসল skill।

~180 min read6 learning objectives
What you'll learn
  • 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-এর আসল লক্ষ্য)।
Before this
  • 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-এও খাটে)।
1

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 আছে, দরকার পড়লে যোগ করো।

Why it matters

এগুলো একে অপরের প্রতিযোগী না — agentic loop-এর আলাদা আলাদা জায়গায় বসে। আসল skill হলো need-কে tool-এ মেলানো। এটা পারলে তুমি Claude Code-কে শুধু use করো না, নিজের মতো গড়ে নাও।

সংক্ষেপে: প্রতিবার জানা দরকার → CLAUDE.md · দরকারে-লাগা workflow → skill · বড় কাজ delegate করে isolate করতে → subagent · must-happen guaranteed নিয়ম → hook। নিচে প্রতিটা আলাদা করে দেখবে।

2

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…"।

Why it matters

সবচেয়ে বড় ভুল ধারণা: subagent মানে আরও স্মার্ট AI। না — একই Claude। আসল মূল্য isolation: তোমার main context (Day 17-র সেই দুর্লভ সম্পদ) নষ্ট না করে ভারী কাজটা সরিয়ে রাখা।

3

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 থাকে।

Why it matters

Day 17-এ বলেছিলাম multi-step procedure CLAUDE.md থেকে সরাও — কোথায় সরাবে? এই skill-এ। always-on cost ছাড়াই workflow হাতের কাছে থাকে। Slash command-এর পরবর্তী রূপ এটাই।

4

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 এলে চলবেই।

Why it matters

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 করে।

Why it matters

ভুল জায়গায় ভরসা রাখলেই দুর্ঘটনা। যা সত্যিই কখনো ঘটা চলবে না, সেটা prompt-এ লিখে নিশ্চিন্ত থেকো না — hook দিয়ে enforce করো। আর যা Claude-এর বুদ্ধি লাগে, সেটা hook-এ বাঁধতে যেও না।

5

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।

Why it matters

Over-engineering-ই beginner-এর ফাঁদ — দরকার ছাড়া দশটা skill/hook বানিয়ে জটিলতা ডেকে আনা। নিয়ম: আগে CLAUDE.md দিয়ে চেষ্টা করো; একটা পরিষ্কার trigger ফায়ার করলে তবেই পরের হাতিয়ারে যাও।

এবার নিজে try করো — এটাই আজকের আসল skill।

6

Check Your Understanding

ভুল হলে সমস্যা নেই — প্রতিটার ব্যাখ্যা আছে।

Misconception check

Subagent মানে আলাদা, আরও স্মার্ট একটা AI model

Misconception check

Skill আর CLAUDE.md একই জিনিস, শুধু আলাদা file

Misconception check

Hook দিয়ে Claude-কে কাজটা করতে অনুরোধ করি

Misconception check

যত বেশি subagent/skill/hook বানাবো, setup তত ভালো

Misconception check

"never edit .env" CLAUDE.md-তে লিখে দিলেই Claude আর কখনো ছোঁবে না

Quick check

একটা বড় investigation (অনেক file পড়া) করাতে চাও, কিন্তু main conversation নষ্ট করতে চাও না — কী ব্যবহার করবে?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

প্রতিটা file edit-এর পর prettier চলুক — কোনো ব্যতিক্রম ছাড়া। কী?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

একই "complaint batch triage করো" workflow, শুধু দরকারে load হবে — কী?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

Subagent-এর আসল সুবিধা কী?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

CLAUDE.md আর skill-এর মূল পার্থক্য?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

এর মধ্যে কোনটা advisory না, guaranteed?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

7

Prove It To Yourself

চারটা takeaway মনে রাখো — Day 19-এ MCP আসছে।

Note

চারটা জিনিস মনে রাখো — 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।

Glossary

শব্দার্থ — পরে ফিরে দেখার জন্য

একনজরে সব 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 ফেরায়।
References

Sources consulted to author this lesson. Citation style is informal — follow the links if you want to dig deeper.

Exit check

দুই বাক্যে নিজের ভাষায় লেখো

নিজের ভাষায় দুই বাক্যে লেখো — subagent, skill, আর hook-এর মধ্যে মূল পার্থক্য কী (কখন কোনটা use করবে), আর advisory বনাম guaranteed বলতে কী বোঝায় তার একটা উদাহরণ দাও।

0 chars
Back to course