این Skill براساس اصل YAGNI ساخته شده:
«چیزی که الان بهش نیاز نداری، از الان نساز.»
یعنی قبل از کدنویسی، مدل بررسی میکنه:
آیا همین قابلیت از قبل داخل پروژه وجود داره؟
آیا میشه از امکانات خود زبان یا فریمورک استفاده کرد؟
آیا واقعاً به فایل یا پکیج جدید نیاز داریم؟
آیا میشه کار رو با یک تغییر کوچکتر و مطمئنتر انجام داد؟
مثلاً اگر فقط یک انتخابگر تاریخ لازم داشته باشید، مدل ابتدا بررسی میکنه که آیا قابلیت سادهی خود مرورگر کافی است یا نه؛ بهجای اینکه مستقیم یک کتابخانه جدید نصب کنه و چند کامپوننت بسازه.
یا اگر ازش بخواید یک باگ کوچک رو برطرف کنه، سعی میکنه فقط همان بخش را اصلاح کند و بیدلیل قسمتهای دیگر پروژه را بازنویسی نکند.
این رویکرد میتونه باعث بشه:
کد و فایلهای اضافه کمتری تولید بشه
پکیجهای غیرضروری کمتری نصب بشه
پروژه خلوتتر و قابلفهمتر بمونه
تغییرات راحتتر بررسی و تست بشن
احتمال خرابشدن بخشهای نامرتبط کمتر بشه
رفتوبرگشت کمتری برای اصلاح خروجی مدل داشته باشید
در بسیاری از تسکها توکن کمتری مصرف بشه
صرفهجویی در توکن به این دلیل اتفاق میافته که مدل کد، توضیحات، فایلها و معماری اضافه تولید نمیکنه و معمولاً نیازی نیست چند مرحله برای حذف یا اصلاح چیزهای غیرضروری باهاش گفتگو کنید.
البته مقدار این صرفهجویی ثابت یا تضمینی نیست و به نوع پروژه و تسک بستگی داره.
مزیت خود Skill هم اینه که لازم نیست هر بار تمام قوانین YAGNI رو داخل پرامپت کپی کنید. یکبار نصبش میکنید و هر زمان لازم بود مستقیم فعالش میکنید. در نتیجه:
رفتار مدل در تسکهای مختلف یکدستتر میشه
پرامپتهای شما کوتاهتر میمونن
قوانین مهم فراموش نمیشن
میتونید همان روش را در پروژههای مختلف استفاده کنید
برای Codex و Claude نسخهی جدا و آماده دارید
این Skill قرار نیست کیفیت رو فدای کمکردن کد یا توکن کنه. امنیت، تست، مدیریت خطا، خوانایی و ساختار فعلی پروژه همچنان باید حفظ بشن.
ایدهی اولیه از اصل YAGNI و پروژهی Ponytail الهام گرفته شده، اما این نسخه رو با محدودیتهای محافظهکارانهتر برای Codex و Claude آماده کردم تا سادهسازی باعث خرابکاری نشه.
دو نسخه جدا داخل ریپو قرار گرفته:
نسخه Codex: با دستور $yagni
نسخه Claude Code: با دستور
/yagniدانلود و توضیحات کامل:
https://github.com/ShahriarArabpour/Algoticlab-Skills
راهنمای فارسی:
https://github.com/ShahriarArabpour/Algoticlab-Skills/blob/main/docs/yagni/fa.md