১. ভূমিকা
গুগল অ্যান্টিগ্র্যাভিটি একটি এজেন্টিক ডেভেলপমেন্ট প্ল্যাটফর্ম, যা এজেন্টদের এই যুগে আপনাকে ডেভেলপ করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে। অ্যান্টিগ্র্যাভিটি আপনার এআই এজেন্টদের কেন্দ্রীয় কমান্ড সেন্টার হিসেবে কাজ করে, যা তাদের কার্যক্রম চালু, পর্যবেক্ষণ এবং পরিচালনা করার জন্য একটি সমন্বিত প্ল্যাটফর্ম প্রদান করে।
এই কোডল্যাবে, আমরা প্রথমে এজেন্ট স্কিলস (Agent Skills) সম্পর্কে জানব, যা বিশেষ জ্ঞান এবং ওয়ার্কফ্লো ব্যবহার করে এআই এজেন্টের সক্ষমতা বাড়ানোর জন্য একটি হালকা ও উন্মুক্ত ফরম্যাট। আপনি এজেন্ট স্কিলস কী, এর সুবিধা এবং কীভাবে এটি তৈরি করা হয়, তা শিখতে পারবেন। এরপর আপনি গিট ফরম্যাটার, টেমপ্লেট জেনারেটর, টুল কোড স্ক্যাফোল্ডিং এবং আরও অনেক কিছুর মতো একাধিক এজেন্ট স্কিলস তৈরি করবেন, যা সবই অ্যান্টিগ্র্যাভিটির (Antigravity) মধ্যে ব্যবহারযোগ্য।
পূর্বশর্তসমূহ:
- অ্যান্টিগ্র্যাভিটি ইনস্টল ও কনফিগার করা হয়েছে।
- গুগল অ্যান্টিগ্র্যাভিটি সম্পর্কে প্রাথমিক ধারণা থাকা আবশ্যক। “ Getting Started with Google Antigravity” কোডল্যাবটি সম্পন্ন করার পরামর্শ দেওয়া হচ্ছে।
২. দক্ষতা কেন
আধুনিক এআই এজেন্টগুলো সাধারণ লিসেনার থেকে জটিল রিজনারে পরিণত হয়েছে, যা লোকাল ফাইল সিস্টেম এবং এক্সটার্নাল টুলের ( এমসিপি সার্ভারের মাধ্যমে) সাথে সমন্বিত হয়। তবে, কোনো এজেন্টকে নির্বিচারে সম্পূর্ণ কোডবেস এবং শত শত টুল দিয়ে ভারাক্রান্ত করলে ‘কন্টেক্সট স্যাচুরেশন’ এবং ‘টুল ব্লোট’ দেখা দেয়। এমনকি বড় কন্টেক্সট উইন্ডো থাকা সত্ত্বেও, অ্যাক্টিভ মেমোরিতে ৪০-৫০ হাজার অব্যবহৃত টুলের টোকেন যুক্ত করলে উচ্চ ল্যাটেন্সি, আর্থিক অপচয় এবং ‘কন্টেক্সট রট’ ঘটে, যেখানে মডেলটি অপ্রাসঙ্গিক ডেটা দ্বারা বিভ্রান্ত হয়ে পড়ে।
সমাধান: এজেন্টের দক্ষতা
এর সমাধানে, অ্যানথ্রোপিক ‘এজেন্ট স্কিলস’ চালু করেছে , যা আর্কিটেকচারকে মনোলিথিক কনটেক্সট লোডিং থেকে ‘প্রোগ্রেসিভ ডিসক্লোজার’ -এ স্থানান্তরিত করেছে। একটি সেশনের শুরুতে মডেলকে প্রতিটি নির্দিষ্ট ওয়ার্কফ্লো (যেমন ডাটাবেস মাইগ্রেশন বা সিকিউরিটি অডিট) "মুখস্থ" করতে বাধ্য করার পরিবর্তে, এই সক্ষমতাগুলোকে মডিউলার ও সহজে খুঁজে পাওয়া যায় এমন ইউনিটে প্যাকেজ করা হয়।
এটি কীভাবে কাজ করে
মডেলটি প্রাথমিকভাবে শুধুমাত্র মেটাডেটার একটি হালকা "মেনু"-র সংস্পর্শে আসে। এটি ভারী পদ্ধতিগত জ্ঞান (নির্দেশাবলী এবং স্ক্রিপ্ট) কেবল তখনই লোড করে, যখন ব্যবহারকারীর অভিপ্রায় নির্দিষ্টভাবে কোনো দক্ষতার সাথে মিলে যায়। এটি নিশ্চিত করে যে, অথেনটিকেশন মিডলওয়্যার রিফ্যাক্টর করতে চাওয়া কোনো ডেভেলপার অপ্রাসঙ্গিক CSS পাইপলাইন লোড না করেই সিকিউরিটি কনটেক্সট পান, যার ফলে কনটেক্সটটি হালকা, দ্রুত এবং সাশ্রয়ী থাকে।

৩. এজেন্টের দক্ষতা এবং অ্যান্টিগ্র্যাভিটি
অ্যান্টিগ্র্যাভিটি ইকোসিস্টেমে, স্কিলগুলো বিশেষায়িত প্রশিক্ষণ মডিউল হিসেবে কাজ করে, যা সাধারণ মডেল এবং আপনার নির্দিষ্ট প্রেক্ষাপটের মধ্যেকার ব্যবধান পূরণ করে। এগুলি এজেন্টকে শুধুমাত্র প্রাসঙ্গিক কোনো কাজের অনুরোধ করা হলেই, ডাটাবেস মাইগ্রেশন স্ট্যান্ডার্ড বা নিরাপত্তা যাচাইয়ের মতো একটি নির্দিষ্ট নির্দেশাবলী ও প্রোটোকল সেট "সজ্জিত" করার সুযোগ দেয়। এই এক্সিকিউশন প্রোটোকলগুলো ডায়নামিকভাবে লোড করার মাধ্যমে, স্কিলগুলো কার্যকরভাবে এআই-কে একজন সাধারণ প্রোগ্রামার থেকে এমন একজন বিশেষজ্ঞে রূপান্তরিত করে, যিনি কোনো প্রতিষ্ঠানের বিধিবদ্ধ সেরা অনুশীলন এবং নিরাপত্তা মান কঠোরভাবে মেনে চলেন।
অ্যান্টিগ্র্যাভিটিতে দক্ষতা বলতে কী বোঝায়?
গুগল অ্যান্টিগ্র্যাভিটির প্রেক্ষাপটে, একটি স্কিল হলো একটি ডিরেক্টরি-ভিত্তিক প্যাকেজ, যার মধ্যে একটি ডেফিনিশন ফাইল ( SKILL.md ) এবং ঐচ্ছিক সহায়ক অ্যাসেট (স্ক্রিপ্ট, রেফারেন্স, টেমপ্লেট) থাকে।
এটি চাহিদা অনুযায়ী সক্ষমতা সম্প্রসারণের একটি ব্যবস্থা।
- অন-ডিমান্ড : সিস্টেম প্রম্পটের (যা সর্বদা লোড করা থাকে) বিপরীতে, একটি স্কিল এজেন্টের কনটেক্সটে তখনই লোড হয় যখন এজেন্ট মনে করে যে এটি ব্যবহারকারীর বর্তমান অনুরোধের জন্য প্রাসঙ্গিক। এটি কনটেক্সট উইন্ডোকে অপ্টিমাইজ করে এবং অপ্রাসঙ্গিক নির্দেশাবলী দ্বারা এজেন্টের মনোযোগ বিক্ষিপ্ত হওয়া প্রতিরোধ করে। কয়েক ডজন টুল সহ বড় প্রকল্পগুলিতে, পারফরম্যান্স এবং যুক্তির নির্ভুলতার জন্য এই নির্বাচনী লোডিং অত্যন্ত গুরুত্বপূর্ণ।
- কার্যক্ষমতার সম্প্রসারণ : স্কিল শুধু নির্দেশ দেওয়ার চেয়েও বেশি কিছু করতে পারে; এটি কার্য সম্পাদনও করতে পারে। পাইথন বা ব্যাশ স্ক্রিপ্ট যুক্ত করার মাধ্যমে, একটি স্কিল এজেন্টকে স্থানীয় মেশিন বা বাহ্যিক নেটওয়ার্কে জটিল, বহু-ধাপের কাজ সম্পাদন করার ক্ষমতা দিতে পারে, যার জন্য ব্যবহারকারীকে ম্যানুয়ালি কমান্ড চালাতে হয় না। এটি এজেন্টকে একটি টেক্সট জেনারেটর থেকে একটি টুল ব্যবহারকারীতে রূপান্তরিত করে।
দক্ষতা বনাম বাস্তুতন্ত্র (সরঞ্জাম, নিয়ম এবং কর্মপ্রবাহ)
মডেল কনটেক্সট প্রোটোকল (MCP) যেখানে এজেন্টের 'হাত' হিসেবে কাজ করে—GitHub বা PostgreSQL-এর মতো বাহ্যিক সিস্টেমের সাথে শক্তিশালী ও স্থায়ী সংযোগ স্থাপন করে—সেখানে স্কিলগুলো হলো 'মস্তিষ্ক' যা সেগুলোকে পরিচালনা করে।
এমসিপি (MCP) স্টেটফুল ইনফ্রাস্ট্রাকচার পরিচালনা করে, অন্যদিকে স্কিলস (Skills) হলো হালকা ও ক্ষণস্থায়ী টাস্ক ডেফিনিশন যা ঐ টুলগুলো ব্যবহারের পদ্ধতিকে প্যাকেজ করে। এই সার্ভারবিহীন পদ্ধতি এজেন্টদেরকে পারসিস্টেন্ট প্রসেস চালানোর অপারেশনাল ওভারহেড ছাড়াই অ্যাড-হক টাস্ক (যেমন চেঞ্জলগ বা মাইগ্রেশন তৈরি করা) সম্পাদন করতে দেয়; এটি শুধুমাত্র টাস্কটি সক্রিয় থাকাকালীন কনটেক্সট লোড করে এবং কাজ শেষ হওয়ার সাথে সাথেই তা রিলিজ করে দেয়।
স্কিলগুলো এজেন্ট-চালিত : মডেলটি স্বয়ংক্রিয়ভাবে ব্যবহারকারীর অভিপ্রায় শনাক্ত করে এবং প্রয়োজনীয় নির্দিষ্ট দক্ষতা গতিশীলভাবে সজ্জিত করে। এই আর্কিটেকচারটি শক্তিশালী কম্পোজেবিলিটির সুযোগ দেয়; উদাহরণস্বরূপ, একটি গ্লোবাল রুল ডাটাবেস পরিবর্তনের সময় একটি "সেফ-মাইগ্রেশন" স্কিলের ব্যবহার বাধ্যতামূলক করতে পারে, অথবা একটি একক ওয়ার্কফ্লো একটি শক্তিশালী ডেপ্লয়মেন্ট পাইপলাইন তৈরি করতে একাধিক স্কিলকে সমন্বয় করতে পারে।
৪. দক্ষতা তৈরি করা
অ্যান্টিগ্র্যাভিটিতে একটি স্কিল তৈরি করার জন্য একটি নির্দিষ্ট ডিরেক্টরি কাঠামো এবং ফাইল ফরম্যাট অনুসরণ করা হয়। এই প্রমিতকরণ নিশ্চিত করে যে স্কিলগুলো স্থানান্তরযোগ্য এবং এজেন্ট নির্ভরযোগ্যভাবে সেগুলোকে পার্স ও এক্সিকিউট করতে পারে। এর ডিজাইনটি ইচ্ছাকৃতভাবে সরল রাখা হয়েছে এবং এটি মার্কডাউন ও ইয়ামএল (YAML)-এর মতো বহুল পরিচিত ফরম্যাটের উপর নির্ভর করে, যা ডেভেলপারদের জন্য তাদের IDE-এর সক্ষমতা বাড়ানোর পথকে সহজ করে তোলে।
ডিরেক্টরি কাঠামো
একটি সাধারণ স্কিল ডিরেক্টরি দেখতে এইরকম হয়:
my-skill/
├── SKILL.md # The definition file
├── scripts/ # [Optional] Python, Bash, or Node scripts
├── run.py
└── util.sh
├── references/ # [Optional] Documentation or templates
└── api-docs.md
└── assets/ # [Optional] Static assets (images, logos)
এই কাঠামোটি বিভিন্ন বিষয়কে কার্যকরভাবে পৃথক করে। এখানে লজিক ( scripts ) নির্দেশনা ( SKILL.md ) এবং জ্ঞান ( references ) থেকে পৃথক রাখা হয়েছে, যা প্রচলিত সফটওয়্যার ইঞ্জিনিয়ারিং পদ্ধতিরই প্রতিফলন।
SKILL.md সংজ্ঞা ফাইল
SKILL.md ফাইলটি হলো স্কিলের মস্তিষ্ক। এটি এজেন্টকে বলে দেয় স্কিলটি কী, কখন এটি ব্যবহার করতে হবে এবং কীভাবে তা সম্পাদন করতে হবে।
এটি দুটি অংশ নিয়ে গঠিত:
- YAML ফ্রন্টম্যাটার
- মার্কডাউন বডি।
YAML ফ্রন্টম্যাটার
এটি হলো মেটাডেটা স্তর। এটি দক্ষতার একমাত্র অংশ যা এজেন্টের উচ্চ-স্তরের রাউটার দ্বারা সূচিবদ্ধ করা হয়। যখন একজন ব্যবহারকারী একটি প্রম্পট পাঠায়, তখন এজেন্ট উপলব্ধ সমস্ত দক্ষতার বিবরণ ক্ষেত্রের সাথে প্রম্পটটিকে শব্দার্থগতভাবে মিলিয়ে দেখে।
---
name: database-inspector
description: Use this skill when the user asks to query the database, check table schemas, or inspect user data in the local PostgreSQL instance.
---
মূল ক্ষেত্রসমূহ:
- নাম : এটি বাধ্যতামূলক নয়। নির্দিষ্ট পরিসরের মধ্যে নামটি অবশ্যই অনন্য হতে হবে। ছোট হাতের অক্ষর ও হাইফেন ব্যবহার করা যাবে (যেমন,
postgres-query,pr-reviewer)। এটি প্রদান করা না হলে, ডিফল্ট হিসেবে ডিরেক্টরির নামটি ব্যবহৃত হবে। - বর্ণনা : এটি বাধ্যতামূলক এবং সবচেয়ে গুরুত্বপূর্ণ ক্ষেত্র। এটি একটি ‘ট্রিগার ফ্রেজ’ বা নির্দেশক বাক্যাংশ হিসেবে কাজ করে। এলএলএম (LLM) যাতে এর অর্থগত প্রাসঙ্গিকতা বুঝতে পারে, তার জন্য এটি যথেষ্ট বর্ণনামূলক হতে হবে। ‘ডাটাবেস টুলস’-এর মতো একটি অস্পষ্ট বর্ণনা যথেষ্ট নয়। ‘ব্যবহারকারী বা লেনদেনের ডেটা পুনরুদ্ধার করার জন্য স্থানীয় PostgreSQL ডাটাবেসে রিড-অনলি SQL কোয়েরি চালায়। ডেটার অবস্থা ডিবাগ করার জন্য এটি ব্যবহার করুন’—এর মতো একটি সুনির্দিষ্ট বর্ণনা নিশ্চিত করে যে দক্ষতাটি সঠিকভাবে অর্জিত হয়েছে।
মার্কডাউন বডি
বডিতে নির্দেশাবলী থাকে। এটি হলো 'প্রম্পট ইঞ্জিনিয়ারিং' যা একটি ফাইলে সংরক্ষিত থাকে। যখন স্কিলটি সক্রিয় করা হয়, তখন এই কন্টেন্টটি এজেন্টের কনটেক্সট উইন্ডোতে ইনজেক্ট করা হয়।
দেহে নিম্নলিখিত বিষয়গুলো অন্তর্ভুক্ত থাকা উচিত:
- লক্ষ্য: দক্ষতাটি কী অর্জন করে তার একটি সুস্পষ্ট বিবৃতি।
- নির্দেশনা: ধাপে ধাপে যুক্তি।
- উদাহরণ: মডেলের কার্যকারিতা নির্দেশনার জন্য ইনপুট এবং আউটপুটের কয়েকটি উদাহরণ।
- সীমাবদ্ধতা: "না করার" নিয়মাবলী (যেমন, "DELETE কোয়েরি চালাবেন না")।
উদাহরণ SKILL.md বডি:
Database Inspector
Goal
To safely query the local database and provide insights on the current data state.
Instructions
- Analyze the user's natural language request to understand the data need.
- Formulate a valid SQL query.
- CRITICAL: Only SELECT statements are allowed.
- Use the script scripts/query_runner.py to execute the SQL.
- Command: python scripts/query_runner.py "SELECT * FROM..."
- Present the results in a Markdown table.
Constraints
- Never output raw user passwords or API keys.
- If the query returns > 50 rows, summarize the data instead of listing it all.
স্ক্রিপ্ট ইন্টিগ্রেশন
স্কিলস-এর অন্যতম শক্তিশালী বৈশিষ্ট্য হলো স্ক্রিপ্টের কাছে কার্য সম্পাদনের দায়িত্ব অর্পণ করার ক্ষমতা। এর ফলে এজেন্ট এমন সব কাজ সম্পাদন করতে পারে যা একটি এলএলএম-এর পক্ষে সরাসরি করা কঠিন বা অসম্ভব (যেমন বাইনারি এক্সিকিউশন, জটিল গাণিতিক গণনা, বা লিগ্যাসি সিস্টেমের সাথে ইন্টারঅ্যাক্ট করা)।
স্ক্রিপ্টগুলো scripts/ ` সাবডিরেক্টরিতে রাখা হয়। SKILL.md ফাইলটি রিলেটিভ পাথের মাধ্যমে সেগুলোকে রেফারেন্স করে।
৫. লেখার দক্ষতা
এই অংশের লক্ষ্য হলো এমন দক্ষতা গড়ে তোলা যা অ্যান্টিগ্র্যাভিটির সাথে সমন্বিত হবে এবং পর্যায়ক্রমে রিসোর্স / স্ক্রিপ্ট / ইত্যাদির মতো বিভিন্ন বৈশিষ্ট্য প্রদর্শন করবে।
আপনি এই গিটহাব রিপো থেকে স্কিলগুলো ডাউনলোড করতে পারেন: https://github.com/rominirani/antigravity-skills ।
এই দক্ষতাগুলোর প্রত্যেকটি কীভাবে তৈরি করা হয়েছে তা বোঝার আগে, চলুন দেখি আমরা কীভাবে সেগুলোকে কনফিগার করি এবং অ্যান্টিগ্র্যাভিটি প্রোডাক্ট স্যুটের মধ্যে উপলব্ধ করি। এই ল্যাবটি প্রকাশ করার সময় নিচের ফোল্ডারগুলো প্রযোজ্য।
অ্যান্টিগ্র্যাভিটি বা অ্যান্টিগ্র্যাভিটি সিএলআই ব্যবহার করে
দক্ষতাকে দুটি পরিধিতে সংজ্ঞায়িত করা যেতে পারে, যা প্রকল্প-ভিত্তিক এবং ব্যবহারকারী-ভিত্তিক অর্থাৎ বৈশ্বিক দক্ষতা উভয়কেই অন্তর্ভুক্ত করে।
- গ্লোবাল স্কোপ (
~/.gemini/config/skills/): সমস্ত অ্যান্টিগ্র্যাভিটি প্রোডাক্ট (অ্যান্টিগ্র্যাভিটি, অ্যান্টিগ্র্যাভিটি আইডিই, অ্যান্টিগ্র্যাভিটি সিএলআই) এবং প্রোজেক্ট জুড়ে উপলব্ধ। এই স্কিলগুলো ব্যবহারকারীর মেশিনের সমস্ত প্রোজেক্টে পাওয়া যায়। এটি "ফরম্যাট JSON," "জেনারেট UUID," "রিভিউ কোড স্টাইল," বা ব্যক্তিগত প্রোডাক্টিভিটি টুলের সাথে ইন্টিগ্রেশনের মতো সাধারণ ইউটিলিটিগুলোর জন্য উপযুক্ত। - প্রজেক্ট/ওয়ার্কস্পেস স্কোপ (
<project-root>/.agents/skills/): এর ফলে স্কিলটি শুধুমাত্র একটি নির্দিষ্ট প্রজেক্টের মধ্যেই উপলব্ধ হবে। প্রজেক্ট-নির্দিষ্ট স্ক্রিপ্টের জন্য এটি আদর্শ, যেমন একটি নির্দিষ্ট এনভায়রনমেন্টে ডেপ্লয়মেন্ট, সেই অ্যাপের জন্য ডাটাবেস ম্যানেজমেন্ট, অথবা কোনো প্রোপাইটারি ফ্রেমওয়ার্কের জন্য বয়লারপ্লেট কোড তৈরি করা।
Antigravity অথবা Antigravity CLI-তে স্কিলগুলো ইনস্টল করা
এই টিউটোরিয়ালটির জন্য আমাদের শুধু নিচের ধাপগুলো অনুসরণ করতে হবে (আপনি চাইলে নিজের মতো করেও করতে পারেন):
ধাপ ১ : https://github.com/rominirani/antigravity-skills- এর একটি git clone করুন।
ধাপ ২ : এখন আপনি Antigravity নাকি Antigravity CLI ব্যবহার করছেন, তার উপর নির্ভর করে antigravity-skills/skills_tutorial ফোল্ডারটিতে যেতে পারেন।
ধাপ ৩ : আপনি নিজ নিজ ফোল্ডারে সাজানো কিছু দক্ষতার একটি সেট পাবেন। নিচের ৪টি ফোল্ডার কপি করুন:
-
git-commit-formatter -
license-header-adder -
database-schema-validator -
json-to-pydantic
পণ্যটির জন্য নির্ধারিত দক্ষতার ফোল্ডারে (প্রকল্পের পরিধি বা বৈশ্বিক পরিধি)।
ধাপ ৪: আপনি যদি Antigravity বা Antigravity CLI ব্যবহার করেন, তাহলে এটিকে <project-root>/.agents/skills/ (প্রজেক্ট স্কোপ)-এ কপি করুন।
আপনি যদি অ্যান্টিগ্র্যাভিটি চালু করে থাকেন, তাহলে আপনি একটি সহজ প্রশ্ন করতে পারেন " কী কী স্কিল উপলব্ধ আছে? " এবং এটি তারই উত্তর দেয়। আপনি সেখানে তালিকাভুক্ত ৪টি স্কিল দেখতে পাবেন। আপনার পরিবেশে অতিরিক্ত স্কিল ইনস্টল করা থাকলে, সেগুলোও থাকতে পারে।

একইভাবে, আপনি যদি Antigravity CLI ব্যবহার করেন, তাহলে /skills কমান্ডটি দিতে পারেন এবং এটি ৪টি স্কিলের তালিকা দেখাবে। নিচে একটি নমুনা দেখানো হলো:

এখন যেহেতু আমরা স্কিলগুলো কীভাবে সেট আপ করতে হয় তা জেনে গেছি, চলুন প্রতিটি স্কিলের গভীরে গিয়ে সেগুলো কীভাবে তৈরি করা হয়েছে তা বুঝি। আপনিও এই টেমপ্লেটগুলো ব্যবহার করে নিজের স্কিল তৈরি করতে পারেন।
স্তর ১ : মৌলিক রাউটার ( গিট-কমিট-ফরম্যাটার )
চলুন, এটাকে দক্ষতার 'হ্যালো ওয়ার্ল্ড' হিসেবে বিবেচনা করি।
ডেভেলপাররা প্রায়শই দায়সারা কমিট মেসেজ লেখেন, যেমন—"wip", "fix bug", "updates"। ম্যানুয়ালি "কনভেনশনাল কমিট" প্রয়োগ করা ক্লান্তিকর এবং প্রায়শই উপেক্ষিত হয়। চলুন এমন একটি স্কিল তৈরি করি যা কনভেনশনাল কমিট স্পেসিফিকেশন প্রয়োগ করবে। এজেন্টকে শুধু নিয়মগুলো সম্পর্কে নির্দেশ দিয়েই আমরা তাকে প্রয়োগকারী হিসেবে কাজ করার সুযোগ করে দেব।
git-commit-formatter/
└── SKILL.md (Instructions only)
SKILL.md ফাইলটি নিচে দেখানো হলো:
---
name: git-commit-formatter
description: Formats git commit messages according to Conventional Commits specification. Use this when the user asks to commit changes or write a commit message.
---
Git Commit Formatter Skill
When writing a git commit message, you MUST follow the Conventional Commits specification.
Format
`<type>[optional scope]: <description>`
Allowed Types
- **feat**: A new feature
- **fix**: A bug fix
- **docs**: Documentation only changes
- **style**: Changes that do not affect the meaning of the code (white-space, formatting, etc)
- **refactor**: A code change that neither fixes a bug nor adds a feature
- **perf**: A code change that improves performance
- **test**: Adding missing tests or correcting existing tests
- **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation
Instructions
1. Analyze the changes to determine the primary `type`.
2. Identify the `scope` if applicable (e.g., specific component or file).
3. Write a concise `description` in an imperative mood (e.g., "add feature" not "added feature").
4. If there are breaking changes, add a footer starting with `BREAKING CHANGE:`.
Example
`feat(auth): implement login with google`
অ্যান্টিগ্র্যাভিটিতে এই উদাহরণটি কীভাবে চালাবেন
নিচের ধাপগুলো এই অনুমানের উপর ভিত্তি করে তৈরি যে, আপনার লোকাল মেশিনে Git উপলব্ধ এবং সঠিকভাবে সেটআপ করা আছে।
ধরে নিচ্ছি আপনি Antigravity অথবা Antigravity CLI চালু করেছেন, তাহলে এই ধাপগুলো অনুসরণ করুন:
ধাপ ১: একটি টেস্ট গিট রিপোজিটরি তৈরি করুন
গিট অপারেশন পরীক্ষা করার জন্য এজেন্টকে একটি পরিষ্কার ও বিচ্ছিন্ন ডিরেক্টরি তৈরি করতে বলুন।
আপনার নির্দেশ:
Create a folder named git_test in the workspace, initialize a git repository inside it, and create an initial file auth.py with def login(): pass. Stage this file and make an initial commit.
এজেন্টটি ডিরেক্টরি তৈরি করবে, রিপোজিটরি ইনিশিয়ালাইজ করবে, ফাইলটি স্টেজ করবে এবং ' initial commit এর মতো একটি মেসেজ দিয়ে তা কমিট করবে।
ধাপ ২: কোডে পরিবর্তন আনুন
এজেন্টকে কোডটি পরিবর্তন করতে বলুন, যাতে কমিট করার মতো একটি পরিবর্তন আসে।
আপনার নির্দেশ:
In the git_test folder, modify auth.py to add Google Login functionality.
এজেন্ট ফাইলটিতে একটি নতুন ফিচার যোগ করার জন্য সম্পাদনা করবে, যা এটিকে কমিট পর্বের জন্য প্রস্তুত করবে।
ধাপ ৩: পরিবর্তনগুলো পর্যায়ভুক্ত ও নিশ্চিত করুন
এজেন্টকে পরিবর্তনগুলো স্টেজ করতে এবং একটি কমিট তৈরি করতে বলে git-commit-formatter স্কিলটি সক্রিয় করুন।
আপনার নির্দেশ:
Stage the changes in the git_test folder and commit them. Make sure to format the commit message using the Conventional Commits skill.
এজেন্টটি git add auth.py চালাবে, auth মডিউলে একটি নতুন ফিচার যোগ করা হয়েছে কিনা তা নির্ধারণ করতে diff বিশ্লেষণ করবে এবং git commit চালানোর আগে feat(auth): implement google login মতো একটি প্রচলিত কমিট মেসেজ তৈরি করবে।
ধাপ ৪: গিট লগ যাচাই করুন
এজেন্টকে গিট হিস্ট্রি পুনরুদ্ধার করতে বলুন, যাতে আপনি নিশ্চিত করতে পারেন যে ফরম্যাট করা কমিটটি সফলভাবে রেকর্ড হয়েছে।
আপনার নির্দেশ:
Show me the git log in the git_test folder.
এজেন্টটি git log -n 5 কমান্ডটি চালাবে এবং ফরম্যাট করা কমিট মেসেজসহ আউটপুট ফেরত দেবে।
স্তর ২: সম্পদ ব্যবহার (লাইসেন্স-হেডার-অ্যাডার)
এটি হলো 'রেফারেন্স' প্যাটার্ন।
একটি কর্পোরেট প্রজেক্টের প্রতিটি সোর্স ফাইলে একটি নির্দিষ্ট ২০-লাইনের অ্যাপাচি ২.০ লাইসেন্স হেডারের প্রয়োজন হতে পারে। এই স্ট্যাটিক টেক্সটটি সরাসরি প্রম্পটে (বা SKILL.md ) রাখা অপচয়মূলক। প্রতিবার স্কিলটি ইনডেক্স করার সময় এটি টোকেন খরচ করে, এবং মডেলটি আইনি টেক্সটে টাইপের ভুল "কল্পনা" করতে পারে। স্ট্যাটিক টেক্সটটিকে resources/ ফোল্ডারের একটি প্লেইন টেক্সট ফাইলে অফলোড করা একটি ভালো অভ্যাস। স্কিলটি এজেন্টকে নির্দেশ দেয় যে শুধুমাত্র প্রয়োজনের সময় এই ফাইলটি পড়তে হবে।
আপনি skills ডিরেক্টরির license-header-adder ফোল্ডারে ফাইলগুলো খুঁজে পাবেন।
license-header-adder/
├── SKILL.md
└── resources/
└── HEADER_TEMPLATE.txt (The heavy text)
SKILL.md ফাইলটি নিচে দেখানো হলো:
---
name: license-header-adder
description: Adds the standard open-source license header to new source files. Use involves creating new code files that require copyright attribution.
---
# License Header Adder Skill
This skill ensures that all new source files have the correct copyright header.
## Instructions
1. **Read the Template**:
First, read the content of the header template file located at `resources/HEADER_TEMPLATE.txt`.
2. **Prepend to File**:
When creating a new file (e.g., `.py`, `.java`, `.js`, `.ts`, `.go`), prepend the `target_file` content with the template content.
3. **Modify Comment Syntax**:
- For C-style languages (Java, JS, TS, C++), keep the `/* ... */` block as is.
- For Python, Shell, or YAML, convert the block to use `#` comments.
- For HTML/XML, use `<!-- ... -->`.
অ্যান্টিগ্র্যাভিটিতে এই উদাহরণটি কীভাবে চালাবেন
ধরে নিচ্ছি আপনি Antigravity অথবা Antigravity CLI চালু করেছেন, তাহলে এই ধাপগুলো অনুসরণ করুন:
ধাপ ১: নমুনা কোড দিয়ে পাইথন ফাইলটি তৈরি করুন
আপনার নির্দেশ:
Create a new file my_script.py with the following python code:
def hello():
print("Hello, World!")
যা ঘটেছে (ব্যাখ্যা): এজেন্টটি আপনার সক্রিয় ওয়ার্কস্পেস ডিরেক্টরিতে সরাসরি my_script.py নামের একটি নতুন ফাইল তৈরি করার জন্য একটি ফাইল-রাইটিং টুল (write_to_file) ব্যবহার করে এবং এতে বেসিক পাইথন ফাংশনটি লেখে। এছাড়াও, প্রম্পটটি license-header-adder স্কিলটিকে ট্রিগার করে। এজেন্টটি লাইসেন্স টেমপ্লেট ফাইলটি ( HEADER_TEMPLATE.txt ) খুঁজে বের করে ও পড়ে, কমেন্টের স্টাইলটি সি-স্টাইলের ব্লক কমেন্ট (/* ... */) থেকে পাইথন-স্টাইলের কমেন্ট (#)-এ পরিবর্তন করে এবং replace_file_content টুলটি ব্যবহার করে এটিকে ফাইলের শুরুতে যুক্ত করে দেয়।
ধাপ ২: ফাইলের বিষয়বস্তু যাচাই করুন
my_script.py ফাইলটি দেখুন। এর একেবারে উপরে লাইসেন্স হেডারটি থাকবে।
স্তর ৩: উদাহরণের মাধ্যমে শেখা (json-to-pydantic)
"ফিউ-শট" প্যাটার্ন।
অসংলগ্ন ডেটাকে (যেমন একটি JSON API রেসপন্স) সুনির্দিষ্ট কোডে (যেমন Pydantic মডেল) রূপান্তর করার ক্ষেত্রে ডজন ডজন সিদ্ধান্ত নিতে হয়। ক্লাসগুলোর নাম কী রাখা উচিত? আমরা কি Optional ব্যবহার করব? snake_case নাকি camelCase ? ইংরেজিতে এই ৫০টি নিয়ম লিখে ফেলা ক্লান্তিকর এবং ভুলের সম্ভাবনা বেশি।
এলএলএম হলো প্যাটার্ন মেলানোর ইঞ্জিন।
বিশদ নির্দেশাবলীর চেয়ে একটি চমৎকার উদাহরণের ( Input -> Output ) মাধ্যমে আপনার দক্ষতা তুলে ধরা প্রায়শই বেশি কার্যকর।
নিচে দেখানো অনুযায়ী, স্কিল ফাইলগুলো থাকা json-to-pydantic/ ফোল্ডারটিতে যান:
json-to-pydantic/
├── SKILL.md
└── examples/
├── input_data.json (The Before State)
└── output_model.py (The After State)
SKILL.md ফাইলটি নিচে দেখানো হলো:
---
name: json-to-pydantic
description: Converts JSON data snippets into Python Pydantic data models.
---
# JSON to Pydantic Skill
This skill helps convert raw JSON data or API responses into structured, strongly-typed Python classes using Pydantic.
Instructions
1. **Analyze the Input**: Look at the JSON object provided by the user.
2. **Infer Types**:
- `string` -> `str`
- `number` -> `int` or `float`
- `boolean` -> `bool`
- `array` -> `List[Type]`
- `null` -> `Optional[Type]`
- Nested Objects -> Create a separate sub-class.
3. **Follow the Example**:
Review `examples/` to see how to structure the output code. notice how nested dictionaries like `preferences` are extracted into their own class.
- Input: `examples/input_data.json`
- Output: `examples/output_model.py`
Style Guidelines
- Use `PascalCase` for class names.
- Use type hints (`List`, `Optional`) from `typing` module.
- If a field can be missing or null, default it to `None`.
/examples ফোল্ডারটির ভেতরে JSON ফাইল এবং আউটপুট ফাইল অর্থাৎ পাইথন ফাইল রয়েছে। দুটিই নিচে দেখানো হলো:
ইনপুট_ডেটা.json
{
"user_id": 12345,
"username": "jdoe_88",
"is_active": true,
"preferences": {
"theme": "dark",
"notifications": [
"email",
"push"
]
},
"last_login": "2024-03-15T10:30:00Z",
"meta_tags": null
}
আউটপুট_মডেল.py
from pydantic import BaseModel, Field
from typing import List, Optional
class Preferences(BaseModel):
theme: str
notifications: List[str]
class User(BaseModel):
user_id: int
username: str
is_active: bool
preferences: Preferences
last_login: Optional[str] = None
meta_tags: Optional[List[str]] = None
অ্যান্টিগ্র্যাভিটিতে এই উদাহরণটি কীভাবে চালাবেন
ধরে নিচ্ছি আপনি Antigravity অথবা Antigravity CLI চালু করেছেন, তাহলে এই ধাপগুলো অনুসরণ করুন:
ধাপ ১: নমুনা ডেটা দিয়ে JSON ফাইলটি তৈরি করুন
এজেন্টকে কাঁচা JSON পেলোড সম্বলিত product.json একটি নতুন ফাইল তৈরি করতে বলুন।
আপনার নির্দেশ:
Create a new file product.json with the following JSON:
{
"product": "Widget",
"cost": 10.99,
"stock": null
}
ধাপ ২: JSON-কে Pydantic মডেলে রূপান্তর করুন
JSON ডেটাকে একটি স্ট্রাকচার্ড পাইড্যান্টিক ক্লাসে রূপান্তর করতে json-to-pydantic স্কিলটি ট্রিগার করুন।
আপনার নির্দেশ:
Convert the JSON in product.json to a Pydantic model and save it to product_model.py.
ধাপ ৩: আউটপুট যাচাই করুন
product_model.py ফাইলটি দেখুন। এতে সম্পূর্ণ পাইড্যান্টিক মডেলটি থাকবে।
স্তর ৪: পদ্ধতিগত যুক্তি (ডাটাবেস-স্কিমা-ভ্যালিডেটর)
এটাই হলো "সরঞ্জাম ব্যবহারের" ধরণ।
আপনি যদি একজন এলএলএম-কে জিজ্ঞাসা করেন "এই স্কিমাটি কি নিরাপদ?", তাহলে একটি গুরুত্বপূর্ণ প্রাইমারি কী অনুপস্থিত থাকলেও তিনি হয়তো বলবেন সবকিছু ঠিক আছে, কারণ এসকিউএল-টি দেখতে সঠিক মনে হবে।
চলুন এই যাচাইয়ের কাজটি একটি সুনির্দিষ্ট স্ক্রিপ্টের ওপর অর্পণ করি। আমাদের database-schema-validator স্কিলটি এজেন্টকে আমাদের লেখা একটি পাইথন স্ক্রিপ্ট চালানোর জন্য নির্দেশ দেবে। স্ক্রিপ্টটি বাইনারি (সত্য/মিথ্যা) সত্যতা প্রদান করে।
database-schema-validator/
├── SKILL.md
└── scripts/
└── validate_schema.py (The Validator)
SKILL.md ফাইলটি নিচে দেখানো হলো:
---
name: database-schema-validator
description: Validates SQL schema files for compliance with internal safety and naming policies.
---
# Database Schema Validator Skill
This skill ensures that all SQL files provided by the user comply with our strict database standards.
Policies Enforced
1. **Safety**: No `DROP TABLE` statements.
2. **Naming**: All tables must use `snake_case`.
3. **Structure**: Every table must have an `id` column as PRIMARY KEY.
Instructions
1. **Do not read the file manually** to check for errors. The rules are complex and easily missed by eye.
2. **Run the Validation Script**:
Use the `run_command` tool to execute the python script provided in the `scripts/` folder against the user's file.
`python scripts/validate_schema.py <path_to_user_file>`
3. **Interpret Output**:
- If the script returns **exit code 0**: Tell the user the schema looks good.
- If the script returns **exit code 1**: Report the specific error messages printed by the script to the user and suggest fixes.
validate_schema.py ফাইলটি নিচে দেখানো হলো:
import sys
import re
def validate_schema(filename):
"""
Validates a SQL schema file against internal policy:
1. Table names must be snake_case.
2. Every table must have a primary key named 'id'.
3. No 'DROP TABLE' statements allowed (safety).
"""
try:
with open(filename, 'r') as f:
content = f.read()
lines = content.split('\n')
errors = []
# Check 1: No DROP TABLE
if re.search(r'DROP TABLE', content, re.IGNORECASE):
errors.append("ERROR: 'DROP TABLE' statements are forbidden.")
# Check 2 & 3: CREATE TABLE checks
table_defs = re.finditer(r'CREATE TABLE\s+(?P<name>\w+)\s*\((?P<body>.*?)\);', content, re.DOTALL | re.IGNORECASE)
for match in table_defs:
table_name = match.group('name')
body = match.group('body')
# Snake case check
if not re.match(r'^[a-z][a-z0-9_]*$', table_name):
errors.append(f"ERROR: Table '{table_name}' must be snake_case.")
# Primary key check
if not re.search(r'\bid\b.*PRIMARY KEY', body, re.IGNORECASE):
errors.append(f"ERROR: Table '{table_name}' is missing a primary key named 'id'.")
if errors:
for err in errors:
print(err)
sys.exit(1)
else:
print("Schema validation passed.")
sys.exit(0)
except FileNotFoundError:
print(f"Error: File '{filename}' not found.")
sys.exit(1)
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python validate_schema.py <schema_file>")
sys.exit(1)
validate_schema(sys.argv[1])
অ্যান্টিগ্র্যাভিটিতে এই উদাহরণটি কীভাবে চালাবেন
ধরে নিচ্ছি আপনি Antigravity অথবা Antigravity CLI চালু করেছেন, তাহলে এই ধাপগুলো অনুসরণ করুন:
ধাপ ১: নমুনা ডেটা দিয়ে JSON ফাইলটি তৈরি করুন
এজেন্টকে একাধিক নীতি লঙ্ঘন সম্বলিত bad_schema.sql নামের একটি নতুন ফাইল তৈরি করতে বলুন।
আপনার নির্দেশ:
Create a new file bad_schema.sql with the following SQL:
DROP TABLE IF EXISTS legacy_users;
CREATE TABLE userProfile (
id INT PRIMARY KEY,
bio TEXT
);
CREATE TABLE posts (
title TEXT,
content TEXT,
created_at TIMESTAMP
);
CREATE TABLE comments (
id INT PRIMARY KEY,
post_id INT,
body TEXT
);
উপরের স্কিমা ফাইলটি তিনটি নীতিই লঙ্ঘন করে: এটি একটি নিষিদ্ধ DROP TABLE স্টেটমেন্ট ব্যবহার করে, userProfile টেবিলের নামে camelCase ব্যবহার করে এবং posts টেবিলে id প্রাইমারি কী-টি বাদ দেয়।
ধাপ ২: SQL স্কিমা যাচাই করুন
আপনার ফাইলের উপর পাইথন ভ্যালিডেটর স্ক্রিপ্টটি চালানোর জন্য database-schema-validator স্কিলটি ট্রিগার করুন।
আপনার নির্দেশ:
Validate bad_schema.sql using the database-schema-validator skill.
ধাপ ৩: আউটপুট যাচাই করুন
এজেন্টটি ব্যর্থতার কথা জানাবে এবং স্ক্রিপ্ট দ্বারা খুঁজে পাওয়া নির্দিষ্ট ত্রুটিগুলো সরাসরি চ্যাটে প্রদর্শন করবে। নমুনা আউটপুট নিচে দেখানো হলো:
Suggested Fixes:
Remove the line DROP TABLE IF EXISTS legacy_users; as dropping tables is forbidden by safety policy.
Rename the table userProfile to use snake_case (e.g., user_profile).
Add a primary key column named id to the posts table definition.
৬. ডেভেলপার টুলকিট (এজেন্ট সিএলআই দক্ষতা)
"ক্রিয়া ও জীবনচক্র" প্যাটার্ন।
এআই এজেন্ট তৈরির প্রক্রিয়ায় কিছু পুনরাবৃত্তিমূলক কাজ জড়িত থাকে, যেমন—বয়লারপ্লেট ফাইল তৈরি করা, স্থানীয় রানটাইম এনভায়রনমেন্ট কনফিগার করা, টেস্ট প্রম্পট চালানো এবং ইন্টারেক্টিভ প্লেগ্রাউন্ড চালু করা।
আপনার কোডিং অ্যাসিস্ট্যান্টকে ডিরেক্টরি স্ট্রাকচার অনুমান করতে বা গোড়া থেকে বয়লারপ্লেট এজেন্ট কনফিগারেশন লিখতে বাধ্য করার পরিবর্তে, এজেন্টস সিএলআই স্কিলস এই লাইফসাইকেল সংক্রান্ত দক্ষতাকে নির্দিষ্ট এজেন্ট স্কিলের মধ্যে প্যাকেজ করে।
এজেন্ট সিএলআই (কমান্ড লাইন ইন্টারফেস) স্কিলগুলো সরাসরি আপনার টার্মিনালে সুবিন্যস্ত ও ডেভেলপার-কেন্দ্রিক অটোমেশন নিয়ে আসে, যা সাধারণ কোড এবং স্বয়ংক্রিয় এক্সিকিউশনের মধ্যেকার ব্যবধান কমিয়ে দেয়। যেখানে এজেন্ট ডেভেলপমেন্ট কিট (ADK) প্রোগ্রামিং ফ্রেমওয়ার্কের উপর মনোযোগ দেয় এবং আপনাকে এআই এজেন্ট তৈরি ও পরিচালনা করার জন্য এসডিকে, এপিআই এবং কাঠামোগত ব্লুপ্রিন্ট সরবরাহ করে, সেখানে এজেন্ট সিএলআই স্কিলগুলো এর পরিচালনগত শক্তি প্রদান করে। এটি ডেভেলপারদেরকে ভারী ইউআই ওভারহেড সম্পূর্ণরূপে এড়িয়ে, দ্রুত ফিডব্যাক লুপের মাধ্যমে স্থানীয়ভাবে এজেন্ট স্কাফোল্ড, পরীক্ষা এবং ডেপ্লয় করার সুযোগ দেয়।
ঐচ্ছিকভাবে, গুগল ক্লাউডের সাথে ম্যাপ করা হলে, এজেন্ট সিএলআই স্কিলগুলো এন্টারপ্রাইজ-গ্রেড ইনফ্রাস্ট্রাকচারে সরাসরি সংযোগ স্থাপনকারী মাধ্যম হিসেবে কাজ করে। কনসোলে ক্লিক করার পরিবর্তে, আপনি সিএলআই কমান্ড ব্যবহার করে তাৎক্ষণিকভাবে এজেন্ট ওয়ার্কফ্লো প্যাকেজ করতে, অ্যাক্সেস পারমিশন পরিচালনা করতে এবং সেগুলোকে গুগল ক্লাউড ইকোসিস্টেমে (যেমন ভার্টেক্স এআই বা ক্লাউড রান) ডেপ্লয় করতে পারেন। এটি পূর্বেকার জটিল ক্লাউড আর্কিটেকচারের কাজগুলোকে সহজ ও পুনরাবৃত্তিযোগ্য টার্মিনাল কমান্ডে পরিণত করে, যার ফলে বিদ্যমান সিআই/সিডি ডেপ্লয়মেন্ট পাইপলাইনে অটোনোমাস এজেন্টদের একীভূত করা অনেক সহজ হয়ে যায়।
কিভাবে ইনস্টল করবেন
আপনার সিস্টেমে Python 3.11+ , Node.js এবং uv প্যাকেজ ম্যানেজার ইনস্টল করা আছে কিনা তা নিশ্চিত করুন। এরপর, আপনার টার্মিনালে setup কমান্ডটি চালান:
uvx google-agents-cli setup
এই কমান্ডটি agents-cli বাইনারিটি ইনস্টল করে এবং আপনার কোডিং অ্যাসিস্ট্যান্টের পরিবেশে স্ক্যাফোল্ডিং ও মূল্যায়নের জন্য এর বিশেষায়িত দক্ষতাগুলো নিবন্ধন করে।
দ্রষ্টব্য: স্কিলগুলো ~/.agents/skills ফোল্ডারে ইনস্টল করা হবে, যা Antigravity-তে দেখা যায়। আপনি যদি এই স্কিলগুলো Antigravity CLI-তে দেখতে চান, তাহলে আপনাকে এগুলো ~/.gemini/antigravity-cli/skills ফোল্ডারে (গ্লোবাল স্কোপ) সরিয়ে নিতে হবে।
অ্যান্টিগ্র্যাভিটিতে কোন স্কিলগুলো উপলব্ধ আছে তা জিজ্ঞাসা করে আপনি সহজেই যাচাই করতে পারেন যে স্কিলগুলো লোড হয়েছে কিনা। আমরা এইমাত্র যে এজেন্ট সিএলআই স্কিলগুলো ইনস্টল করেছি, তার জন্য একটি নমুনা উত্তর নিচে দেখানো হলো।

ধাপে ধাপে নির্দেশিকা
একবার uvx google-agents-cli setup সম্পূর্ণ হয়ে গেলে, আপনি আপনার লোকাল মেশিনেই একটি এআই এজেন্ট চালু করতে, তার সাথে ইন্টারঅ্যাক্ট করতে এবং পরীক্ষা করতে পারবেন।
ধাপ ১: একটি নতুন এজেন্ট প্রকল্পের কাঠামো তৈরি ও সূচনা করুন
একটি প্রমিত লেআউট তৈরি করতে ক্রিয়েশন কমান্ডটি চালান। এটি তৈরি হয়ে গেলে, যেকোনো এক্সিকিউশন টাস্ক চালানোর আগে আপনাকে অবশ্যই এর প্রোজেক্ট ডিপেন্ডেন্সিগুলো ইনস্টল করতে হবে।
# 1. Create a lightweight prototype project structure
agents-cli create weather-assistant --prototype --yes
# 2. Move into the directory and install required ADK dependencies
cd weather-assistant
agents-cli install
নেপথ্যে যা ঘটে: এটি একটি পরিচ্ছন্ন ওয়ার্কস্পেস তৈরি করে, যেখানে app/agent.py (আপনার মূল কোড), pyproject.toml (প্যাকেজ মেটাডেটা), এবং agents-cli-manifest.yaml (প্রজেক্ট ট্র্যাকার) থাকে।
ধাপ ২: একটি স্থানীয় টেস্ট কোয়েরি চালান
আপনার এজেন্টের বিরুদ্ধে একটি দ্রুত, সরাসরি কমান্ড-লাইন পরীক্ষা চালান। আপনি যদি Google Cloud-এর ADC (অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস) ব্যবহার না করেন, তবে নিশ্চিত করুন যে আপনার টার্মিনালে GEMINI_API_KEY এক্সপোর্ট করা আছে। আপনি এখান থেকে একটি Gemini API Key পেতে পারেন। কী-টি পেয়ে গেলে, নিম্নলিখিত কমান্ডের মাধ্যমে আপনার টার্মিনালে এটি এক্সপোর্ট করুন:
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি দিন:
agents-cli run "How are you?"
নেপথ্যে যা ঘটে: CLI আপনার টার্মিনালে এজেন্ট ডেভেলপমেন্ট কিট (ADK)-এর জীবনচক্র সম্পূর্ণরূপে মেমরিতে শুরু করে। এটি নিরাপদে আপনার স্থানীয় ক্রেডেনশিয়ালের মাধ্যমে প্রম্পটটি পাঠায় এবং লাইভ স্ট্রিমিং প্রতিক্রিয়াটি সরাসরি আপনার কমান্ড লাইনে লগ করে রাখে।
ধাপ ৩: ইন্টারেক্টিভ ওয়েব প্লেগ্রাউন্ডটি চালু করুন।
আপনার এজেন্টের সাথে দৃশ্যগতভাবে মিথস্ক্রিয়া করার জন্য অন্তর্নির্মিত, স্থানীয় ওয়েব-ভিত্তিক প্লেগ্রাউন্ডটি চালু করুন।
agents-cli playground
নেপথ্যে যা ঘটে: CLI একটি ADK ওয়েব UI সার্ভার চালু করে, যা সাধারণত http://localhost:8080 অথবা ফলব্যাক হিসেবে http://127.0.0.1:8000 এ অ্যাক্সেসযোগ্য থাকে এবং এতে হট-রিলোডিংয়ের সুবিধাও রয়েছে। ওয়েব ইন্টারফেস থেকে উপরের দিকে থাকা 'Select an app' ড্রপডাউন থেকে অ্যাপটি নির্বাচন করুন এবং ওয়েব অ্যাপ্লিকেশনটির ডানদিকে থাকা কথোপকথনমূলক ইন্টারফেসে এজেন্টের সাথে ইন্টারঅ্যাক্ট করুন।
৭. npx skills ব্যবহার করে এজেন্ট স্কিল ইনস্টল করা
npx skills হলো Vercel Labs দ্বারা তৈরি একটি কমান্ড-লাইন টুল, যা AI এজেন্টদের (যেমন Antigravity, Claude Code, GitHub Copilot, Cursor, এবং Cline) জন্য প্যাকেজ ম্যানেজার হিসেবে কাজ করে। এটি ওপেন এজেন্ট স্কিলস ইকোসিস্টেমের জন্য CLI।
আপনি যদি npx skills প্যাকেজ ব্যবহার করে এজেন্ট স্কিলস ডাউনলোড এবং ইনস্টল করতে চান, তবে মনে রাখবেন যে এটি স্কিলসগুলোকে ~/.agents/skills ফোল্ডারে রাখে। যদিও এতে উল্লেখ করা আছে যে Antigravity-এর মতো টুলগুলো এই ফোল্ডার থেকে স্কিলসগুলো নিয়ে নেবে, তবে অনুগ্রহ করে মনে রাখবেন যে এই লেখাটি লেখার সময়, Antigravity নিজে এই ফোল্ডার থেকে স্কিলসগুলো নিলেও Antigravity CLI তা নেয় না। পূর্বেই যেমন উল্লেখ করা হয়েছে, ~/.agents/skills ফোল্ডারে ইনস্টল করা এই স্কিলসগুলোকে আপনাকে Antigravity CLI-এর প্রজেক্ট অথবা গ্লোবাল স্কোপের স্কিলস ফোল্ডারে কপি করতে হবে।
- প্রজেক্টের পরিধি :
<project-root>/.agent/skills/-এ অবস্থিত। - গ্লোবাল স্কোপ :
~/.gemini/antigravity-cli/skills/-এ অবস্থিত।
৮. অভিনন্দন
অভিনন্দন! আপনি সফলভাবে গুগল অ্যান্টিগ্র্যাভিটি ব্যবহার করে আপনার প্রথম এজেন্ট স্কিলটি তৈরি করেছেন, কনফিগার করেছেন এবং এতে কাস্টম সক্ষমতা যুক্ত করেছেন।
আপনি প্রজেক্ট এবং গ্লোবাল উভয় পরিসরেই এক সেট এজেন্ট স্কিল কনফিগার করতে সক্ষম হয়েছেন, যার মাধ্যমে কাস্টমাইজড টুলগুলোকে জীবন্ত করে তুলেছেন!
এখন আপনি আপনার নিজের প্রোজেক্টের কঠিন কাজগুলো অ্যান্টিগ্র্যাভিটির ওপর ছেড়ে দিতে এবং নিজের মতো করে কোড লিখতে প্রস্তুত।
আপনার Kaggle 5-Day AI Agents ব্যাজটি অর্জন করুন।
Kaggle-এর ' 5-Day AI Agents: Intensive Vibe Coding Course with Google'- এর অংশ হিসেবে এই ল্যাবটি সম্পন্ন করেছেন? আপনার সমাপ্তি ব্যাজটি সংগ্রহ করুন: ' 5-Day AI Agents' ব্যাজটি নিন।
৯. রেফারেন্স নথি
- কোডল্যাব: গুগল অ্যান্টিগ্র্যাভিটি দিয়ে শুরু করা
- অফিসিয়াল সাইট : https://antigravity.google/
- ডকুমেন্টেশন: https://antigravity.google/docs
- ডাউনলোড করুন : https://antigravity.google/download
- অ্যান্টিগ্র্যাভিটি স্কিলস ডকুমেন্টেশন: https://antigravity.google/docs/skills