تصور کنید یک فایل متنی ساده در پروژه شما بتواند یک جریان کاری پیچیده و چندمرحلهای را در کدنویسی فعال کند. از اواخر ژوئیه ۲۰۲۶، ابزار Claude Code دستورات سریع (Slash Commands) را در چارچوب گستردهتری به نام «مهارتها» (Skills) ادغام کرد تا میانبرهای ساده به ابزارهای پیشرفته اتوماسیون تبدیل شوند. این حرکت به این معناست که دستورات سفارشی — که ارزانترین اتوماسیون در دسترس هستند — اکنون یکپارچه شدهاند. تنها یک فایل مارکداون و بدون هیچ پیکربندی اضافی، تمام آنچه برای تغییر نحوه تعامل هوش مصنوعی با کد شما نیاز است را فراهم میکند.
این بهروزرسانی، در ادامه پوششهای قبلی ما درباره نحوه استفاده Anthropic از فناوریهایی مانند پروتکل زمینه مدل (MCP) برای ایمنسازی دادههای مستاجران SaaS است، اما این بار تمرکز بر تجربه محلی توسعهدهنده است. برای اکثر کاربران، این انتقال بدون دردسر است: فایلهای موجود در مسیر .claude/commands/ همچنان کار میکنند، اما حالا تحت همان منطقی عمل میکنند که پوشه قدرتمندتر .claude/skills/ از آن پیروی میکند. این ادغام دلیل رفتارهایی است که پیشتر شبیه به باگ به نظر میرسیدند؛ مواردی مثل شکست در باز کردن آرگومانها یا ناپدید شدن دسترسیهای ابزاری (Tool Grants) در میانه یک تسک. این رویکرد در راستای افزایش دقت ابزار است، درست مانند زمانی که حالت /plan در Claude Code توانست نرخ خطای بازسازی کد را به طور چشمگیری کاهش دهد.
تفاوت این دو را اینطور ببینید: یک دستور سریع مثل یک یادداشت چسبناک (Sticky Note) است، اما یک مهارت شبیه به یک دفترچه راهنمای کامل است. یک دستور صرفاً یک میانبر است، در حالی که یک مهارت یک «بسته» است. هر دو را میتوان با دستوراتی مثل /fix-issue فعال کرد، اما مهارتها به توسعهدهنده اجازه میدهند فایلهای پشتیبان، قالبها و اسناد مرجعی را ضمیمه کنند که مدل فقط در زمان نیاز آنها را بارگذاری میکند. این کار باعث میشود توکن (Token) — تکههای کوچکی از متن که مدل مانند برشهای یک کیک میخورد — بیهوده مصرف نشود و نویز کلی کاهش یابد. اگر یک دستور و یک مهارت نام یکسانی داشته باشند، اولویت با مهارت است. یک قانون کاربردی برای توسعهدهندگان این است که میانبرهای شخصی و موقت را در commands/ نگه دارند و هر چیزی را که قصد رشد دادن یا به اشتراک گذاشتنش را دارند به skills/ منتقل کنند.
مکانیزم اجرای مهارتها
بر اساس بررسی فنی این سیستم، چندین رفتار کلیدی برای اتوماسیون معرفی شده است:
- آرگومانهای پویا: عبارت
$ARGUMENTSتمام رشته ورودی کاربر را میگیرد. برای مثال، تایپ کردن/fix-issue 123 high-priorityباعث میشود مقدار$ARGUMENTSبرابر با «123 high-priority» شود. - دسترسی نمایه-دار: جایگذارهایی مثل
$0(یا$ARGUMENTS[0]) اجازه دسترسی دقیق و مبتنی بر صفر (Zero-based) به کلمات را میدهند که با نقلقولهای شل (Shell-quoted) سازگار است. اگر کاربر بنویسد/migrate-component "search bar" React Vueآنگاه$0برابر با "search bar"،$1برابر با "React" و$2برابر با "Vue" خواهد بود. - منطق جایگزینی: مقادیر گمشده بسته به نوعشان متفاوت عمل میکنند. یک جایگذار نمایه-دار که آرگومان متناظری ندارد (مثلاً
$2در حالی که فقط یک آرگومان پاس شده)، بدون تغییر در متن باقی میماند. اما یک جایگذار نامدار که در فرانتمتر (Frontmatter) تعریف شده باشد، به یک رشته خالی تبدیل میشود. برای درج یک علامت دلار و عدد واقعی، مانند$1.00باید از کاراکتر Escape استفاده کنید:\$1.00. - ایمنی بازگشتی (Fallback): اگر آرگومانهایی پاس شوند اما فایل حاوی جایگذار
$ARGUMENTSنباشد، Claude Code عبارتARGUMENTS: <your input>را به انتهای متن اضافه میکند تا اطمینان حاصل شود که ورودی کاربر بهطور بیصدا نادیده گرفته نمیشود. - تزریق دادههای زنده: عملگر
!اجازه میدهد توسعهدهندگان دستورات شل — مانند!git diff HEAD— را پیش از آنکه پرامپت به مدل برسد، اجرا کنند. این یک جایگزینی تک-مرحلهای است؛ خروجی یک دستور نمیتواند حاوی یک جایگذار!...دیگر باشد. این مکانیسم تضمین میکند که کلود دادههای واقعی را ببیند، نه خلاصهای از آنها یا درخواستی برای واکشی دادهها، که در نتیجه یک مرحله رفتوبرگشت ابزار (Tool Round-trip) حذف میشود. - مجوزهای ابزاری تک-مرحلهای: بخش
allowed-toolsدر فرانتمتر، یک مجوز دسترسی موقت (مثلاًBash(git add:*)یاBash(git commit:*)) برای همان نوبتی (Turn) که مهارت فراخوانی شده، صادر میکند. این مجوزها به محض اینکه کاربر پیام بعدی را ارسال کند، ناپدید میشوند، حتی اگر محتوای مهارت همچنان در زمینه (Context) باقی مانده باشد. - گسترش مسیر: متغیر
${CLAUDE_SKILL_DIR}هم در بدنه متن و هم درallowed-toolsگسترش مییابد. این قابلیت به یک مهارت اجازه میدهد اسکریپت خاصی را همراه خود ارسال کند و اجرای دقیق همان اسکریپت را بدون نیاز به استفاده از علامت ستاره (Wildcard) پیشتأیید کند.
ارکستراسیون و فراخوانی
کنترل روی اینکه چه کسی مهارت را فعال کند اکنون بسیار دقیق است. به طور پیشفرض، هم کاربر و هم مدل میتوانند هر مهارتی را اجرا کنند، اما دو سوئیچ در فرانتمتر این وضعیت را تغییر میدهند:
۱. disable-model-invocation: true: فقط کاربر میتواند مهارت را فعال کند. این برای کارهایی که دارای اثرات جانبی (Side Effects) هستند و زمانبندی در آنها حیاتی است، مانند /deploy یا /commit یا /send-release-notes ضروری است. این کنترل دقیق بر اجرای مهارتها، پاسخی به نگرانیاتی است که پیشتر در مورد آپدیتهای پنهان Claude Code و فعال شدن استقلال عاملهای هوش مصنوعی بدون اجازه کاربر مطرح شده بود.
۲. user-invocable: false: فقط مدل میتواند مهارت را بارگذاری کند. این حالت برای دانش پسزمینه که اقدام فعال کاربر را نمیطلبد، مانند مهارت legacy-system-context ایدهآل است.
یک تغییر مهم دیگر در نحوه ماندگاری محتوا رخ داده است. وقتی مهارتی فراخوانده میشود، محتوای رندر شده آن به عنوان «دستورات جاری» (Standing Orders) برای بقیه جلسه در گفتگو باقی میماند. اجرای مجدد یک مهارت مشابه، به جای تکرار کل متن، تنها یک یادداشت کوتاه مبنی بر «قبلاً بارگذاری شده» اضافه میکند.
این ماندگاری دو پیامد دارد: اول، هر خط در یک مهارت یک هزینه توکن تکراری است؛ بنابراین توسعهدهندگان باید روی «چه کاری» تمرکز کنند و از نوشتن مقالات طولانی درباره «چرایی» بپرهیزند. دوم، دستورالعملها باید به صورت قوانین دائمی نوشته شوند (مثلاً «همیشه بعد از ویرایش Y، دستور X را اجرا کن») نه به صورت مراحل یکباره. توجه داشته باشید که پس از فشردهسازی زمینه (Context Compaction)، مهارتهای اخیر در یک بودجه توکنی ثابت مجدداً پیوست میشوند، به این معنی که مهارتهای قدیمیتر ممکن است در نهایت حذف شوند.
کاربرد استراتژیک
این معماری یک سلسلهمراتب واضح برای سازماندهی پروژه ایجاد میکند:
- CLAUDE.md: برای حقایقی که مدل باید همیشه بداند (در قالب ورودیهای تکخطی).
- مهارتها (Skills): برای فرآیندهایی که مدام تکرار میشوند (که شما معمولاً کپی-پیست میکنید) یا منابع مرجعی که برای پنجره زمینه عمومی بسیار حجیم هستند (با استفاده از فایلهای پشتیبان که در
SKILL.mdبه آنها ارجاع داده شده است). - قلابها (Hooks): برای هر چیزی که باید هر بار به صورت قطعی (Deterministic) رخ دهد. در حالی که مهارتها متکی به انتخاب مدل برای امتثال هستند، قلابها سوال نمیپرسند و اجرا میشوند.
برای جریان کار توسعهدهنده، «نقطه بهینه» اتوماسیون تغییر کرده است. دیگر نیازی نیست بین یک نام مستعار (Alias) سریع و یک جریان کاری پیچیده agentic انتخاب کنید؛ سیستم مهارتها این شکاف را پر میکند و به مدل اجازه میدهد اگر گفتگو با توصیف یک مهارت مطابقت داشت، آن را به طور خودکار فعال کند.
اگر یک مهارت پروژه با نام یکی از دستورات سیستمی باندل شده (مانند code-review) همنام باشد، اولویت با مهارت پروژه است. این موضوع به تیمها اجازه میدهد تا رفتارهای پیشفرض هوش مصنوعی را با استانداردهای داخلی خود جایگزین کنند.
گام بعدی شما
- دستورات تکراری را از
.claude/commands/به.claude/skills/منتقل کنید تا از قابلیتهای تزریق داده!بهره ببرید. - برای عملیات حساس (مانند Deploy)، حتماً
disable-model-invocationرا فعال کنید تا مدل آن را خارج از کنترل کاربر اجرا نکند. - دستورات مهارتها را از حالت «آموزشی» به حالت «قانون جاری» تغییر دهید تا هزینه توکنها بهینه شود.
اما تاثیر این یکپارچگی بر کاهش نرخ توهم در کدهای پیچیده حتی چشمگیرتر است — به تحلیل ما درباره مدلهای استدلالی مراجعه کنید.




گفتگو