মূল কনটেন্টে যান
এআই টিউটোরিয়াল

Claude Code ও Machine Skill দিয়ে বাস্তবসম্মত ইন্টার‌্যাক্টিভ মেশিন সিমুলেশন তৈরি করুন

Claude Code-এর জন্য Machine Skill কীভাবে ইনস্টল করবেন, প্রাকৃতিক ভাষার প্রম্পট থেকে ইন্টার‌্যাক্টিভ three.js মেশিন সিমুলেশন তৈরি করবেন এবং নির্ধারিত ফলাফলের চলচ্চিত্র বা স্থিরচিত্র রেকর্ড করবেন তা শিখুন। এই নির্দেশিকায় সেটআপ, ব্যবহার, পদার্থবিজ্ঞান-নির্ভর ফিচার, রেকর্ডিংয়ের বিকল্প, প্রজেক্টের কাঠামো এবং কার্যকর প্রম্পট লেখার পরামর্শ আলোচনা করা হয়েছে।

Claude Code ও Machine Skill দিয়ে বাস্তবসম্মত ইন্টার‌্যাক্টিভ মেশিন সিমুলেশন

Machine Skill কী করে

Machine Skill হলো Claude Code-এর জন্য একটি ওপেন-সোর্স Agent Skill। আপনি এক লাইনে একটি মেশিনের বর্ণনা দেবেন, আর Claude বাস্তব যন্ত্রটি নিয়ে গবেষণা করে একটি মাত্র HTML ফাইলে ফটোরিয়েলিস্টিক, ইন্টার‌্যাক্টিভ 3D সিমুলেশন তৈরি করবে।

তৈরি করা পেজে মেকানিজম, ইঞ্জিন, যন্ত্র এবং শিল্প-সরঞ্জাম উপস্থাপন করা যায়। এগুলোতে procedural three.js জ্যামিতি, বাস্তব অনুপাত, নামযুক্ত কম্পোনেন্ট, উপকরণ, ইন্টার‌্যাক্টিভ মোড এবং মেশিনটির উপযোগী একটি ছোট physics solver থাকে। তৈরি HTML ফাইলটি ব্রাউজারে খুলে এর অংশগুলো পরীক্ষা করতে, কার্যপরিস্থিতি পরিবর্তন করতে, ভেতরটা কেটে দেখতে বা গণনা করা failure condition-এ এটি ভেঙে ফেলতে পারবেন।

প্রকল্পটিতে তৈরি করা পেজ থেকে পুনরাবৃত্তিযোগ্য ফিল্ম, স্ক্রিনশট এবং সোশ্যাল-মিডিয়া ফরম্যাট তৈরির জন্য একটি recorder-ও রয়েছে।

প্রধান বৈশিষ্ট্য

  • বাস্তবসম্মত মেশিন নির্মাণ: মডেলগুলোতে বাস্তব মাপ, নামযুক্ত অংশ, কঠিন কম্পোনেন্ট, ব্লেড, গিয়ার, বোল্ট, পাইপ এবং অন্যান্য procedural geometry অন্তর্ভুক্ত থাকে।
  • পদার্থবিদ্যা-নির্ভর আচরণ: Brayton-cycle, rocket-nozzle, pump-curve, torsional-oscillator, Darcy এবং Kienzle মডেলের মতো solver গতি ও প্রদর্শিত মান নিয়ন্ত্রণ করে।
  • ইন্টার‌্যাক্টিভ উপস্থাপনা: পেজে dragging, pause, live label, slow motion, explode view, x-ray view এবং কঠিন section face-সহ cutaway সমর্থিত।
  • স্টুডিও-মানের রেন্ডারিং: runtime-এ materials, lighting, shadows, ambient occlusion, bloom, heat glow এবং presentation environment রয়েছে।
  • নির্ধারিত ফিল্ম: film mode-এ recorder সিমুলেশনকে frame ধরে এগিয়ে নিতে পারে, ফলে পুনরায় নেওয়া দৃশ্যগুলো একইভাবে রেন্ডার হয়।
  • কোনো build step নেই: তৈরি পেজগুলো standalone HTML ফাইল, যাতে inlined runtime এবং নির্দিষ্ট three.js 0.170 CDN dependency ব্যবহার করা হয়।

প্রয়োজনীয়তা

মেশিন তৈরি করতে Claude Code ইনস্টল করুন, অথবা Agent Skills সমর্থন করে এমন অন্য কোনো host ব্যবহার করুন। তৈরি পেজ চালাতে WebGL 2-সমর্থিত ব্রাউজার ব্যবহার করুন, যেমন Chrome, Safari, Firefox বা Edge-এর বর্তমান desktop সংস্করণ।

স্ক্রিনশট ও ফিল্মের জন্য Node 18 বা পরবর্তী সংস্করণ, Playwright, Chromium এবং ffmpeg-ও প্রয়োজন।

npm i -D playwright
npx playwright install chromium

আপনার অপারেটিং সিস্টেমের package manager দিয়ে ffmpeg ইনস্টল করুন। ফোনে হালকা পেজ চালানো যায়, তবে জটিল সিমুলেশন সাম্প্রতিক কম্পিউটার ও বাস্তব GPU-তে সবচেয়ে ভালো চলে।

Machine Skill ইনস্টল করুন

প্রস্তাবিত ইনস্টলেশন পদ্ধতিতে skills CLI ব্যবহার করে repository-টিকে Claude Code skill হিসেবে ইনস্টল করা হয়।

npx skills add AirsupHQ/machine-skill -g -a claude-code

Global installation-এ skill-টি ~/.claude/skills/machine-এ রাখা হয়। শুধু বর্তমান project-এর জন্য ইনস্টল করতে global ও agent option বাদ দিন:

npx skills add AirsupHQ/machine-skill

এই project installation-এ skill-টি .claude/skills/machine-এ রাখা হয়। চাইলে repository-টি সরাসরি clone করতে পারেন:

git clone https://github.com/AirsupHQ/machine-skill.git ~/.claude/skills/machine

# Or install into one project
git clone https://github.com/AirsupHQ/machine-skill.git .claude/skills/machine

চলমান session-এ Claude Code সাধারণত নতুন skill শনাক্ত করে। Session শুরুর সময় skills directory না থাকলে /reload-skills চালান।

আপনার প্রথম মেশিন তৈরি করুন

ইনস্টলেশনের পর Claude Code খুলে নির্দিষ্ট বর্ণনার সঙ্গে /machine command ব্যবহার করুন।

/machine a mechanical watch movement, the escapement ticking

Claude watch.html-এর মতো একটি HTML পেজ তৈরি করবে। WebGL 2 ব্রাউজারে ফাইলটি খুলে সিমুলেশনের সঙ্গে ইন্টার‌্যাক্ট করুন। তৈরি করা মেশিনের ওপর নির্ভর করে view drag করা, label পরীক্ষা করা, assembly explode করা, ভেতরটা কেটে দেখা বা মডেল করা failure behavior চালু করা যাবে।

অন্যান্য বৈধ prompt-এর উদাহরণ:

  • /machine a hydroelectric Francis turbine
  • /machine a Swiss lever escapement, slowed down so I can see the impulse
  • /machine the gearbox of a 5 MW wind turbine, cut open
  • /machine a steam locomotive's valve gear, and give me a 30 second video for X

আরও ভালো machine prompt লিখুন

Prompt-এ Claude যাতে কাঙ্ক্ষিত বস্তু নিয়ে গবেষণা করে উপযোগী operating point নির্বাচন করতে পারে, সে জন্য যথেষ্ট engineering context দিলে Machine Skill সবচেয়ে ভালো কাজ করে।

  1. বাস্তব মেশিনটির নাম দিন। “a turbofan like the ones on a 787”-এর মতো prompt “a jet engine”-এর চেয়ে বেশি দিকনির্দেশনা দেয়।
  2. গতি ও failure behavior নির্দিষ্ট করুন। কী চলবে এবং কী ভাঙবে তা ব্যাখ্যা করুন, যেমন Claude-কে engine-এর valves float করা পর্যন্ত rev করতে বলা।
  3. ব্যবহারের মাধ্যম বর্ণনা করুন। Output-টি embedded page, social video নাকি still image-এর জন্য, তা Claude-কে জানান। Video-এর জন্য intended aspect ratio বা duration উল্লেখ করুন।

তৈরি physics হলো CFD বা FEA নয়, বরং একটি সৎ ছোট মডেল। প্রতিটি পেজে কী গণনা করা হয় এবং কী সরলীকরণ করা হয়েছে তা ব্যাখ্যা করা থাকে। তাই মানগুলোকে certified engineering result হিসেবে নয়, শিক্ষামূলক ও illustrative ফলাফল হিসেবে বিবেচনা করুন।

একটি ফিল্ম রেকর্ড করুন

তৈরি করা পেজকে video file-এ রেন্ডার করতে repository-এর record.mjs script ব্যবহার করুন।

node ~/.claude/skills/machine/scripts/record.mjs watch.html out/watch.mp4 --music freepd:Classical/Easy_Lemon

ক্লোন করা repository থেকে কাজ করার সময় local script path ব্যবহার করুন:

node scripts/record.mjs examples/turbofan.html out/turbofan.mp4 --music freepd:Classical/Easy_Lemon

Output dimensions নির্ধারণ করে feed-এর জন্য portrait video তৈরি করতে পারেন:

node scripts/record.mjs examples/turbofan.html out/turbofan-feed.mp4 --w 1080 --h 1350

ভিডিওর পরিবর্তে নির্বাচিত স্থির ফ্রেম রপ্তানি করতে একটি আউটপুট ডিরেক্টরি এবং ফ্রেম নম্বরগুলো দিন:

node scripts/record.mjs examples/turbofan.html out/stills --stills 3,9,14,19

রেকর্ডার অতিরিক্ত রেন্ডারিং নিয়ন্ত্রণ সমর্থন করে। সুপারস্যাম্পলিংয়ের জন্য --ss 1.5, মোশন ব্লারের জন্য --blur 2, এবং দ্রুত গতির জন্য --fps 60 ব্যবহার করুন। সঙ্গীত একটি স্থানীয় ফাইল, একটি URL, অথবা FreePD-এর freepd:<Category>/<Name> ট্র্যাক হতে পারে।

জেনারেট করা পেজগুলো ?film=1&shot=main-এর মতো ক্যোয়ারি প্যারামিটার ব্যবহার করে ডিটারমিনিস্টিক ফিল্ম মোডে চালানো যায়। এই মোডে রেকর্ডার ধাপ এগোলেই কেবল সময় অগ্রসর হয়, ফলে প্রতিটি ফ্রেম সম্পূর্ণ রেন্ডার হয় এবং পুনরাবৃত্ত টেকগুলো একই রকম থাকে।

রেন্ডার করা আউটপুট পরীক্ষা করুন

হেডলেস রেন্ডারিং ব্যর্থতার জন্য Machine Skill-এ সুরক্ষা ব্যবস্থা রয়েছে। রেকর্ডার স্ক্রিনশট পরীক্ষা করে একরঙা ম্যাজেন্টা ফ্রেম শনাক্ত করে, আর pinkscan.mjs সম্পূর্ণ ভিডিও স্ক্যান করতে পারে।

node scripts/pinkscan.mjs out/*.mp4

কোনো গোলাপি ফ্রেম শনাক্ত হলে কমান্ডটি শূন্য নয় এমন স্ট্যাটাসে বন্ধ হয়, তাই এটি একটি স্বয়ংক্রিয় ওয়ার্কফ্লোতে ব্যবহার করা যায়।

রিপোজিটরি ঘুরে দেখুন

  • SKILL.md-এ মানের মানদণ্ড, গবেষণা ও মডেলিং ওয়ার্কফ্লো, সমালোচনামূলক পর্যালোচনার ধাপ, ফিল্ম প্রক্রিয়া এবং অন-স্ক্রিন লেখার ধরন নির্ধারিত আছে।
  • kit/lab-kit.js হলো জেনারেট করা পেজগুলোর মধ্যে ইনলাইন করা রানটাইম। এতে স্টুডিও, পোস্ট-প্রসেসিং, উপকরণ, জ্যামিতি সহায়ক, লেবেল, ইফেক্ট, ইন্টারঅ্যাকশন মোড এবং ফিল্ম টাইমলাইন রয়েছে।
  • kit/template.html হলো হাতে তৈরি মেশিনের প্রাথমিক পেজ টেমপ্লেট।
  • references/solvers.md-এ গ্যাস টারবাইন, রকেট, পিস্টন ইঞ্জিন, পাম্প, রোটর এবং বৈদ্যুতিক মেশিনের মতো মেশিনের জন্য পদার্থবিদ্যার রেসিপি ও বাস্তব ধ্রুবক রয়েছে।
  • scripts/-এ স্ক্রিনশট, রেকর্ডিং, গোলাপি-ফ্রেম পরীক্ষা এবং রানটাইম ইনলাইন করার টুল রয়েছে।
  • examples/-এ টার্বোফ্যান, রকেট ইঞ্জিন, প্রসেস পাম্প এবং কম্প্রেসরসহ স্বতন্ত্র HTML ডেমো রয়েছে।
  • film/launch.html হলো লঞ্চ ফিল্মের জন্য ব্যবহৃত ডিরেক্টর পেজ।

ইন্টারঅ্যাকটিভ কাটঅ্যাওয়ে বুঝুন

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

এর ফলে বিশ্বাসযোগ্য ধাতব বা উপকরণ-পৃষ্ঠ বজায় রেখে কাটের অবস্থান মডেলের ভেতর দিয়ে সরানো যায়। একই রানটাইম হাফ ও কোয়ার্টার সেকশন, এক্স-রে উপস্থাপনা, বিস্ফোরিত অ্যাসেম্বলি, লেবেল, প্রবাহের রেখা, প্লুম, স্ফুলিঙ্গ এবং অনমনীয় ধ্বংসাবশেষ সমর্থন করে।

অন্যান্য এজেন্ট হোস্টের জন্য ওয়ার্কফ্লো মানিয়ে নিন

Machine Skill একটি স্ট্যান্ডার্ড Agent Skill হিসেবে প্যাকেজ করা হয়েছে। Claude.ai বা Claude ডেস্কটপ অ্যাপে আপনি skill ফোল্ডারটি জিপ করে Settings, Capabilities এবং Skills-এর অধীনে আপলোড করতে পারেন। Claude Agent SDK বা API-এর জন্য ফোল্ডারটিকে একটি skill directory হিসেবে মাউন্ট করুন। অন্যান্য Agent Skills-সামঞ্জস্যপূর্ণ টুল সরাসরি SKILL.md-কে নির্দেশ করতে পারে।

আপনি যদি কোনো এজেন্ট ব্যবহার না করেন, তাহলে kit/template.html কপি করে এর সেকশনগুলো হাতে পূরণ করুন। জেনারেট করা পেজগুলো সাধারণ HTML ফাইল হিসেবেই থাকে এবং ব্রাউজারে চলে।

সীমাবদ্ধতাগুলো জানুন

  • এই skill মেশিন, মেকানিজম, ইঞ্জিন, যন্ত্র এবং ডিভাইসের জন্য তৈরি। মানুষ, প্রাকৃতিক দৃশ্য এবং মানচিত্র এর তুলনামূলক দুর্বল ব্যবহারক্ষেত্র।
  • জ্যামিতি procedural three.js কনটেন্ট। এর লক্ষ্য সঠিক অনুপাত ও পার্টের সংখ্যা, উৎপাদন-সহনশীলতা বা CAD-রপ্তানির নির্ভুলতা নয়।
  • পদার্থবিদ্যার মডেলগুলো ইচ্ছাকৃতভাবে ছোট ও স্বচ্ছ রাখা হয়েছে। এগুলো প্রকাশ্য পরিসংখ্যানের সঙ্গে যাচাই করা হয়, তবে CFD, FEA বা প্রত্যয়িত প্রকৌশল বিশ্লেষণের বিকল্প নয়।
  • জটিল পেজে প্রায় 600,000টি ত্রিভুজ থাকতে পারে এবং ছায়া, অ্যাম্বিয়েন্ট অক্লুশন ও ব্লুমসহ মসৃণ পারফরম্যান্স বজায় রাখতে সাম্প্রতিক ল্যাপটপ GPU প্রয়োজন হতে পারে।

উপসংহার

Machine Skill একটি সংক্ষিপ্ত প্রকৌশল প্রম্পটকে বাস্তব অনুপাত, গণনাকৃত আচরণ এবং প্রকাশ-উপযোগী রেন্ডারিংসহ অনুসন্ধানযোগ্য ব্রাউজার সিমুলেশনে রূপ দেয়। skills CLI দিয়ে এটি ইনস্টল করুন, স্পষ্ট গতি ও ব্যর্থতার প্রয়োজনীয়তাসহ একটি নির্দিষ্ট মেশিনের বর্ণনা দিন, তারপর জেনারেট করা HTML পেজ খুলুন। প্রকাশের জন্য প্রস্তুত হলে একই সিমুলেশন থেকে ভিডিও বা স্থিরচিত্র তৈরি করতে ডিটারমিনিস্টিক রেকর্ডার ব্যবহার করুন।