حالت عامل را با مهارت‌ها گسترش دهید

مهارت‌ها به شما امکان می‌دهند قابلیت‌های حالت عامل را با تخصص‌های تخصصی و گردش‌های کاری سفارشی افزایش دهید. این مهارت‌ها بر اساس استاندارد باز مهارت‌های عامل هستند.

برخلاف فایل‌های AGENTS.md ، مهارت‌ها نشان‌دهنده تخصص‌های مورد نیاز هستند. این ساختار به Agent Mode اجازه می‌دهد تا تعداد زیادی از قابلیت‌های تخصصی - مانند مهاجرت بین نسخه‌های خاص کتابخانه یا ایجاد سازگاری قابل ترکیب با اندازه‌های مختلف صفحه نمایش - را بدون شلوغ کردن پنجره زمینه فوری مدل، حفظ کند.

این مدل به طور خودکار تصمیم می‌گیرد که چه زمانی بر اساس درخواست شما و شرح مهارت، از یک مهارت استفاده کند. هنگامی که یک مهارت مرتبط شناسایی شد، مدل به صورت پویا دستورالعمل‌ها و منابع کامل مورد نیاز برای انجام وظیفه را دریافت می‌کند.

برای فعال کردن یک مهارت بنا به درخواست، از اپراتور بخواهید کاری را که مربوط به آن مهارت است انجام دهد. همچنین می‌توانید برای فعال کردن یک مهارت خاص، @ را در کادر ورودی وارد کنید.

مزایای کلیدی

  • تخصص مشترک: گردش‌های کاری پیچیده (مانند فرآیند بررسی درخواست‌های pull یک تیم خاص) را در یک پوشه اختصاصی که هر کسی می‌تواند از آن استفاده کند، بسته‌بندی کنید.
  • گردش‌های کاری تکرارپذیر: با ارائه دستورالعمل‌های استاندارد، از انجام مداوم وظایف پیچیده و چند مرحله‌ای اطمینان حاصل کنید.
  • بسته‌بندی منابع: اسکریپت‌ها، قالب‌ها یا داده‌های نمونه را در کنار دستورالعمل‌های خود قرار دهید تا عامل هر آنچه را که نیاز دارد در یک مکان داشته باشد.
  • استفاده کارآمد از پنجره context: برای ذخیره توکن‌های context، فقط فراداده‌های مهارت (نام و توضیحات) در ابتدا بارگذاری می‌شوند. فایل کامل SKILL.md فقط پس از فعال‌سازی بارگذاری می‌شود. فایل‌های پشتیبانی درون دایرکتوری‌های references/ ، scripts/ یا assets/ فقط زمانی در context بارگذاری می‌شوند که عامل به طور خاص به آنها نیاز داشته باشد.

مهارت‌های خودتان را بسازید

عامل (agent) به دنبال مهارت‌هایی می‌گردد که از دایرکتوری‌های .skills/ یا .agent/skills/ که در ریشه پروژه شما قرار دارند، شروع می‌شود. برای ایجاد یک مهارت سفارشی، این مراحل را دنبال کنید:

  1. یک دایرکتوری برای مهارت خود ایجاد کنید (برای مثال، my-new-skill/ ).
  2. یک فایل SKILL.md (حساس به حروف بزرگ و کوچک) درون دایرکتوری جدید ایجاد کنید .

مهارت‌ها باید از این قوانین پیروی کنند:

  • یک دایرکتوری برای هر مهارت: هر مهارت باید دایرکتوری منحصر به فرد خود را داشته باشد که شامل یک فایل SKILL.md و هرگونه منبع اضافی باشد.
  • تودرتو: همه مهارت‌ها باید در دایرکتوری .skills/ یا .agent/skills/ در ریشه پروژه باشند. با این حال، می‌توانید برای سازماندهی بهتر از زیرشاخه‌ها استفاده کنید (برای مثال، skills/ui-flows/<skill name>/SKILL.md یا skills/testing/<skill name>/SKILL.md ).
  • محدوده: در حال حاضر، فقط مهارت‌هایی که در کدبیس پروژه قرار دارند پشتیبانی می‌شوند.

فایل SKILL.md از یک بلوک YAML برای فراداده و از Markdown استاندارد برای دستورالعمل‌ها استفاده می‌کند.

  • name : یک شناسه منحصر به فرد برای مهارت. این باید با نام دایرکتوری مطابقت داشته باشد.
  • description : توضیح روشنی از اینکه مهارت چه کاری انجام می‌دهد و چه زمانی عامل باید از آن استفاده کند.
  • بدنه: بدنه‌ی Markdown زیر بلوک YAML شامل دستورالعمل‌هایی است که رفتار عامل را هنگام فعال بودن مهارت هدایت می‌کنند.
---
name: skill-name
description: A description of what this skill does and when to use it.
metadata:
  author: example-org
  version: "1.0"
---

Skill content

دستورالعمل‌های قالب‌بندی

  • نام: حداکثر ۶۴ کاراکتر (فقط حروف کوچک، اعداد و خط فاصله).
  • توضیحات: حداکثر ۱۰۲۴ کاراکتر
  • محتوای بدنه: سعی کنید بین ۱۰ تا ۲۰ هزار کاراکتر (حدود ۲۵۰۰ تا ۵۰۰۰ توکن) داشته باشید. اگر دستورالعمل‌های شما از این مقدار بیشتر است، انتقال مستندات دقیق به یک فایل منبع را همانطور که در فهرست مهارت‌های اختیاری توضیح داده شده است، در نظر بگیرید.

فهرست مهارت‌های اختیاری

برای اینکه فایل SKILL.md شما مختصر و ماژولار باشد، می‌توانید منابع اضافی را در دایرکتوری‌های اختیاری زیر در پوشه مهارت خود قرار دهید:

  • scripts/ : شامل کد اجرایی (مثلاً پایتون یا بش) است که عامل می‌تواند آن را اجرا کند.
  • references/ : شامل مستندات فنی دقیق، ارجاعات API یا راهنماهای خاص هر حوزه است.
  • assets/ : شامل منابع استاتیک مانند قالب‌های سند، نمودارهای رابط کاربری یا طرح‌های JSON است.

هنگام ارجاع به این فایل‌ها در دستورالعمل‌های SKILL.md خود، از مسیرهای نسبی از ریشه مهارت استفاده کنید. برای مثال: Run the script at scripts/cleanup.py .