S2 · BONUS EPISODE S2 · বোনাস এপিসোড

The Autonomous Workshop. স্বায়ত্তশাসিত কর্মশালা।

SKILLS · SUBAGENTS · HOOKS — COMPOSING THE WHOLE SYSTEM স্কিল · সাবএজেন্ট · হুক — পুরো সিস্টেম একত্রিত

HABIB · LEAD ARCHITECT, NOP-STATION "What if the workshop ran itself — skills firing automatically, work fanning out to subagents, and only the final summary ever reaching a human?" "কর্মশালা যদি নিজেই চলত — স্কিল স্বয়ংক্রিয়ভাবে সক্রিয় হত, কাজ সাবএজেন্টে ছড়িয়ে যেত, আর মানুষের কাছে শুধু চূড়ান্ত সারসংক্ষেপ পৌঁছাত?"
THE QUESTION প্রশ্নটা

What does "automated" really mean? "স্বয়ংক্রিয়" মানে আসলে কী?

RIFAT "I've been using Claude Code for months. It's fast. But I'm still the one typing the trigger every time. I want it to just… know when to act." "মাসের পর মাস Claude Code ব্যবহার করছি। দ্রুত। কিন্তু প্রতিবার আমিই টাইপ করি। চাই যে এটা নিজেই বুঝুক কখন কাজ করতে হবে।"
HABIB "That's the gap Skills, Subagents, and Hooks together close. Today we wire them all up." "এই ফাঁকটাই স্কিল, সাবএজেন্ট এবং হুক মিলিয়ে বন্ধ করে। আজ আমরা সব একসাথে জুড়ব।"
THE THREE BUILDING BLOCKS তিনটি মূল উপাদান

Skills. Subagents. Hooks. স্কিল। সাবএজেন্ট। হুক।

SKILLSস্কিল
📋Reusable slash-command procedures stored in .claude/skills/পুনর্ব্যবহারযোগ্য স্ল্যাশ-কমান্ড প্রক্রিয়া .claude/skills/-এ থাকে
🔁Invoked by name — /code-review, /new-episode, etc.নাম দিয়ে ডাকা হয় — /code-review, /new-episode
🧠Carry the "how" so you don't repeat instructions every session."কীভাবে" করতে হয় সেটা ধরে রাখে।
SUBAGENTSসাবএজেন্ট
🤖Parallel workers spawned via the Agent tool inside a skill or session.Agent tool দিয়ে spawn করা সমান্তরাল কর্মী।
📦Each gets its own context window — focused, scoped, fast.প্রতিটার নিজস্ব context window।
⚡Callback to Season 1: swarms, GAN pattern, worktrees.সিজন ১-এর swarm প্যাটার্ন — এখন skills-এর ভেতরে।
HOOKSহুক
⚙️Shell commands the harness runs automatically on lifecycle events.লাইফসাইকেল ইভেন্টে হার্নেস স্বয়ংক্রিয়ভাবে চালায়।
🔒Harness — not Claude — executes them. Enforced reliably.হার্নেস চালায় — Claude না। নির্ভরযোগ্যভাবে প্রয়োগ হয়।
🎯The missing trigger layer: they start the whole chain.অনুপস্থিত ট্রিগার স্তর: পুরো চেইন শুরু করে।
SUBAGENTS · INSIDE A SKILL সাবএজেন্ট · স্কিলের ভেতরে

A skill fans work out. Subagents fan it back in. স্কিল কাজ ছড়িয়ে দেয়। সাবএজেন্ট ফলাফল ফেরত আনে।

Skill invoked — e.g. /code-review স্কিল ডাকা হয় — যেমন /code-review
↓
Skill reads changed files → identifies scope স্কিল পরিবর্তিত ফাইল পড়ে → স্কোপ চিহ্নিত করে
↓ spawn in parallel
Reviewer Aরিভিউয়ার এ
Reviewer Bরিভিউয়ার বি
Reviewer Cরিভিউয়ার সি
……
↓ results collected
Skill aggregates → single report → human reviews only the summary স্কিল একত্রিত করে → একটাই রিপোর্ট → মানুষ শুধু সারসংক্ষেপ দেখে

The skill is the coordinator. Subagents are the workers. Each subagent gets a focused, scoped prompt — no shared memory needed. স্কিল সমন্বয়কারী। সাবএজেন্ট কর্মী। প্রতিটা সাবএজেন্ট কেন্দ্রীভূত prompt পায় — শেয়ার্ড মেমরি দরকার নেই।

HOOKS · THE KEY NEW PIECE হুক · মূল নতুন অংশ

The harness runs hooks. Not Claude. হার্নেস হুক চালায়। Claude না।

SessionStart PostToolUse Stop PreToolUse Notification
// .claude/settings.json — hook configuration
{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [{
          "type": "command",
          "command": "cat CLAUDE.md project-context.md"
        }]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [{
          "type": "command",
          "command": "npm test --bail"
        }]
      }
    ]
  }
}

The harness executes these shell commands — Claude never decides whether to skip them. That's what makes hooks reliable. হার্নেস এই শেল কমান্ড চালায় — Claude কখনো সেগুলো এড়িয়ে যাওয়ার সিদ্ধান্ত নিতে পারে না। এটাই হুককে নির্ভরযোগ্য করে।

HOOKS · USE-CASES হুক · ব্যবহারের উদাহরণ

What can you hook? কী হুক করা যায়?

🧪
Auto-run tests after editsএডিটের পরে স্বয়ংক্রিয় টেস্ট
PostToolUse / Write → npm test. Never ship a red suite again.PostToolUse / Write → npm test। লাল স্যুট আর ship করা যাবে না।
📂
Load project context on startশুরুতে প্রজেক্ট context লোড
SessionStart → cat CLAUDE.md. Every session knows the codebase.SessionStart → cat CLAUDE.md। প্রতিটা সেশন কোডবেস জানে।
🔐
Block commits of secretsসিক্রেট commit আটকানো
PreToolUse / Bash(git commit) → scan diff for API keys. Exit 1 to block.PreToolUse → API key স্ক্যান। Exit 1 করলে commit আটকায়।
✨
Format on saveসেভে ফরম্যাট
PostToolUse / Write → prettier --write $FILE. Consistent style, zero effort.PostToolUse / Write → prettier --write। শূন্য প্রচেষ্টায় সামঞ্জস্যপূর্ণ শৈলী।

Each hook is a shell command. Any tool that runs from a terminal can become a hook. The harness is the glue. প্রতিটা হুক একটা শেল কমান্ড। টার্মিনালে চলে এমন যেকোনো টুল হুক হতে পারে। হার্নেস আঠা।

COMPOSITION · THE FULL LOOP সংমিশ্রণ · পূর্ণ চক্র

Hook → Skill → Subagents → Human. হুক → স্কিল → সাবএজেন্ট → মানুষ।

HOOK fires on event (e.g. PostToolUse after file write) HOOK ইভেন্টে সক্রিয় হয় (যেমন ফাইল write-এর পরে)
↓
Hook command triggers a SKILL (e.g. claude -p "/code-review") Hook কমান্ড একটা SKILL ট্রিগার করে
↓ skill spawns in parallel
Subagent: file-Aসাবএজেন্ট: ফাইল-এ
Subagent: file-Bসাবএজেন্ট: ফাইল-বি
Subagent: file-Cসাবএজেন্ট: ফাইল-সি
↓ results aggregated
SKILL collects outputs → composes single report SKILL আউটপুট সংগ্রহ করে → একটাই রিপোর্ট তৈরি
↓
HUMAN reviews only the summary — never the raw work মানুষ শুধু সারসংক্ষেপ দেখে — কাঁচা কাজ না

This is autonomy at the workflow level — not just one agent but a chain that fires, works, and surfaces results automatically. এটা ওয়ার্কফ্লো স্তরে স্বায়ত্তশাসন — শুধু একটা এজেন্ট না, একটা চেইন যা স্বয়ংক্রিয়ভাবে সক্রিয় হয়।

LIVE BUILD · PR REVIEW PIPELINE · STEP 1 লাইভ বিল্ড · PR রিভিউ পাইপলাইন · ধাপ ১

The hook config: fire on every PR file write. হুক কনফিগ: প্রতিটা PR ফাইল write-এ সক্রিয়।

// .claude/settings.json — PR auto-review hook
{
  "hooks": {
    "PostToolUse": [
      {
        // Fires whenever Claude writes or edits any source file
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            // Run in headless mode; --max-turns caps cost
            "command": "claude -p '/code-review' --max-turns 30"
          }
        ]
      }
    ]
  }
}

The harness sees the Write tool complete, then immediately shells out to run the skill — no prompt from the developer needed. হার্নেস Write tool সম্পন্ন হতে দেখে, তারপর স্বয়ংক্রিয়ভাবে শেল করে স্কিল চালায় — ডেভেলপারের prompt দরকার নেই।

LIVE BUILD · PR REVIEW PIPELINE · STEP 2 লাইভ বিল্ড · PR রিভিউ পাইপলাইন · ধাপ ২

The skill spawns one reviewer per changed file. স্কিল প্রতিটা পরিবর্তিত ফাইলে একজন রিভিউয়ার spawn করে।

# .claude/skills/code-review/index.md  (skill prompt body)

## What to do
1. Run `git diff --name-only HEAD` to get changed files.
2. For each file, spawn a subagent with this prompt:
   "Review {{file}} for correctness, security, and style.
    Output: file path, severity (critical/warn/info), finding, fix."
3. Collect all subagent outputs.
4. Aggregate into one Markdown report grouped by severity.
5. Print the report and exit.

## Constraints
- Spawn at most 10 subagents concurrently (rate-limit guard).
- Each subagent gets --max-turns 15.
- If zero files changed, print "nothing to review" and exit 0.

The skill is plain Markdown — readable, editable, version-controlled. No code to maintain. The Agent tool does the spawning. স্কিল সাধারণ Markdown — পাঠযোগ্য, সম্পাদনযোগ্য, version-controlled। রক্ষণাবেক্ষণের কোড নেই।

LIVE BUILD · PR REVIEW PIPELINE · STEP 3 লাইভ বিল্ড · PR রিভিউ পাইপলাইন · ধাপ ৩

What the human actually sees. মানুষ আসলে কী দেখে।

## PR Review Report — 2026-06-20 — 4 files reviewed

### CRITICAL
src/auth/token.ts:42   JWT secret falls back to hardcoded string.
                        Fix: throw if SECRET env var is absent.

### WARN
src/api/users.ts:87   No pagination on user list endpoint — will OOM at scale.
src/hooks/useData.ts:23 Missing dependency array in useEffect.

### INFO
src/utils/format.ts:11 `toFixed(2)` instead of `Intl.NumberFormat` — locale-unsafe.

---
3 subagents ran in parallel. Total wall-clock: 18 s.
SHAZZAD "Four files reviewed in 18 seconds, one clean report. I didn't type a single command." "চারটা ফাইল ১৮ সেকেন্ডে রিভিউ, একটাই পরিষ্কার রিপোর্ট। একটা কমান্ডও টাইপ করিনি।"
META MOMENT মেটা মুহূর্ত

This season was built the same way. এই সিজন একইভাবে তৈরি হয়েছিল।

HABIB (PLANNER MODEL)
"I have 8 episode outlines. Spawning 8 Sonnet subagents — one per episode. Each gets the outline, the brand tokens, and the bilingual rules. Go." "আমার কাছে ৮টা এপিসোড আউটলাইন আছে। ৮টা Sonnet সাবএজেন্ট spawn করছি। প্রতিটা পায় আউটলাইন, ব্র্যান্ড টোকেন এবং দ্বিভাষিক নিয়ম।"
RIFAT (SENIOR REVIEWER)
"One pass over all 8 drafts. Cross-episode consistency, tone, accuracy. One consolidated note file back to the planner." "৮টা ড্রাফটে এক পাস। ক্রস-এপিসোড সামঞ্জস্য, টোন, নির্ভুলতা। প্ল্যানারের কাছে একটাই সংহত নোট।"

The "manager model" from S1E1 — now fully automated. A planner distributed 8 episodes to parallel subagents, then one senior model reviewed the whole season in one pass. S1E1-এর "ম্যানেজার মডেল" — এখন সম্পূর্ণ স্বয়ংক্রিয়। একটা প্ল্যানার ৮টা এপিসোড সমান্তরাল সাবএজেন্টে বিতরণ করেছিল, তারপর একটা সিনিয়র মডেল এক পাসে পুরো সিজন রিভিউ করেছিল।

COST & SAFETY · AT AUTONOMOUS SCALE খরচ এবং নিরাপত্তা · স্বায়ত্তশাসিত স্কেলে

Power demands guardrails. শক্তির জন্য গার্ডরেল দরকার।

  • 💰 Spend caps — set token or dollar limits per session and per skill run. Stop runaway cost before it compounds. খরচ সীমা — প্রতি সেশন ও স্কিল রানে টোকেন বা ডলার সীমা নির্ধারণ করো।
  • 🔢 Bounded subagent counts — cap concurrent spawns (--max-turns, -P 10). Never unbounded. সীমাবদ্ধ সাবএজেন্ট সংখ্যা — concurrent spawn সীমাবদ্ধ করো। কখনো অসীম না।
  • 🚦 Approval gates — for risky actions (deploys, DB writes), require a human y/n before the hook chain proceeds. অনুমোদন গেট — ঝুঁকিপূর্ণ কাজে hook chain চালু হওয়ার আগে মানুষের অনুমোদন নাও।
  • 🔭 Observability — log every hook event, every subagent spawn, every cost delta. Invisible work is unmanageable. (S1E6 callback) পর্যবেক্ষণযোগ্যতা — প্রতিটা হুক ইভেন্ট, spawn, খরচ পরিবর্তন লগ করো।

Autonomy without observability is a black box. Observability without caps is a blank cheque. You need both. পর্যবেক্ষণ ছাড়া স্বায়ত্তশাসন একটা কালো বাক্স। সীমা ছাড়া পর্যবেক্ষণ একটা ফাঁকা চেক। দুটোই দরকার।

WATCH OUT · GOTCHAS সতর্ক থাকো · ফাঁদসমূহ

Autonomy bites back when you're not careful. অসাবধান হলে স্বায়ত্তশাসন কামড়ায়।

  • 🔄 Runaway loops — a PostToolUse hook that itself triggers a Write can recurse infinitely. Always check: does this hook produce output that could re-trigger itself? লুপ রানওয়ে — PostToolUse হুক যদি নিজেই Write ট্রিগার করে, তাহলে অসীম পুনরাবৃত্তি হয়।
  • 💸 Unbounded subagent spawning — a skill that loops over files without a concurrency cap can exhaust API rate limits and budget in minutes. অসীম সাবএজেন্ট spawn — concurrency cap ছাড়া ফাইলের উপর loop করা স্কিল মিনিটে বাজেট শেষ করতে পারে।
  • 🧱 Hooks that block real work — a slow hook (e.g. full test suite on every keystroke) turns automation into a drag. Match hook cost to event frequency. হুক যা কাজ আটকায় — ধীর হুক (প্রতিটা কীস্ট্রোকে পূর্ণ টেস্ট) automation-কে বোঝায় পরিণত করে।
  • 🧑‍⚖️ No human checkpoint on risky actions — autonomous is not the same as unchecked. Delete, deploy, and send always need a gate. ঝুঁকিপূর্ণ কাজে কোনো মানবিক চেকপয়েন্ট নেই — স্বায়ত্তশাসন মানে অনিয়ন্ত্রিত না।
DESIGN PRINCIPLES ডিজাইন নীতি

Build the workshop to last. কর্মশালা দীর্ঘস্থায়ী করো।

Smallest possible triggerসম্ভব ক্ষুদ্রতম ট্রিগার

Match hooks to specific tool matchers ("Write|Edit" not "*"). Surgical beats broad.হুক নির্দিষ্ট tool matcher-এ match করো। সার্জিক্যাল সেরা।

Skills are specs, not scriptsস্কিল স্পেসিফিকেশন, স্ক্রিপ্ট না

Write skills in plain language. Claude reads them as instructions, not code to execute. Easier to maintain and update.স্কিল সাধারণ ভাষায় লেখো। Claude সেগুলো নির্দেশ হিসেবে পড়ে।

Human in the loop at the endশেষে মানুষ লুপে থাকে

The goal isn't to remove humans — it's to remove toil. A good autonomous workshop surfaces a clear decision, not raw output.লক্ষ্য মানুষ সরানো না — কষ্টকর কাজ সরানো।

THE MATURE WORKSHOP পরিণত কর্মশালা

What nop-station runs today. nop-station আজ যা চালায়।

SHAZZAD "SessionStart loads context. PostToolUse/Write runs tests and the review skill. Stop sends a Slack summary. The only time I open Claude is to look at what it built." "SessionStart context লোড করে। PostToolUse/Write টেস্ট এবং রিভিউ স্কিল চালায়। Stop Slack সারসংক্ষেপ পাঠায়। Claude আমি শুধু দেখার জন্য খুলি।"
On startশুরুতে

Load CLAUDE.md + git logCLAUDE.md + git log লোড

On writeলেখার পরে

Tests + review skillটেস্ট + রিভিউ স্কিল

On stopশেষে

Slack summary + cost reportSlack সারসংক্ষেপ + খরচ

THE BIG QUESTION বড় প্রশ্ন

"How much of your daily craft can be
turned into a skill, distributed to subagents,
and triggered by a hook —
leaving only the judgement for you?"
"তোমার দৈনন্দিন কাজের কতটুকু
স্কিলে পরিণত করা যায়, সাবএজেন্টে বিতরণ করা যায়,
এবং হুক দিয়ে ট্রিগার করা যায় —
শুধু বিচার-বুদ্ধি তোমার জন্য রেখে?"

That's the design challenge of the autonomous workshop. It's never "automate everything" — it's "automate the routine so humans focus on the irreplaceable." এটাই স্বায়ত্তশাসিত কর্মশালার ডিজাইন চ্যালেঞ্জ। লক্ষ্য "সব স্বয়ংক্রিয়" না — "রুটিন স্বয়ংক্রিয় করো যাতে মানুষ অপরিহার্যে মনোযোগ দেয়।"

SEASON 2 COMPLETE সিজন ২ সম্পন্ন

You've taught Claude your craft.
Now go build your own workshop.
তুমি Claude-কে তোমার দক্ষতা শিখিয়েছ।
এখন নিজের কর্মশালা তৈরি করো।

SKILLS SUBAGENTS HOOKS AUTONOMY COMPOSITION GUARDRAILS
Start with one hook. Wire it to one skill. Watch the loop run once without you. That's the first step into the autonomous workshop. একটা হুক দিয়ে শুরু করো। একটা স্কিলে সংযুক্ত করো। একবার তোমার ছাড়া লুপ চলতে দেখো। এটাই স্বায়ত্তশাসিত কর্মশালায় প্রথম পদক্ষেপ।
← → to navigate · space to advance