اگر برای انجام یک کار با هوش مصنوعی مجبور هستید هر بار همان Prompt طولانی، قوانین، قالب خروجی و مراحل کار را دوباره توضیح دهید، Skill دقیقاً برای حل همین مشکل ساخته شده است.
به زبان ساده، Skill یک بسته قابل استفاده مجدد از دستورالعملها، قوانین، فایلها، نمونهها و حتی اسکریپتهاست که به یک Agent هوش مصنوعی یاد میدهد یک کار مشخص را همیشه با روش موردنظر شما انجام دهد.
مثلاً میتوانید Skillهایی بسازید که به هوش مصنوعی یاد بدهند:
- مقالات سایت شما را با ساختار مشخص بنویسد.
- کدهای پروژه را طبق استاندارد تیم بررسی کند.
- گزارش فروش هفتگی تولید کند.
- فایل Excel را طبق یک قالب خاص بسازد.
- Pull Requestها را با قوانین تیم شما Review کند.
- محتوای شبکه اجتماعی را با لحن برند بنویسد.
- قبل از تحویل هر طراحی، یک چکلیست UI/UX مشخص را اجرا کند.
در سالهای اخیر، مفهوم Agent Skills به یکی از روشهای مهم برای شخصیسازی Agentهای هوش مصنوعی تبدیل شده است. OpenAI و Anthropic هر دو از ساختارهایی مبتنی بر فایل SKILL.md برای تعریف Workflowهای قابل استفاده مجدد استفاده میکنند.
برای مطالعه بیشتر میتوانید به OpenAI Skills و Anthropic Agent Skills مراجعه کنید.
Skill در هوش مصنوعی دقیقاً چیست؟
Skill یا Agent Skill مجموعهای از دستورالعملها و منابع قابل استفاده مجدد است که به Agent توضیح میدهد یک نوع وظیفه مشخص را چگونه انجام دهد.
یک Skill ساده ممکن است فقط چنین ساختاری داشته باشد:
my-skill/
└── SKILL.mdاما یک Skill حرفهایتر میتواند به شکل زیر باشد:
my-skill/
├── SKILL.md
├── references/
│ ├── style-guide.md
│ └── examples.md
├── scripts/
│ └── validate.py
└── assets/
└── report-template.mdدر این ساختار:
SKILL.mdمغز اصلی Skill است.references/اطلاعات و مستندات کمکی را نگه میدارد.scripts/شامل کدهایی است که Agent میتواند برای کارهای دقیق و تکرارشونده اجرا کند.assets/برای Templateها، نمونهها و فایلهای موردنیاز استفاده میشود.
این ساختار باعث میشود Skill فقط یک Prompt طولانی نباشد و بتواند مانند یک بسته کوچک از دانش، دستورها و ابزارهای موردنیاز Agent عمل کند.
چرا اصلاً به Skill نیاز داریم؟
مهمترین مزیت Skill این است که دانش «چگونه انجام دادن یک کار» را از یک مکالمه موقت به یک قابلیت دائمی و قابل استفاده مجدد تبدیل میکند.
فرض کنید همیشه از ChatGPT میخواهید مقالهای برای سایتتان تولید کند و هر بار باید این موارد را توضیح دهید:
- ساختار Front Matter
- نحوه نوشتن عنوان
- قواعد SEO
- لحن برند
- نحوه استفاده از H2 و H3
- ساختار FAQ
- قالب CTA
- روش لینکدهی
- محدودیت منابع
- چکلیست نهایی
ممکن است Prompt شما چند هزار کلمه شود.
با Skill میتوانید همه این قوانین را یکبار داخل فایل تعریف کنید و بعد فقط بگویید:
برای موضوع Gemini یک مقاله بنویس.Agent میتواند Skill مرتبط با تولید مقاله را پیدا کند و قوانین آن را اجرا کند.
مزیتهای اصلی Skill
- کاهش نیاز به تکرار Promptهای طولانی
- یکسان ماندن کیفیت خروجی
- کاهش فراموش شدن قوانین
- امکان استفاده چند نفر از یک Workflow مشترک
- نگهداری و Version Control با Git
- امکان اضافه کردن Script و ابزار
- امکان ترکیب چند Skill
- قابل انتقال بودن دانش تیم به Agent
- سادهتر شدن نگهداری Promptهای پیچیده
Skillها مخصوصاً برای وظایفی مفید هستند که چندمرحلهای، تکرارشونده یا دارای قالب و قوانین مشخص هستند.
تفاوت Skill با Prompt، Tool و Agent چیست؟
یکی از اشتباههای رایج این است که Prompt، Skill، Tool و Agent را یک چیز بدانیم؛ درحالیکه هرکدام نقش متفاوتی دارند.
| مفهوم | وظیفه |
|---|---|
| Prompt | میگوید الان چه کاری انجام شود |
| Skill | توضیح میدهد آن نوع کار چگونه انجام شود |
| Tool | امکان انجام یک عمل واقعی را فراهم میکند |
| Agent | تصمیم میگیرد چگونه برای رسیدن به هدف از مدل، Skill و Tool استفاده کند |
Prompt چیست؟
Prompt دستور فعلی کاربر است.
مثلاً:
این Pull Request را بررسی کن.این جمله فقط هدف فعلی را مشخص میکند.
Skill چیست؟
Skill روش انجام کار را تعریف میکند.
مثلاً:
هنگام Review کردن Pull Request:
1. ابتدا تغییرات امنیتی را بررسی کن.
2. سپس Performance را بررسی کن.
3. Breaking Changeها را مشخص کن.
4. برای هر مشکل Severity تعیین کن.
5. در انتها نتیجه را با قالب مشخص ارائه بده.این دستورها میتوانند بارها برای Pull Requestهای مختلف استفاده شوند.
Tool چیست؟
Tool به Agent قابلیت انجام یک عمل واقعی میدهد.
برای مثال:
- خواندن فایل
- جستجوی وب
- اجرای Python
- دریافت اطلاعات از GitHub
- ارسال ایمیل
- خواندن تقویم
- اجرای Command
- فراخوانی API
Skill خودش الزاماً Tool نیست.
Skill میتواند به Agent توضیح دهد چه زمانی و چگونه از Tool استفاده کند.
Agent چیست؟
Agent سیستم کاملتری است که میتواند:
- هدف را دریافت کند.
- وضعیت را تحلیل کند.
- Skill مناسب را پیدا کند.
- Tool مناسب را انتخاب کند.
- عملیات را انجام دهد.
- نتیجه را بررسی کند.
- در صورت نیاز مسیر را اصلاح کند.
بهصورت مفهومی میتوان چنین نوشت:
Agent = Model + Instructions + Skills + Tools + Contextالبته معماری واقعی هر پلتفرم میتواند متفاوت باشد.
فایل SKILL.md چیست؟
فایل SKILL.md مهمترین فایل یک Agent Skill است.
این فایل با Markdown نوشته میشود و معمولاً شامل دو قسمت اصلی است:
- YAML Front Matter
- دستورهای Skill
حداقل ساختار میتواند چنین باشد:
---
name: article-writer
description: Write SEO-friendly Persian articles using the site's editorial rules.
---
Use this skill when the user asks to create an article.
1. Research the topic.
2. Verify time-sensitive facts.
3. Write the article in Persian.
4. Use the required Markdown structure.
5. Run the final editorial checklist before delivery.قسمت زیر Metadata یا اطلاعات اولیه Skill محسوب میشود:
---
name: article-writer
description: Write SEO-friendly Persian articles using the site's editorial rules.
---و ادامه فایل، دستورهایی است که Agent هنگام اجرای Skill باید دنبال کند.
چرا name و description در Skill مهم هستند؟
دو فیلد مهم Skill عبارتاند از:
name:
description:این دو فقط اطلاعات نمایشی نیستند.
در بسیاری از سیستمهای Agentic، مدل ابتدا نام و توضیح Skillهای موجود را میبیند و براساس آن تصمیم میگیرد کدام Skill برای درخواست فعلی مناسب است.
بنابراین Description باید دو چیز را مشخص کند:
- Skill چه کاری انجام میدهد؟
- چه زمانی باید از آن استفاده شود؟
مثلاً این Description ضعیف است:
description: Helps with articles.چون مشخص نیست:
- چه نوع مقالهای؟
- برای چه زمانی؟
- با چه هدفی؟
- چه چیزی باعث فعال شدن Skill میشود؟
نسخه بهتر:
description: Research and write Persian SEO articles for the Hooshamoozan website. Use when the user asks to create, rewrite, update, or fact-check an article for the site.این Description هم کاری که Skill انجام میدهد و هم شرایط استفاده از آن را توضیح میدهد.
مرحلهبهمرحله یک Skill بسازیم
برای اینکه موضوع کاملاً روشن شود، یک Skill واقعی میسازیم.
فرض کنیم میخواهیم Skillی داشته باشیم که مقالات فارسی یک سایت را قبل از انتشار بررسی کند.
نام آن را میگذاریم:
persian-article-editorمرحله اول: پوشه Skill را بسازید
ساختار اولیه:
persian-article-editor/
└── SKILL.mdدر سادهترین حالت همین دو مورد کافی هستند:
- یک پوشه
- یک فایل
SKILL.md
مرحله دوم: Metadata را تعریف کنید
داخل SKILL.md بنویسید:
---
name: persian-article-editor
description: Review and improve Persian website articles for clarity, SEO, factual accuracy and readability. Use when the user asks to edit, proofread, fact-check or prepare a Persian article for publication.
---این قسمت به Agent کمک میکند تشخیص دهد Skill برای چه درخواستهایی مناسب است.
مرحله سوم: هدف Skill را مشخص کنید
بعد از Front Matter بنویسید:
# Persian Article Editor
Use this skill when reviewing Persian articles before publication.
The goal is to improve:
- factual accuracy
- readability
- SEO
- heading structure
- source quality
- Persian grammarاینجا Agent دقیقاً میفهمد هدف Skill چیست.
مرحله چهارم: Workflow را مشخص کنید
یکی از اشتباههای رایج این است که Skill را با جملههای خیلی مبهم بنویسیم.
مثلاً:
مقاله را خوب بررسی کن.این دستور مشخص نمیکند «خوب بررسی کردن» دقیقاً یعنی چه.
نسخه بهتر:
## Workflow
1. Read the full article before editing.
2. Identify time-sensitive claims.
3. Verify important factual claims using reliable sources.
4. Check heading hierarchy.
5. Remove unnecessary repetition.
6. Improve unclear Persian sentences.
7. Check that the introduction answers search intent quickly.
8. Verify that external links point to real sources.
9. Check SEO title and meta description.
10. Run the final checklist before returning the article.هرچه Workflow مشخصتر باشد، خروجی قابل پیشبینیتر میشود.
برای Skill قالب خروجی تعریف کنید
اگر خروجی باید ساختار مشخصی داشته باشد، آن را داخل Skill بنویسید.
مثلاً:
## Output format
Return the result using this structure:
### مشکلات مهم
- ...
### پیشنهادهای SEO
- ...
### خطاهای factual
- ...
### نسخه اصلاحشده
...این روش بهخصوص برای Skillهایی که قرار است چند نفر در یک تیم از آن استفاده کنند اهمیت دارد.
با این کار، خروجی Agent در دفعات مختلف ساختار مشابهی خواهد داشت.
چکلیست نهایی اضافه کنید
یک Skill حرفهای بهتر است قبل از تحویل نتیجه، خودش خروجی را بررسی کند.
مثلاً:
## Final checks
Before finishing:
- Confirm that no unsupported claims were added.
- Confirm that all URLs are real.
- Confirm heading hierarchy is valid.
- Confirm no H1 was added inside the article body.
- Confirm Persian punctuation is correct.
- Confirm there is no unnecessary keyword stuffing.این بخش جلوی بسیاری از خطاهای رایج را میگیرد.
یک Skill کامل چه شکلی است؟
یک نسخه کامل و ساده از Skill ویرایش مقاله میتواند به این شکل باشد:
---
name: persian-article-editor
description: Review and improve Persian website articles for clarity, SEO, factual accuracy and readability. Use when the user asks to edit, proofread, fact-check or prepare a Persian article for publication.
---
# Persian Article Editor
Use this skill to prepare Persian articles for publication.
## Goals
Improve:
- factual accuracy
- readability
- SEO
- Persian grammar
- article structure
## Workflow
1. Read the full article.
2. Identify its search intent.
3. Check time-sensitive claims.
4. Verify important claims when necessary.
5. Improve weak or unclear paragraphs.
6. Check heading hierarchy.
7. Remove repetition.
8. Check internal and external links.
9. Review meta title and meta description.
10. Run the final checklist.
## Rules
- Never invent sources.
- Never invent URLs.
- Do not keyword-stuff.
- Preserve factual uncertainty.
- Prefer primary sources.
- Keep paragraphs readable.
## Final checks
Before returning the result:
- Verify factual claims.
- Verify links.
- Verify heading hierarchy.
- Verify Persian punctuation.
- Confirm the article answers search intent.همین فایل ساده میتواند پایه یک Skill واقعی باشد.
چه زمانی references اضافه کنیم؟
گاهی تمام اطلاعات نباید داخل SKILL.md قرار بگیرند.
فرض کنید Skill شما باید از یک Style Guide دهصفحهای استفاده کند.
اگر همه آن اطلاعات را داخل SKILL.md قرار دهید:
- فایل بیشازحد بزرگ میشود.
- Context بیدلیل مصرف میشود.
- نگهداری Skill سختتر میشود.
- Agent در هر اجرا اطلاعات غیرضروری زیادی دریافت میکند.
در این شرایط میتوانید فایل جداگانه ایجاد کنید:
my-skill/
├── SKILL.md
└── references/
└── brand-guide.mdو داخل Skill بنویسید:
When writing branded content, read:
references/brand-guide.mdدر این حالت، Agent فقط زمانی که واقعاً به اطلاعات Brand Guide نیاز دارد آن فایل را میخواند.
این روش به مفهوم Progressive Disclosure نزدیک است؛ یعنی اطلاعات بیشتر فقط زمانی وارد Context شوند که واقعاً لازم باشند.
چه زمانی Script به Skill اضافه کنیم؟
همه کارها نباید با Prompt انجام شوند.
گاهی اجرای کد بسیار مطمئنتر است.
مثلاً فرض کنید Skill شما باید:
- JSON را Validate کند.
- تعداد کلمات را دقیق بشمارد.
- فایل CSV را پردازش کند.
- تغییرات Git را بررسی کند.
- یک فرمت مشخص را Validate کند.
- یک محاسبه دقیق انجام دهد.
در چنین شرایطی میتوانید Script اضافه کنید.
ساختار:
seo-audit/
├── SKILL.md
└── scripts/
└── check_meta.pyنمونه Script:
import sys
title = sys.argv[1]
if len(title) > 60:
print("Title is too long")
else:
print("Title length is acceptable")سپس داخل SKILL.md میتوانید مشخص کنید چه زمانی این Script اجرا شود.
پوشه assets چه کاربردی دارد؟
پوشه assets/ معمولاً برای فایلهایی استفاده میشود که قرار است بهعنوان بخشی از خروجی یا Template کار استفاده شوند.
مثلاً:
report-builder/
├── SKILL.md
└── assets/
├── report-template.md
└── cover-template.htmlنمونههای کاربرد Asset:
- Template گزارش
- قالب مقاله
- فایل HTML پایه
- قالب ایمیل
- ساختار Presentation
- نمونه خروجی
- فایلهای موردنیاز تولید محتوا
بهجای اینکه Agent هر بار یک قالب را از ابتدا حدس بزند، میتوانید Template اصلی را در اختیار Skill قرار دهید.
تفاوت references و assets چیست؟
این دو پوشه ممکن است در نگاه اول مشابه به نظر برسند.
یک تفکیک ساده این است:
| پوشه | کاربرد |
|---|---|
references/ | اطلاعاتی که Agent باید بخواند و از آنها یاد بگیرد |
assets/ | فایلها و قالبهایی که Agent میتواند در خروجی استفاده کند |
مثلاً:
references/
└── brand-guide.mdبرای توضیح قوانین برند است.
اما:
assets/
└── instagram-post-template.mdقالبی است که Agent میتواند برای ساخت خروجی استفاده کند.
این تفکیک اجباری نیست، اما باعث میشود ساختار Skill مرتبتر و قابل فهمتر باشد.
Skillهای خوب چه ویژگیهایی دارند؟
یک Skill خوب معمولاً چند ویژگی مشخص دارد.
یک هدف مشخص دارد
Skill نباید قرار باشد «همه کار انجام دهد».
مثلاً:
general-assistantمعمولاً بیشازحد کلی است.
اما:
wordpress-seo-article-reviewهدف بسیار مشخصتری دارد.
مراحل قابل اجرا دارد
بهجای:
Make the result professional.بنویسید:
1. Check the title.
2. Check the introduction.
3. Review every H2.
4. Verify links.
5. Remove duplicate information.Agent با دستورهای عملی بسیار بهتر از عبارتهای مبهم کار میکند.
فقط اطلاعات لازم را داخل Context میآورد
Skill خوب نباید دهها صفحه اطلاعات غیرضروری را برای هر درخواست بارگذاری کند.
مستندات بزرگ را میتوان داخل references/ قرار داد و فقط در شرایط مرتبط خواند.
شرایط پایان کار دارد
Agent باید بداند چه زمانی کار واقعاً تمام شده است.
مثلاً:
Finish only after all validation checks pass.یا:
If required information is unavailable, report the missing information instead of inventing it.رفتار در شرایط خطا مشخص است
مثلاً:
If a source cannot be verified:
- do not present the claim as confirmed
- clearly mark the uncertainty
- do not invent a replacement sourceاین بخشها باعث میشوند Skill قابل اعتمادتر شود.
چه چیزهایی را نباید داخل Skill قرار دهیم؟
هر قانون و Promptی ارزش تبدیل شدن به Skill ندارد.
Skill زمانی منطقی است که Workflow تکرارشونده و قابل تعریف باشد.
بهتر است این موارد را بدون دلیل داخل Skill قرار ندهید:
- درخواستهای کاملاً یکبارمصرف
- اطلاعاتی که دائماً تغییر میکنند
- توضیحات غیرضروری طولانی
- Promptهایی که Workflow مشخصی ندارند
- قوانین متناقض
- اطلاعاتی که هیچ ارتباطی با وظیفه Skill ندارند
- کل مستندات یک پروژه بدون نیاز واقعی
همچنین بهتر است Skill را برای جبران ضعف یک Prompt ساده بیشازحد پیچیده نکنید.
هرچه Skill بزرگتر شود، نگهداری، تست و Debug کردن آن نیز دشوارتر خواهد شد.
Skill چگونه انتخاب و اجرا میشود؟
یکی از ویژگیهای مهم Skills این است که در سیستمهای پشتیبان میتوانند براساس درخواست کاربر انتخاب شوند.
فرض کنید Agent این Skillها را در اختیار دارد:
seo-article-writer
code-review
presentation-builder
financial-reportکاربر میگوید:
این Pull Request را قبل از Merge بررسی کن.براساس نام و Descriptionها، Agent میتواند تشخیص دهد:
code-reviewبه احتمال زیاد Skill مناسب این درخواست است.
سپس Agent دستورهای کامل آن Skill را میخواند و Workflow را اجرا میکند.
به همین دلیل description یکی از مهمترین قسمتهای طراحی Skill است.
آیا چند Skill میتوانند با هم استفاده شوند؟
بله.
یکی از ویژگیهای مهم Agent Skills، قابل ترکیب بودن آنها است.
مثلاً برای ساخت یک گزارش ممکن است Agent از این Skillها استفاده کند:
research
data-analysis
chart-design
report-writingهر Skill مسئول بخش مشخصی از Workflow است.
بهجای ساخت یک Skill عظیم مثل:
everything-skillمعمولاً بهتر است چند Skill تخصصی طراحی کنید.
مثلاً یک سیستم تولید محتوا میتواند شامل این Skillها باشد:
topic-research
seo-article
fact-check
image-brief
social-captionاین معماری مدیریت و توسعه سیستم را سادهتر میکند.
اگر بعداً فقط قوانین Fact Check تغییر کنند، کافی است Skill مربوط به همان بخش را اصلاح کنید.
Skill چه تفاوتی با Custom GPT دارد؟
Skill و Custom GPT میتوانند در بعضی کاربردها شبیه به نظر برسند، اما دقیقاً یکسان نیستند.
| Skill | Custom GPT |
|---|---|
| یک قابلیت یا Workflow مشخص | یک دستیار سفارشی کامل |
| معمولاً قابل ترکیب با Skillهای دیگر | معمولاً تنظیمات و رفتار پایه یک Assistant را مشخص میکند |
| برای یک وظیفه تخصصی مناسب است | برای ساخت دستیار اختصاصی مناسب است |
| میتواند فقط هنگام نیاز استفاده شود | معمولاً رفتار کلی Assistant را تعیین میکند |
برای مثال:
Custom GPT:
دستیار بازاریابی شرکت
Skills:
- instagram-caption
- seo-article
- campaign-analysis
- email-copywritingدر این ساختار، یک Assistant میتواند چند Skill تخصصی در اختیار داشته باشد.
بنابراین Skill و Custom GPT لزوماً جایگزین هم نیستند.
Skill چه تفاوتی با MCP دارد؟
MCP و Skill نیز دو مفهوم متفاوت ولی مکمل هستند.
فرض کنید یک MCP Server به Agent اجازه میدهد به سیستم فروش شرکت دسترسی داشته باشد.
این سیستم ممکن است Toolهایی مانند موارد زیر فراهم کند:
get_orders
get_customer
create_ticket
send_invoiceاین Toolها به Agent قابلیت انجام عملیات میدهند.
اما Skill میتواند مشخص کند برای درخواست:
گزارش مشتری ناراضی را آماده کن.چه Workflowای اجرا شود:
1. اطلاعات مشتری را دریافت کن.
2. سفارشهای اخیر را بررسی کن.
3. تیکتهای پشتیبانی را بخوان.
4. مشکلات تکراری را پیدا کن.
5. یک خلاصه مدیریتی تولید کن.بنابراین بهشکل ساده:
MCP = دسترسی و عملیات
Skill = روش انجام Workflowیک Skill میتواند توضیح دهد Toolهای ارائهشده از طریق MCP در چه زمانی و با چه ترتیبی استفاده شوند.
چطور Skill حرفهایتری بسازیم؟
بعد از ساخت نسخه اولیه، بهتر است Skill را مانند یک محصول نرمافزاری بهبود دهید.
با درخواستهای واقعی تست کنید
اگر Skill شما برای Code Review است، فقط یک مثال ایدهآل تست نکنید.
سناریوهای مختلف بسازید:
- Pull Request کوچک
- Pull Request بسیار بزرگ
- تغییر امنیتی
- تغییر فقط Documentation
- کد ناقص
- درخواست مبهم
- پروژهای که تست ندارد
بررسی کنید Skill چه زمانی بهدرستی عمل میکند و چه زمانی دچار مشکل میشود.
Failure Caseها را پیدا کنید
فرض کنید مدل همیشه فراموش میکند Security Check انجام دهد.
بهجای اضافه کردن چندین جمله پراکنده، Workflow را واضحتر کنید:
Step 1 must always be security review.
Do not continue to performance review before completing the security review.Skill را Version Control کنید
چون Skill مجموعهای از فایلهای متنی است، میتوانید آن را در Git نگهداری کنید.
مثلاً:
v1
- initial workflow
v2
- added security validation
v3
- improved output formatVersion Control کمک میکند بدانید:
- چه چیزی تغییر کرده است؟
- چه کسی آن را تغییر داده است؟
- چه زمانی تغییر کرده است؟
- آیا نسخه جدید واقعاً بهتر عمل میکند؟
امنیت Skillها را جدی بگیرید
Skill میتواند بسیار قدرتمند باشد؛ مخصوصاً اگر به Script، فایل، Shell، اینترنت یا سرویسهای خارجی دسترسی داشته باشد.
به همین دلیل، Skill ناشناس را نباید بدون بررسی اجرا کرد.
ریسکهای احتمالی شامل موارد زیر هستند:
- اجرای Command مخرب
- خواندن فایلهای حساس
- ارسال اطلاعات به یک سرور خارجی
- Prompt Injection
- سوءاستفاده از Token یا Credential
- تغییر فایلهای پروژه
- اجرای Script آلوده
- دسترسی بیشازحد به ابزارها
SKILL.md، پوشه scripts و تمام فایلهای اجرایی روی Agentی که به اطلاعات حساس شما دسترسی دارد فعال نکنید.پیش از نصب یک Skill شخص ثالث بهتر است حداقل این موارد را بررسی کنید:
- فایل
SKILL.md - تمام Scriptها
- Commandهای Shell
- URLهای خارجی
- Permissionهای موردنیاز
- فایلهایی که Skill اجازه خواندن دارد
- اطلاعاتی که ممکن است به سرویس دیگری ارسال شوند
یک مثال واقعی؛ Skill مخصوص تولید محتوای سایت
فرض کنیم یک سایت میخواهد تمام نویسندگان هوش مصنوعی از قوانین یکسانی استفاده کنند.
ساختار Skill میتواند اینگونه باشد:
website-content/
├── SKILL.md
├── references/
│ ├── editorial-guide.md
│ ├── seo-guide.md
│ └── brand-tone.md
└── assets/
└── article-template.mdفایل SKILL.md:
---
name: website-content
description: Research and create publication-ready Persian articles using the website's editorial, SEO and brand standards. Use when creating or updating articles for the website.
---
# Website Content
## Workflow
1. Identify the user's search intent.
2. Research the topic.
3. Prefer primary and official sources.
4. Verify time-sensitive claims.
5. Read the editorial rules in references/editorial-guide.md.
6. Read SEO requirements in references/seo-guide.md.
7. Write the article using assets/article-template.md.
8. Check the brand tone using references/brand-tone.md.
9. Run the final checklist.
## Rules
- Never invent a URL.
- Never invent statistics.
- Clearly state uncertainty.
- Avoid keyword stuffing.
- Prefer useful examples over generic explanations.
## Final checks
Before delivery:
- Check title.
- Check slug.
- Check meta description.
- Check headings.
- Check links.
- Check sources.
- Check factual claims.بعد از ساخت چنین Skillی، دیگر لازم نیست تمام قوانین تولید محتوا را در هر Chat دوباره توضیح دهید.
Skill چه زمانی واقعاً ارزش ساختن دارد؟
یک قانون ساده وجود دارد:
اگر یک Prompt را بارها کپی میکنید، احتمالاً آن Workflow گزینه خوبی برای Skill شدن است.
Skill مخصوصاً زمانی ارزشمند است که:
- کار چند مرحله دارد.
- باید همیشه با ترتیب مشخص انجام شود.
- خروجی قالب مشخص دارد.
- چند نفر باید از یک استاندارد استفاده کنند.
- منابع ثابت برای انجام کار وجود دارند.
- خطا در انجام مراحل هزینهبر است.
- Prompt اصلی بیشازحد طولانی شده است.
- میخواهید Workflow را Version Control کنید.
اما برای سؤالهایی مانند:
پایتخت ژاپن چیست؟ساخت Skill مزیت خاصی ایجاد نمیکند.
بهترین روش برای طراحی Skill
برای شروع، Skill را بیشازحد پیچیده نکنید.
این مراحل معمولاً کافی هستند:
- یک کار تکراری انتخاب کنید.
- ورودی موردنیاز را مشخص کنید.
- مراحل انجام کار را بنویسید.
- قوانین ممنوعه را مشخص کنید.
- قالب خروجی را تعریف کنید.
- چکلیست نهایی اضافه کنید.
- آن را روی چند مثال واقعی تست کنید.
- خطاهای تکراری را اصلاح کنید.
- فقط در صورت نیاز Reference یا Script اضافه کنید.
Template آماده برای ساخت Skill
برای شروع سریع میتوانید از این Template استفاده کنید:
---
name: my-skill
description: Describe what this skill does and when it should be used.
---
# Skill Name
## Goal
Explain the main goal of this skill.
## When to use
Use this skill when:
- condition one
- condition two
- condition three
## Inputs
The skill may require:
- input one
- input two
## Workflow
1. First step.
2. Second step.
3. Third step.
4. Validate the result.
## Rules
- Never invent missing information.
- Follow the required output structure.
- Use reliable sources when verification is needed.
## Output format
Return:
### Result
...
### Notes
...
## Final checks
Before finishing:
- Check requirement one.
- Check requirement two.
- Check requirement three.این Template برای شروع کافی است و بعداً میتوانید آن را متناسب با پروژه خود گسترش دهید.
Skill خوب را چطور تست کنیم؟
ساخت Skill پایان کار نیست.
برای اینکه مطمئن شوید Skill واقعاً کاربردی است، بهتر است حداقل سه نوع تست انجام دهید.
تست فعال شدن
درخواستهایی ایجاد کنید که Skill باید برای آنها استفاده شود.
مثلاً:
این مقاله را از نظر SEO بررسی کن.سپس درخواستهایی ایجاد کنید که Skill نباید برای آنها استفاده شود:
پایتخت فرانسه چیست؟این تست کمک میکند بفهمید Description بیشازحد کلی یا بیشازحد محدود نوشته شده است یا نه.
تست Workflow
بررسی کنید Agent مراحل Skill را واقعاً به ترتیب انجام میدهد یا خیر.
مثلاً اگر مراحل شما اینها هستند:
دیدگاهها و پرسشها