پرش به محتوای اصلی
پرش به محتوای مقاله

«ساده‌سازی رویه‌های پیچیده»؛ هدف از قابلیت Skills در ابزار کدنویسی کلود

·۲۵ مرداد ۱۴۰۵۱۸ دقیقه مطالعه۳ بازدید
راهنما
آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code
آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

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

تصور کنید با تایپ یک دستور ساده مثل /deploy-staging در ترمینال، یک توالی عملیاتی فعال شود که در آن Claude Code به‌طور خودکار تغییرات کد (diff) را استخراج کند، تست‌ها را اجرا نماید، ایمیج داکر را بسازد و آن را بدون دخالت دستی به سرور بفرستد. این سطح از اتوماسیون با معرفی قابلیت Skills (مهارت‌ها) در Claude Code ممکن شده است تا این ابزار از یک دستیار عمومی به یک ابزار تخصصی و شخصی‌سازی شده برای هر پروژه تبدیل شود.

این قابلیت در واقع یک لایه شخصی‌سازی است که اجازه می‌دهد رویه‌های سخت‌گیرانه‌ای تعریف کنید تا مدل دقیقاً همان مراحل را طی کند. این رویکرد ریسک توهم (Hallucination) — شبیه به دوستی که خاطره‌ای را با اطمینان اما اشتباه تعریف می‌کند — را که در پرامپت‌های باز و بدون ساختار وجود دارد، به‌شدت کاهش می‌دهد. همان‌طور که در پوشش پیشین ما از اتوماسیون مدیریت فایل توسط کاربران غیرفنی دیدیم، حالا Skills عقربه را به سمت اتوماسیون حرفه‌ای مهندسی نرم‌افزار حرکت داده است. در حالی که اتوماسیون‌های پایه صرفاً فایل‌ها را مدیریت می‌کنند، Skills کل چرخه حیات نرم‌افزار را مدیریت می‌کنند.

اکوسیستم افزونه‌ها

برای درک درست Skills، باید آن را از سایر نقاط توسعه و گسترش در Claude Code متمایز کرد. طبق مستندات، این ابزار از چهار مکانیزم متمایز برای مدیریت زمینه (Context) استفاده می‌کند که در لحظات مختلفی وارد جریان پردازش می‌شوند:

  • CLAUDE.md: دانش دائمی پروژه که در هر پرامپت بارگذاری می‌شود. هزینه توکن بالایی دارد اما برای تعریف قوانین کلی، الگوهای کدنویسی و داده‌های دسترسی ضروری است.
  • Skills: رویه‌های برحسب تقاضا که با دستورات / یا قصد خاص کاربر فعال می‌شوند. تا زمان فراخوانی، هزینه توکنی ندارند و برای رویه‌های گام‌به‌گام، استقرارها (Deployments) و چک‌لیست‌ها ایده‌آل هستند.
  • Hooks: اسکریپت‌های رویدادمحور (مثلاً هنگام ذخیره فایل یا پایان جلسه) که به‌طور خودکار از طریق bash اجرا می‌شوند. این‌ها برای Linting، کامیت‌های خودکار یا مسدود کردن دستورات خطرناک به کار می‌روند.
  • MCP (پروتکل زمینه مدل): ادغام‌های ابزارمحور برای APIهای خارجی، API گیت‌هاب و پایگاه‌داده‌ها. هزینه این بخش به حجم پاسخ دریافتی بستگی دارد.

آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code

کالبدشکافی یک Skill

مهارت‌ها در دایرکتوری .claude/skills/ قرار می‌گیرند. Claude Code به‌طور خودکار این پوشه، دایرکتوری‌های والد تا ریشه مخزن (Repo Root) و همچنین پوشه سراسری ~/.claude/skills/ را اسکن می‌کند تا مهارت‌ها را شناسایی کند. بر اساس بررسی فنی، هر تغییر در فایل SKILL.md بدون نیاز به ری‌استارت، در همان جلسه جاری اعمال می‌شود.

هر مهارت نیازمند یک زیرپوشه اختصاصی است که حاوی یک فایل SKILL.md باشد. این فایل به دو بخش تقسیم می‌شود: یک بخش متادیتای YAML در ابتدا (Frontmatter) و بدنه دستورالعمل‌ها به زبان Markdown.

آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code

آموزش ساخت دستورات اسلش سفارشی در Claude Code - گام به گام

جزئیات متاداتا (Frontmatter)

فیلدهای کلیدی در بخش YAML رفتار مهارت را به‌دقت کنترل می‌کنند:

  • name: نامی که در منوی /skills نمایش داده می‌شود. اگر تعریف نشود، به‌طور پیش‌فرض نام پوشه (با جایگزینی خط تیره با فاصله) قرار می‌گیرد.
  • description: یک فیلد حیاتی (تا ۱۵۳۶ کاراکتر) که شرح می‌دهد مهارت چه کاری انجام می‌دهد. Claude از این متن برای فعال‌سازی خودکار مهارت استفاده می‌کند.
  • when_to_use: زمینه اضافی برای زمانی که مهارت باید فعال شود.
  • argument-hint: راهنمایی برای تکمیل خودکار (مثلاً [issue-num] [branch]).
  • arguments: نگاشت متغیرهای نام‌گذاری شده (مثلاً [issue_num, branch]) که در قالب $issue_num و $branch قابل دسترسی هستند.
  • allowed-tools: ابزارهایی که در زمان اجرای مهارت، نیازی به تایید کاربر ندارند (مثلاً Bash(git *) یا Bash(gh *)).
  • disallowed-tools: فیلدی پیشرفته برای مسدود کردن ابزارهای خاص در حین اجرای مهارت.
  • model: امکان تغییر مدل سراسری (مثلاً انتخاب بین sonnet ،opus یا haiku).
  • effort: تعیین سطح تلاش مدل که شامل مقادیر low ،medium ،high ،xhigh یا max است.
  • disable-model-invocation: اگر true باشد، مهارت نمی‌تواند به‌طور خودکار فعال شود و حتماً نیاز به دستور دستی / دارد.
  • user-invocable: اگر false باشد، مهارت از منوی / پنهان شده و فقط توسط Claude در پس‌زمینه استفاده می‌شود.
  • paths: الگوهای Glob (مثلاً src/**/*.ts) که باعث می‌شوند مهارت فقط هنگام کار با فایل‌های منطبق بارگذاری شود.
  • shell: تعیین نوع شل؛ bash (پیش‌فرض) یا powershell برای کاربران ویندوز.

تزریق پویای زمینه

قدرتمندترین ویژگی Skills، «تزریق پویای زمینه» (Dynamic Context Injection) است. با استفاده از سینتکس خاص (مثلاً !'gh pr diff $0')، ابزار یک دستور شل را اجرا کرده و خروجی زنده را پیش از آنکه مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب می‌دهد — درخواست را ببیند، به پرامپت تزریق می‌کند.

آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code

به این ترتیب، هوش مصنوعی دیگر نیازی به حدس زدن وضعیت مخزن ندارد و خروجی واقعی گیت یا لاگ‌های سرور را به‌عنوان یک پیش‌وند واقعی (Factual Prefix) به دستورالعمل‌های خود دریافت می‌کند. این فرآیند هم‌گام (Synchronous) است؛ یعنی اگر دستور زمان‌بر باشد (مثل بیلد کامل پروژه)، کاربر باید منتظر بماند. برای عملیات طولانی، بهتر است دستور به عنوان یک گام در بدنه مهارت اجرا شود، نه از طریق تزریق.

توسعه‌دهندگان می‌توانند از آرگومان‌های نام‌گذاری شده (مثلاً arguments: [issue_num, branch]) استفاده کنند تا این دستورات را پارامتریک کنند و فراخوانی‌هایی مثل /fix-github-issue 1234 main را ممکن سازند.

آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code

متغیرهای داده زنده

هنگام تزریق داده‌ها، متغیرهای محیطی متعددی در دسترس هستند:

  • $ARGUMENTS: تمام آرگومان‌ها به‌صورت یک رشته واحد.
  • $0, $1: میان‌بر برای آرگومان اول و دوم.
  • $variable_name: متغیرهای نام‌گذاری شده که در فیلد arguments تعریف شده‌اند.
  • ${CLAUDE_SESSION_ID}: شناسه جلسه جاری.
  • ${CLAUDE_SKILL_DIR}: مسیر مطلق دایرکتوری مهارت.
  • ${CLAUDE_EFFORT}: سطح تلاش فعلی مدل.

عامل‌های فرعی ایزوله از طریق Context Forking

برای کارهای سنگین، Skills از قابلیت context: fork پشتیبانی می‌کنند. این ویژگی یک عامل (Agent) فرعی و ایزوله ایجاد می‌کند که بدون تاریخچه گفتگوهای فعلی عمل می‌کند تا زمینه اصلی چت در طول بازسازی‌های گسترده یا پژوهش‌های عمیق شلوغ نشود. نتیجه نهایی سپس به عنوان پاسخ مهارت به جلسه اصلی بازگردانده می‌شود.

آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code

کاربران می‌توانند نوع عامل را برای این فورک‌ها مشخص کنند:

  • Explore: دسترسی فقط-خواندنی (Glob, Grep, Read و Bash فقط-خواندنی) برای تحلیل کد و جست‌وجو.
  • Plan: دسترسی فقط-خواندنی با تمرکز بر طراحی راهکارها بدون پیاده‌سازی.
  • General-purpose: دسترسی کامل خواندن/نوشتن برای کارهای پیچیده که نیازمند تغییر فایل‌ها در محیط ایزوله است.

نکته: یک مهارت با context: fork باید یک وظیفه (Task) مشخص برای انجام تعریف کند. اگر فقط حاوی مستندات مرجع باشد و اکشنی نداشته باشد، نتیجه خالی برمی‌گرداند.

نمونه‌های کاربردی پیاده‌سازی

چند مورد استفاده با ارزش بالا، کاربردی بودن این سیستم را نشان می‌دهد:

  • summarize-changes: یک مهارت برای گزارش روزانه کار. این ابزار git diff --stat HEAD و git log --oneline -5 را اجرا می‌کند تا یک خلاصه موجز برای مدیران، لیستی از کارهای تکمیل شده و یک پیام Conventional Commit پیشنهادی تولید کند.
  • deploy-staging: یک مهارت با ریسک بالا که از disable-model-invocation: true استفاده می‌کند. این مهارت ابتدا شاخه (Branch) و تگ‌های فعلی را بررسی می‌کند، npm run test -- --ci را اجرا می‌کند، ایمیج داکر می‌سازد، آن را به رجیستری می‌فرستد و کوبرنتیز را از طریق kubectl set image به‌روزرسانی می‌کند.
  • generate-migration: یک مهارت دیتابیس که models.py و تاریخچه مهاجرت‌ها را تحلیل می‌کند. تغییرات را پیشنهاد می‌دهد، makemigrations را اجرا می‌کند و SQL نهایی را از طریق sqlmigrate ارائه می‌دهد، در حالی که درباره محدودیت‌های NOT NULL یا عملیات DROP هشدار می‌دهد.
  • explain-code: استفاده از context: fork و عامل Explore. کل فایل را می‌خواند و وابستگی‌ها را ردیابی می‌کند تا نحوه عملکرد یک تابع، شامل حالت‌های خاص (Edge Cases) و پیشنهادات بازسازی را بدون آلوده کردن جلسه اصلی توضیح دهد.
  • setup-project: یک مهارت برای Onboarding که نسخه‌های Node.js، Python و Docker را بررسی می‌کند، فایل .env.example را به .env کپی می‌کند، docker compose up -d را اجرا کرده و مهاجرت‌های دیتابیس را انجام می‌دهد.

آموزش گام‌به‌گام ساخت دستورات اسلش سفارشی در Claude Code

محدودیت‌های فنی و چرخه حیات

مهارت‌ها به‌طور دائمی در زمینه باقی نمی‌مانند. پس از فراخوانی، تا زمان فشرده‌سازی خودکار جلسه باقی می‌مانند. در هنگام فشرده‌سازی، تنها ۵۰۰۰ توکن اول یک مهارت حفظ می‌شود. اگر مهارت پس از یک جلسه طولانی رفتار درستی نداشت، کاربر باید دوباره آن را فراخوانی کند.

همچنین تمام مهارت‌های فعال یک بودجه مشترک ۲۵ هزار توکنی دارند. تکیه بیش از حد به تزریق‌های پویای حجیم می‌تواند این حد را سریعاً پر کند. برای کاهش این مشکل، توسعه‌دهندگان می‌توانند از فایل‌های reference.md در پوشه مهارت استفاده کنند؛ این فایل‌ها به‌طور خودکار بارگذاری نمی‌شوند اما مدل در صورت نیاز می‌تواند صراحتاً آن‌ها را باز کند.

عیب‌یابی مشکلات رایج

  • عدم نمایش مهارت: مطمئن شوید ساختار دقیقاً .claude/skills/skill-name/SKILL.md است. فایلی که مستقیماً در .claude/skills/ قرار گیرد کار نمی‌کند. همچنین بررسی کنید فایل با جداکننده YAML یعنی --- شروع شود.
  • فعال‌سازی بیش از حد: توصیف (description) بیش از حد کلی است. توصیف را محدودتر کنید یا کلمات مترادف خاصی را به when_to_use اضافه کنید.
  • خروجی خالی تزریق: دستور را در یک ترمینال استاندارد تست کنید (مثلاً بررسی کنید gh لاگین شده باشد). از مدیریت خطا در مهارت استفاده کنید: !'command 2>/dev/null || echo "Error message"'.
  • خروجی خالی Fork: مطمئن شوید مهارت حاوی یک دستورالعمل مشخص (مثلاً "Research X") است، نه اینکه صرفاً یک سند مرجع باشد.

تحلیل: تغییر در جریان کاری توسعه‌دهنده

این تحول، نقش توسعه‌دهنده را از یک «مهندس پرامپت» به یک «معمار جریان کار» (Workflow Architect) تغییر می‌دهد. به‌جای اینکه هر بار یک فرآیند را توصیف کند، مهندس آن فرآیند را در خودِ مخزن کد رمزگذاری می‌کند. این کار به‌طور موثری کدبیس را به یک رابط برنامه‌پذیر برای هوش مصنوعی تبدیل می‌کند.

در سطح گسترده‌تر، این رویکرد نشان‌دهنده حرکت به سمت «عاملیت قطعی» (Deterministic Agency) است. با محدود کردن هوش مصنوعی به یک چک‌لیست مشخص در SKILL.md و ارائه داده‌های زنده از طریق تزریق، غیرقابل‌پیش‌بینی بودن مدل‌های زبانی به حداقل می‌رسد. هوش مصنوعی دیگر فقط کد پیشنهاد نمی‌دهد، بلکه یک SOP (رویه استاندارد عملیاتی) تایید شده شرکتی را اجرا می‌کند.

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

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

چرا این موضوع مهم است؟

این سیستم با تکیه بر اعتبار رویه‌های استاندارد شرکت‌ها (SOP)، خطای انسانی و توهم مدل را در محیط‌های عملیاتی کاهش می‌دهد. در نتیجه، استقرار ابزارهای هوش مصنوعی در خط تولیدهای حساس نرم‌افزاری با ریسک بسیار کمتری همراه خواهد بود.

تأثیر برای ایران

توسعه‌دهندگان ایرانی که از Claude Code استفاده می‌کنند، می‌توانند با تعریف Skills، استانداردهای کدنویسی تیم خود را به‌طور سخت‌گیرانه به مدل دیکته کنند و وابستگی به پرامپت‌های طولانی را حذف کنند.

·نگاه ما
تحریریه دات‌هوش

این قابلیت نقش توسعه‌دهنده را از «مهندس پرامپت» به «معمار گردش‌کار» تغییر می‌دهد. با کدگذاری رویه‌ها در خودِ مخزن، کدبیس به یک رابط برنامه‌پذیر برای هوش مصنوعی تبدیل می‌شود. در واقع، ما شاهد گذار به «عامل‌مندی قطعی» (Deterministic Agency) هستیم که در آن پیش‌بینی‌ناپذیری مدل‌های زبانی با چک‌لیست‌های سخت‌گیرانه و داده‌های زنده مهار می‌شود.

منابع

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

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.