اگر از چندین دستیار کدنویسی در یک پروژه استفاده میکنید، احتمالاً ساعتها وقت خود را صرف تکرار دستورالعملها در پنج فایل مخفی مختلف میکنید. این اصطکاک با klaussy-agents به پایان میرسد؛ یک ابزار خط فرمان (CLI) متنباز که پیکربندی عاملهای هوش مصنوعی را بهجای یک قالب ساده، به عنوان یک مسئلهی «ترجمه» میبیند.
بیشتر برنامهنویسان امروز با اکوسیستمی تکهتکه روبهرو هستند که در آن هر عامل کدنویسی، زمینهی پروژه را به روش خاص خود میخواند. Claude Code به دنبال CLAUDE.md میگردد، Gemini CLI فایل GEMINI.md را میخواند، Codex به AGENTS.md متکی است، Cursor از .cursor/rules استفاده میکند و GitHub Copilot فایل .github/copilot-instructions.md را اسکن میکند. علاوه بر این، هر عامل پوشهی مخصوص به خود را برای «مهارتها» یا «دستورات» قابل استفاده مجدد دارد.
وقتی یک قرارداد کدنویسی را در یک فایل بهروز میکنید، چهار عامل دیگر از آن بیخبر میمانند. اگر عامل دومی را به همان مخزن متصل کنید، چون فایلی که عامل اول نوشته را نمیشناسد، عملاً از نقطه صفر شروع میکند. در حالی که میتوانید هر پنج فایل زمینه و پوشههای مهارت را بهصورت دستی همگام نگه دارید، اما این یک کار اداری خستهکننده است که به محض ویرایش یکی از فایلها بدون بهروزرسانی بقیه، از بین میرود. نتیجه عملی این است که هر عاملی که باز میکنید، معمولاً کمترین شناخت را از پروژه شما دارد، مگر اینکه بخواهید هر بار تنظیمات را پنج بار تکرار کنید.
همانطور که در تحلیلهای قبلی ما دربارهی استانداردهای مدیریت Context در مدلهای زبانی اشاره کردیم، یکپارچگی دادهها کلید بهرهوری است. آنچه یک راهکار واقعی را ممکن میکند، این است که هر پنج عامل اکنون فرمت باز Agent Skills یا همان SKILL.md را میخوانند. این موضوع یک فرمت پوشهای فراهم میکند که واقعاً قابل انتقال است. klaussy-agents (نسخه ۰.۳.۲) مانند یک داربست عمل میکند که یکبار قراردادهای مخزن را شناسایی کرده و نسخههای تطبیقیافته را در ساختار بومی هر عامل قرار میدهد. تمرکز این ابزار بر مرحله «تطبیق» است، زیرا اینجا جایی است که فرآیند از یک کپی-پیست ساده فراتر میرود.
چرا تنظیمات دستی مقیاسپذیر نیستند
مدیریت دستی پیکربندیها اگر فقط از یک ابزار استفاده کنید، بهخوبی جواب میدهد. داشتن یک فایل CLAUDE.md و چند فایل در پوشهی .claude/skills/ برای تیمی که فقط در اکوسیستم کلود است، کافی است. ابزارهای عمومی تولید ساختار پروژه (Scaffolders) مثل cookiecutter و دوستانشان برای ایجاد ساختار کلی عالی هستند، اما ظرافتهای مربوط به هر عامل را نمیشناسند؛ آنها نمیدانند «زیر-عامل» چیست یا Cursor چگونه یک قانون را در مقایسه با Copilot محدود میکند.
شکاف اصلی در استفاده همزمان از چندین عامل است: یک گردش کار بازبینی (Review) واحد که باید به پنج روش مختلف بیان شود و برای همیشه همگام بماند. این یک مسئلهی ترجمه است، نه قالببندی. مشخصات SKILL.md فرمت منبع مشترک را فراهم میکند و klaussy کارهای خستهکننده و خطازای شناسایی، تطبیق و سیمکشی بومی را انجام میدهد تا کاربر مجبور نباشد پنج نسخه از یک مهارت را مدیریت کند. صادقانه باید گفت که استاندارد SKILL.md قابلیت انتقال را ممکن کرد و klaussy لایهی عملیاتی روی آن است.
مکانیزم تطبیق
نوآوری اصلی klaussy-agents در لایهی تطبیق آن است. این ابزار صرفاً متن را کپی نمیکند، بلکه منطق را بازنویسی میکند تا با مفاهیم بومی هر عامل سازگار شود. مهارتها در ابتدا با نحو Claude Code نوشته میشوند — با تکیه بر ساختارهای خاص کلود مثل بلوکهای ! dynamic-shell و زیر-عاملهای موازی از طریق ابزار Agent و حالت ExitPlanMode — و سپس به پنج گویش مختلف ترجمه میشوند.
از آنجا که این توکنها برای Gemini یا Codex معنایی ندارند، klaussy هر بخش را بازنویسی میکند تا همان هدف را با اصطلاحات عامل مقصد برساند. این کار از طریق سه بازنویسی concrete انجام میشود:
- بلوکهای پویا (Dynamic Shell): یک بلوک
! dynamic-shellدر کلود (که دستوری را اجرا کرده و خروجی را درج میکند) برای سایر عاملها به یک دستور متنی ساده تبدیل میشود: «این دستور را اجرا کن و از خروجی آن استفاده کن». برای مثال، بلوکی که بهصورت خاموشgit diffرا اجرا میکند، به دستوری مستقیم تبدیل میشود که عاملهای دیگر واقعاً از آن پیروی کنند. - تغییر مسیرها (Path Retargeting): ارجاعات به
.claude/skills/بهطور خودکار به دایرکتوری مهارتهای عامل مقصد بهروز میشوند تا لینکهای شکسته ایجاد نشود. مسیرهای مقصد دقیقاً اینها هستند:.claude/skills/(Claude Code).gemini/skills/(Gemini CLI).cursor/skills/(Cursor).agents/skills/(Codex - مسیر خنثی.agents/).github/skills/(GitHub Copilot)
- سازماندهی مبتنی بر هدف (Intent-Based Orchestration): چون عاملها زیر-عاملهای موازی را متفاوت مدیریت میکنند، ابزار یک «یادداشت تطبیق» اضافه میکند. این یادداشت به عامل میگوید هدف (مثلاً «اجرای موازی این بررسیها») را به ابزار خودش نگاشت کند، بهجای اینکه اجرای ترتیبی را تحمیل کند.

زیر-عاملها و حالت برنامهریزی
برخی مهارتها، زیر-عاملهای موازی را سازماندهی میکنند. برای مثال، مهارت بازبینی، لایههای جداگانهای برای صحت، معماری، امنیت و محدوده ایجاد میکند. در Claude Code، این کار با ابزار Agent و subagent_type انجام میشود. اما عاملهای دیگر این مفاهیم را متفاوت میبینند:
- Cursor: از Task (GA) استفاده میکند.
- Codex: از spawn_agent (GA) بهره میبرد.
- Gemini CLI: از subagents (در حالت پیشفرض روشن، اما تحت تنظیمات آزمایشی) استفاده میکند.
- GitHub Copilot: از task / read_agent (و یک زمینه آزمایشی به نام fork) استفاده میکند.
یادداشت تطبیق صراحتاً به عامل مقصد میگوید که از ابزار زیر-عامل موازی خودش استفاده کند و تنها در صورتی که ابزاری ندارد، به اجرای ترتیبی روی آورد. این یادداشت «هدف» را منتقل میکند (مثلاً «این لایهها مستقل هستند، آنها را موازی اجرا کن»)، نه نام ابزارهای خاص کلود را. همین منطق برای ExitPlanMode نیز صادق است؛ یادداشت هدف «برنامهریزی و سپس تأیید» را توصیف میکند، بهجای اینکه نام ابزاری را بیاورد که فقط کلود دارد.
یک نمونه از متنی که به مهارتها اضافه میشود این است: «# یادداشت تطبیق: این مهارت لایههای مستقل را بهصورت موازی اجرا میکند. از ابزار زیر-عامل موازی خود (مانند Task / spawn_agent / subagents / task) استفاده کنید. تنها در صورتی که ابزاری ندارید، آنها را بهصورت ترتیبی اجرا کنید.»
این نکته مهمی را یاد میدهد: قابلیت انتقال بین عاملها، «جایگزینی ساده نام ابزارها» نیست. بلکه جدا کردن «هدف» از «ابزار» است و سپس اجازه دادن به هر عامل تا آن هدف را به ابزار خودش متصل کند. استاندارد SKILL.md یک ظرف مشترک فراهم میکند، اما چون ابزارهای مشترکی تعریف نمیکند، متن باید بهگونهای نوشته شود که در صورت نبود ابزار، بهطور graceful (نرم) تخریب شود.
پیادهسازی فنی و محدوده
این ابزار از طریق pip install klaussy-agents نصب میشود. یک دستور واحد، klaussy init کل فرآیند را مدیریت میکند. این دستور شاخه پایه (base branch) را میپرسد و بهطور پیشفرض هر پنج عامل را آماده میکند. کاربران میتوانند با klaussy init --agents claude,cursor محدوده را کم کنند یا مراحل مجزایی مثل skills یا settings یا hooks یا github را اجرا کنند اگر فقط بخشی از تنظیمات را میخواهند.
در لایههای زیرین، ابزار ابتدا یک مرحله شناسایی قراردادهای مخزن را اجرا میکند، یک فایل CLAUDE.md برای کل پروژه و فایلهای .claude/rules/*.md برای مسیرهای خاص تولید میکند و سپس اینها را به فرمتهای بومی ترجمه میکند:
- Copilot: فایلهای
.github/instructions/*.instructions.mdبا استفاده از frontmatter مربوط بهapplyTo. - Cursor: فایلهای
.cursor/rules/*.mdcبا استفاده از frontmatter مربوط بهglobs.
علاوه بر قوانین پایه، ابزار ۱۱ مهارت گردش کار نامگذاری شده (به فرمت <repo>-<skill>) را ارائه میدهد تا تداخلی بین مخازن مختلف ایجاد نشود. نمونه بارز آن «مهارت بازبینی» است که بر اساس اندازه diff اولویتبندی کرده و لایههای موازی را اجرا میکند. علاوه بر چهار لایه استاندارد، اگر تغییرات مربوط به کد هوش مصنوعی باشد، لایه «Agentic/Evals» و برای ADRها یا RFCها یا اسناد طراحی، لایه «Architecture-Decision/Design-Doc» اضافه میشود. این گردش کار بر دقت متمرکز است: یک بازبینی خالی (بدون مورد مشکوک) نتیجهای معتبر است و هر یافته باید یک محرک concrete داشته باشد و سپس در مرحله اعتبارسنجی، موارد مثبت کاذب را حذف کند تا قبل از گزارش نهایی، خود-ردزنی (self-refute) صورت گیرد.
مجوزها و گاردهای امنیتی
klaussy-agents زیرساختهای حیاتی تنظیمات عاملها را نیز مدیریت میکند:
- لیستهای مجاز (Allow-lists): تنظیمات بومی را برای
settings.jsonدر کلود (اجازه/رد)،settings.jsonدر جمینای (tools.allowed)،permissions.jsonدر Cursor (terminalAllowlist) وconfig.tomlدر Codex (تأیید/سندباکس) مینویسد. - حذف اسرار (Secret Exclusion): تلاش میکند فایلهای
.envو*.pemوcredentials*را از دسترس عاملها دور نگه دارد و برای این کار از مکانیزمهای خاص هر ابزار استفاده میکند. - قلابهای مشترک (Cross-Agent Hooks): دو گارد امنیتی را فعال میکند. یک گارد git-commit که فرمت و linting شناسایی شده را قبل از کامیت اجرا میکند و یک گارد read-injection که محتوای فایلها و نتایج fetch را برای یافتن نشانههای تزریق پرامپت (Prompt Injection) اسکن میکند. این گاردها با استفاده از کتابخانههای استاندارد پایتون (pure-stdlib) ساخته شدهاند و سختگیرانه طراحی شدهاند تا در صورت بروز خطای تجزیه (Parse error)، بهجای کرش کردن، اجازه دسترسی را بدهند. آنها با کد
exit 2وstderrمسدود میکنند که تمام عاملهای پشتیبانیشده آن را میشناسند. اسکریپتهای گارد، دستور یا مسیر را از هر نوع payload قلاب که توسط عامل ارسال شود، استخراج میکنند.
محدودیتهای شناختهشده و شکافها
توسعهدهنده ابزار به چندین «شکاف» در نسخه فعلی اشاره کرده است. با وجود ۱۳۰ تست پاس شده و کد تمیز (ruff clean)، این ابزار یک آینه کامل نیست:
- ترجمه در برابر بومیسازی: مهارتها در کلود نوشته شده و سپس تطبیق داده میشوند. اگرچه هدف منتقل میشود، اما اینها مهارتهای اختصاصی نیستند که از ابتدا برای هر عامل نوشته شده باشند. برای رسیدن به مهارتهای کاملاً بومی در Codex، هنوز به ویرایش دستی نیاز است.
- پوشش نابرابر قلابها: گارد تزریق-خوانش تنها برای کلود، جمینای و Cursor فعال است. Codex هیچ رویدادی برای قلاب قبل از خواندن فایل ندارد و Copilot در
preToolUseسختگیرانه عمل میکند (fail-closed) و آرگومانهای ابزار خواندن را تأیید نمیکند، بنابراین آنها فقط گارد کامیت را دریافت میکنند. ابزار این موضوع را در لاگها ثبت میکند بهجای اینکه تظاهر کند گارد در همه جا هست. - شکافهای حذف اسرار: سندباکس Codex فقط روی نوشتن و شبکه نظارت دارد، نه خواندن؛ بنابراین حذف خواندن در آنجا غیرممکن است. همچنین حذف محتوا در Copilot یک تنظیم در سطح گیتهاب است، نه فایلی که در مخزن باشد. ابزار این واقعیت را بیان میکند بهجای اینکه یک فایل
.ignoreجعلی بسازد که هیچ اثری نخواهد داشت. - وابستگی به استاندارد: ابزار به رعایت استاندارد
SKILL.mdوابسته است. اگر عاملی روش خواندن مهارتها را تغییر دهد، klaussy باید آن را ردیابی کند.
klaussy-agents یک ابزار داربست است؛ فایلهایی را تولید میکند که عاملها میخوانند، اما خودش عاملها را اجرا نمیکند یا کیفیت مدل را تغییر نمیدهد. (توجه: این ابزار با اپلیکیشن دسکتاپ پولی klaussy متفاوت است که محصول دیگری از همان توسعهدهنده است). با جدا کردن «هدف» از «ابزار»، برنامهنویسان بالاخره میتوانند با پشتهی هوش مصنوعی خود به عنوان یک سیستم واحد برخورد کنند، نه مجموعهای از ابزارهای ایزوله.
گام بعدی شما
- اگر از ترکیب Cursor و Claude Code استفاده میکنید،
klaussy-agentsرا نصب کنید تا از تکرار دستی قوانین در.cursor/rulesوCLAUDE.mdخلاص شوید. - مهارتهای بازبینی (Review Skills) را در مخزن خود پیاده کنید تا لایههای امنیتی و معماری بهطور موازی بررسی شوند.
- گاردهای امنیتی
read-injectionرا برای جلوگیری از نشت اطلاعات یا دستورات مخرب در فایلهای پروژه فعال کنید.
اما مدیریت این عاملها در مقیاس سازمانی چالشهای متفاوتی دارد — به تحلیل ما دربارهی استقرار عاملهای هوش مصنوعی در محیطهای Enterprise مراجعه کنید.




گفتگو