فهرست مطالب
- Docker Skills چیست و چرا معرفی آن اهمیت دارد؟
- مهارتهای رسمی Docker چه حوزههایی را پوشش میدهند؟
- مهارتهای Dockerfile و ساخت Image
- مهارت Docker Compose
- مهارتهای Docker Sandboxes
- مهارتهای Docker Agent
- محافظت در برابر عملیات مخرب Docker
- عاملهای هوش مصنوعی چگونه از Docker Skills استفاده میکنند؟
- Docker Skills را چگونه نصب کنیم؟
- نصب Docker Skills با skills CLI
- نصب برای Claude Code، Codex، GitHub Copilot، Gemini CLI و Cursor
- استفاده در Docker Sandboxes و Docker Agent
- مزایای Docker Skills برای توسعهدهندگان چیست؟
- امنیت، بررسی خروجی و بهروزرسانی Docker Skills
- Docker Skills چه معنایی برای آینده عاملهای کدنویسی هوش مصنوعی دارد؟
- جمعبندی
عاملهای هوش مصنوعی بهتدریج از ابزارهایی برای تکمیل کد و پاسخ به پرسشهای برنامهنویسی، به دستیارهایی تبدیل شدهاند که میتوانند بخشهایی از فرایند توسعه نرمافزار را انجام دهند. این عاملها میتوانند ساختار یک پروژه را بررسی کنند، فایلهای پیکربندی را تغییر دهند، فرمانهای مختلف را پیشنهاد دهند و در بعضی محیطها حتی آنها را اجرا کنند.
با این حال، توانایی انجام یک کار با انجام درست، ایمن و مطابق با شیوههای توصیهشده آن کار یکسان نیست. برای مثال، یک عامل کدنویسی ممکن است بتواند Dockerfile تولید کند، اما آیا میداند چه زمانی باید از ساخت چندمرحلهای استفاده کند، چگونه اندازه Image را کاهش دهد، چه ملاحظات امنیتی را رعایت کند یا یک پروژه چندسرویسی را چگونه با Docker Compose ساختاربندی کند؟
Docker برای کاهش این فاصله، مجموعهای رسمی با نام Docker Skills ارائه کرده است. این مجموعه شامل راهنماهای تخصصی و متنبازی است که برای عاملهای کدنویسی هوش مصنوعی طراحی شدهاند و به آنها کمک میکنند وظایف مرتبط با Docker را با دستورالعملهای ساختاریافتهتری انجام دهند.
Docker Skills در حال حاضر حوزههایی مانند Dockerfile، ساخت Image، Docker Compose، Docker Sandboxes و Docker Agent را پوشش میدهد و طبق توضیحات Docker، این مجموعه قرار است در طول زمان توسعه پیدا کند.

Docker Skills چیست و چرا معرفی آن اهمیت دارد؟
Docker Skills را میتوان مجموعهای از دستورالعملهای تخصصی دانست که عاملهای هوش مصنوعی سازگار میتوانند در زمان انجام وظایف مرتبط با Docker از آنها استفاده کنند.
هر Skill در قالب یک پوشه مستقل ارائه میشود و فایل اصلی آن SKILL.md است. این فایل مشخص میکند یک مهارت چه زمانی کاربرد دارد و عامل هنگام استفاده از آن باید چه اصول و دستورالعملهایی را دنبال کند. در کنار این فایل، امکان وجود منابع، فایلهای کمکی یا سایر اجزای موردنیاز نیز وجود دارد.
یکی از ویژگیهای مهم این ساختار، قابلحمل بودن آن است. مهارتها یک بار نوشته میشوند و عاملهایی که از ساختار استاندارد Skill پشتیبانی میکنند، میتوانند آنها را از مسیرهای مشخص پیدا کنند.
در عمل، این موضوع به آن معناست که لازم نیست کاربر برای هر درخواست، تمام جزئیات فنی و قواعد Docker را داخل پرامپت بنویسد. عامل میتواند درخواست را با توضیحات Skillهای نصبشده تطبیق دهد، مهارت مرتبط را شناسایی کند و دستورالعمل آن را هنگام انجام کار مورد استفاده قرار دهد.
برای مثال، اگر از عامل خواسته شود Dockerfile یک پروژه را کوچکتر و ایمنتر کند، عامل سازگار میتواند مهارت مربوط به راهبردهای Build را پیدا کرده و راهنمای تخصصی مرتبط را بارگذاری کند.
این رویکرد میتواند عاملهای هوش مصنوعی را از ابزارهایی با دانش عمومی به ابزارهایی مجهز به دستورالعملهای تخصصیتر برای انجام یک وظیفه مشخص تبدیل کند.

مهارتهای رسمی Docker چه حوزههایی را پوشش میدهند؟
Docker مهارتهای فعلی را براساس محصول و نوع وظیفه دستهبندی کرده است. این دستهبندی از ساختار اولیه پروژه و Dockerfile شروع میشود و تا محیطهای ایزوله، مدیریت عامل و استقرار آن ادامه پیدا میکند.
مهارتهای Dockerfile و ساخت Image
در بخش مربوط به Dockerfile و فرایند Build، دو مهارت اصلی ارائه شده است.
مهارت docker-project-foundations برای راهاندازی و ساختاربندی اولیه یک پروژه Dockerized طراحی شده است. این مهارت زمانی اهمیت بیشتری دارد که پروژه هنوز ساختار مشخص Docker ندارد و عامل باید از نقطه ابتدایی کار را شروع کند.
مهارت docker-build-strategies نیز به راهبردهای ساخت Image اختصاص دارد. هدف آن کمک به عامل برای ایجاد Docker Imageهایی کارآمدتر، ایمنتر و بهینهتر است.
تفکیک این دو مهارت نشان میدهد Docker میان «ایجاد پایههای یک پروژه» و «بهینهسازی فرایند ساخت» تفاوت قائل شده است. این موضوع میتواند باعث شود عامل بهجای استفاده از یک دستورالعمل عمومی برای همه سناریوها، راهنمای مناسب هر مرحله را دریافت کند.
مهارت Docker Compose
برای پروژههایی که چند Container یا سرویس مختلف دارند، مهارت docker-compose-patterns در نظر گرفته شده است.
این مهارت روی ایجاد پیکربندیهای Docker Compose قابل نگهداری و مقاوم تمرکز دارد.
نکته مهم این است که Docker برای استفاده همزمان از چند Skill، ترتیب مشخصی را نیز پیشنهاد میکند. اگر یک پروژه هم به تغییر Dockerfile و هم فایل compose.yaml نیاز داشته باشد، ابتدا مهارت مربوط به راهبرد Build و سپس مهارت Docker Compose باید مورد استفاده قرار گیرد.
همچنین اگر پروژه هنوز هیچ ساختار Docker ندارد، مهارت پایه پروژه باید قبل از مهارت Build یا Compose بارگذاری شود.
این ترتیب کمک میکند خروجی یک مرحله، ورودی منطقی مرحله بعد باشد.
مهارتهای Docker Sandboxes
Docker Sandboxes یکی از حوزههایی است که چند مهارت مختلف برای آن ارائه شده است.
مهارت docker-sandboxes-lifecycle به ایجاد، اتصال دوباره و حذف Sandboxهای محلی اختصاص دارد. این مهارت همچنین به انتخاب میان اتصال مستقیم فضای کاری و روشهای ایزولهتر کمک میکند.
مهارت docker-sandboxes-network-credentials روی سیاستهای خروجی شبکه و مدیریت امن اطلاعات دسترسی سرویسها و Registryها تمرکز دارد.
دو مهارت دیگر با نامهای docker-sandboxes-env و docker-sandboxes-kits نیز در این مجموعه وجود دارند، اما Docker آنها را در وضعیت آزمایشی معرفی کرده است.
مهارت مربوط به محیطها برای کار با پیکربندیهای sbxenv.yaml در نظر گرفته شده و موضوعاتی مانند فضای کاری، Kitها، آرگومانها، چرخه عمر میزبان، Secretها، Registryها و Portها را پوشش میدهد.
مهارت مربوط به Kitها نیز برای ساخت، اعتبارسنجی، بستهبندی و ترکیب Kitهای قابل استفاده مجدد طراحی شده است.
آزمایشی بودن این مهارتها به این معناست که ساختار یا Schema آنها ممکن است در نسخههای آینده تغییر کند.
مهارتهای Docker Agent
Docker Agent نیز مجموعه مهارتهای مستقل خود را دارد.
مهارت docker-agent-config برای نوشتن و تنظیم فایل agent.yaml استفاده میشود و موضوعاتی مانند Agentها، مدلها، ارائهدهندگان مدل، مجموعه ابزارها و تیمهای چندعاملی را پوشش میدهد.
مهارت docker-agent-run به اجرای محلی Docker Agent مربوط است. در این بخش موضوعاتی مانند حالتهای ایمنی و تأیید، جداسازی Sandbox، Aliasها، Worktreeها و رفع اشکال اجرای Agent مطرح میشوند.
مهارت docker-agent-deploy نیز برای مرحله استقرار طراحی شده است و به ارائه Agent بهعنوان Server، توزیع آن از طریق OCI Registry و ارزیابی Regression در فرایندهای CI میپردازد.
Docker برای این سه مهارت نیز ترتیب مشخصی پیشنهاد کرده است:
ابتدا پیکربندی Agent، سپس اجرای آن و در نهایت استقرار.
این ساختار باعث میشود مراحل ایجاد، آزمایش و انتشار عامل از یکدیگر جدا بمانند.
محافظت در برابر عملیات مخرب Docker
یکی از مهارتهای مهم این مجموعه docker-destructive-guardrails است.
این مهارت برخلاف بعضی Skillهای دیگر تنها به یک محصول خاص محدود نیست و بهعنوان یک سیاست مشترک میان بخشهای مختلف Docker عمل میکند.
وظیفه اصلی آن، ایجاد یک قاعده برای دریافت تأیید قبل از انجام عملیات مخرب، برگشتناپذیر یا پرریسک Docker است.
این موضوع در محیط عاملهای هوش مصنوعی اهمیت زیادی دارد. زمانی که عامل تنها متن تولید میکند، خطا معمولاً به یک پیشنهاد اشتباه محدود میشود؛ اما زمانی که امکان اجرای فرمان نیز در اختیار آن قرار میگیرد، حذف Container، Volume، Image یا سایر منابع میتواند پیامد واقعی داشته باشد.
به همین دلیل وجود Guardrail را میتوان بخشی از معماری ایمن کار با عاملهای کدنویسی دانست.

عاملهای هوش مصنوعی چگونه از Docker Skills استفاده میکنند؟
یکی از نکات مهم Docker Skills این است که کاربر معمولاً مجبور نیست نام دقیق Skill را در درخواست خود ذکر کند.
عامل سازگار ابتدا درخواست کاربر را با توضیحات مهارتهایی که به آنها دسترسی دارد مقایسه میکند. در صورتی که وظیفه با توضیحات یک Skill مطابقت داشته باشد، عامل میتواند دستورالعمل کامل آن را بارگذاری کند.
برای مثال، کاربر میتواند به زبان طبیعی درخواست کند:
«این Dockerfile را کوچکتر کن و برنامه را بدون دسترسی root اجرا کن.»
در این حالت لازم نیست کاربر بداند نام Skill مرتبط چیست. عامل میتواند براساس درخواست، مهارت مناسب را انتخاب کند.
اگر یک وظیفه به چند محصول یا مرحله مختلف مربوط باشد، عامل میتواند بیش از یک Skill را مورد استفاده قرار دهد.
همین قابلیت، مفهوم Skill را از یک مجموعه پرامپت ثابت متمایز میکند. هدف این نیست که کاربر یک متن آماده را کپی و اجرا کند؛ بلکه عامل باید براساس نوع وظیفه، دستورالعمل موردنیاز را در زمان مناسب پیدا کند.
Docker Skills را چگونه نصب کنیم؟
Docker چند روش مختلف برای نصب مهارتها ارائه کرده است. روش مناسب به عامل کدنویسی، محیط کاری و شیوه مدیریت ابزارها در یک تیم بستگی دارد.
نصب Docker Skills با skills CLI
یکی از روشهای اصلی، استفاده از skills CLI است.
فرمان اصلی برای شروع فرایند نصب به شکل زیر است:
npx skills add docker/skills
این فرمان امکان انتخاب Skill و عامل موردنظر را در اختیار کاربر قرار میدهد.
اگر کاربر بخواهد بدون نصب چیزی، فهرست مهارتهای موجود را مشاهده کند، میتواند از فرمان زیر استفاده کند:
npx skills add docker/skills --list
برای نصب تنها یک مهارت نیز میتوان Skill موردنظر را مشخص کرد. برای مثال:
npx skills add docker/skills --skill docker-compose-patterns --yes
همچنین برای نصب تمام Skillها در عاملهای شناساییشده، گزینههای دیگری در اختیار کاربر قرار دارد.
بهروزرسانی مهارتهایی که از طریق این روش نصب شدهاند نیز با فرمان زیر انجام میشود:
npx skills update
Docker توضیح داده است که skills CLI میتواند برای مجموعهای از عاملهای کدنویسی مورد استفاده قرار گیرد.

نصب برای Claude Code، Codex، GitHub Copilot، Gemini CLI و Cursor
برای بعضی عاملها، علاوه بر روش عمومی، روش نصب اختصاصی نیز وجود دارد.
در Claude Code میتوان Marketplace مربوط به Docker را اضافه و افزونه رسمی Docker Skills را نصب کرد.
برای GitHub Copilot CLI نیز امکان اضافه کردن Marketplace Docker و نصب افزونه وجود دارد.
در Gemini CLI، مخزن Docker Skills میتواند بهصورت Extension نصب شود:
gemini extensions install https://github.com/docker/skills
برای Cursor، نصب میتواند از Marketplace یا از طریق skills CLI انجام شود. در محیطهای تیمی ممکن است برای اضافه کردن Marketplace نیاز به دسترسی مدیریتی وجود داشته باشد.
Codex نیز امکان استفاده از Marketplace مربوط به Docker را دارد. پس از نصب افزونه، شروع یک نشست جدید برای شناسایی Skillها ضروری است.
از آنجا که روش نصب و امکانات این ابزارها ممکن است تغییر کند، بهتر است پیش از اجرای فرایند نصب در محیطهای حساس، مستندات نسخه فعلی ابزار بررسی شود.
استفاده در Docker Sandboxes و Docker Agent
Docker Sandboxes یک روش نصب اختصاصی نیز دارد:
sbx skills add docker/skills
Docker این رابط را آزمایشی معرفی کرده و هشدار داده است که ممکن است در آینده تغییر کند یا حذف شود.
Docker Agent رفتار متفاوتی دارد. این ابزار خودش وظیفه نصب یا بهروزرسانی Skillها را بر عهده نمیگیرد. مهارتها باید ابتدا در یکی از مسیرهای قابل شناسایی نصب شوند و سپس در تنظیمات Agent مورد استفاده قرار گیرند.
در پیکربندی Docker Agent میتوان با گزینه skills: true تمام مهارتهای شناساییشده را فعال کرد یا تنها فهرستی از Skillهای مشخص را در اختیار عامل قرار داد.

مزایای Docker Skills برای توسعهدهندگان چیست؟
یکی از مهمترین مزایای Docker Skills، کاهش نیاز به تکرار دستورالعملهای تخصصی در هر پرامپت است.
در بسیاری از جریانهای کاری، توسعهدهنده مجبور است بارها برای عامل توضیح دهد که چه استانداردهایی را رعایت کند، چه عملیاتهایی را انجام ندهد یا یک فایل را براساس چه الگویی تغییر دهد.
Skill این دانش را به یک منبع مستقل و قابل استفاده مجدد تبدیل میکند.
مزیت دیگر، جداسازی دانش تخصصی از خود مدل هوش مصنوعی است. در این رویکرد، لازم نیست تمام جزئیات یک فرایند صرفاً در دانش داخلی مدل وجود داشته باشد. Agent میتواند هنگام انجام یک وظیفه، دستورالعملهای مرتبط را بارگذاری کند.
این موضوع میتواند برای تیمهای توسعه نیز ارزشمند باشد. یک Skill میتواند بهجای یک راهنمای پراکنده یا مجموعهای از پرامپتهای شخصی، به بخشی از جریان کاری مشترک تبدیل شود.
از سوی دیگر، ساختار استاندارد SKILL.md باعث میشود امکان استفاده از مهارت در چند Agent سازگار وجود داشته باشد و دانش تخصصی تنها به یک ابزار خاص محدود نشود.
امنیت، بررسی خروجی و بهروزرسانی Docker Skills
استفاده از یک Skill رسمی به این معنا نیست که خروجی عامل باید بدون بررسی پذیرفته شود.
Docker بهصراحت توصیه میکند تغییرات و فرمانهای پیشنهادی Agent بررسی شوند، آزمایشهای پروژه اجرا شوند و عملیات مخرب قبل از تأیید کنترل شوند. Skillها عامل را راهنمایی میکنند، اما جای اعتبارسنجی را نمیگیرند.
این نکته بهویژه زمانی مهم است که Agent امکان دسترسی به فایلها، اجرای Shell یا ایجاد تغییر در محیط توسعه را دارد.
موضوع مهم دیگر، بهروزرسانی است.
روش بهروزرسانی به نحوه نصب Skill بستگی دارد. مهارتهایی که با skills CLI نصب شدهاند میتوانند با همان ابزار بهروزرسانی شوند، در حالی که Pluginها و Extensionهای بومی از طریق ابزار یا Client مربوط به خود مدیریت میشوند.
برای محیطهایی که تکرارپذیری اهمیت زیادی دارد، امکان استفاده از نسخههای Tag شده نیز وجود دارد. Docker توضیح داده است که شاخه اصلی یک کانال در حال توسعه است، در حالی که Tagهای نسخه میتوانند Snapshotهای بازبینیشده و ثابتتری ارائه کنند.
در پروژههای سازمانی یا محیطهای حساس، قفل کردن نسخه یک Skill میتواند از تغییر ناخواسته رفتار جریان کاری پس از بهروزرسانی جلوگیری کند.
Docker Skills چه معنایی برای آینده عاملهای کدنویسی هوش مصنوعی دارد؟
Docker Skills را میتوان بخشی از روند بزرگتری در توسعه عاملهای هوش مصنوعی دانست؛ روندی که در آن عاملها تنها به دانش عمومی مدل متکی نیستند و میتوانند مجموعهای از دستورالعملهای تخصصی را در زمان نیاز بارگذاری کنند.
در نسل اولیه دستیارهای کدنویسی، بخش زیادی از کیفیت خروجی به مدل و پرامپت کاربر وابسته بود.
اما با رشد عاملهای هوش مصنوعی، عناصر دیگری نیز اهمیت بیشتری پیدا کردهاند:
دسترسی به ابزارها، زمینه پروژه، قواعد ایمنی، دستورالعملهای تخصصی و روش صحیح انجام فرایندهای چندمرحلهای.
Skillها یکی از راههای ساختاریافته برای اضافه کردن همین لایه تخصصی هستند.
برای مثال، عامل ممکن است بهصورت عمومی بداند Dockerfile چیست؛ اما Skill میتواند مشخص کند هنگام انجام یک وظیفه خاص، چه قواعدی باید در اولویت قرار گیرند، عملیاتها با چه ترتیبی انجام شوند و چه محدودیتهایی رعایت شوند.
از این منظر، آینده عاملهای کدنویسی الزاماً فقط به مدلهای بزرگتر وابسته نیست. کیفیت دستورالعملها، میزان دسترسی به زمینه مناسب، ابزارهای قابل اعتماد و قواعد کنترل عملیات نیز میتوانند به همان اندازه تعیینکننده باشند.
Docker Skills نمونهای عملی از همین تغییر رویکرد است.
جمعبندی
Docker با ارائه Docker Skills مجموعهای رسمی و متنباز از دستورالعملهای تخصصی برای عاملهای کدنویسی هوش مصنوعی ایجاد کرده است.
این مهارتها در حال حاضر حوزههایی مانند ساختار پروژه، Dockerfile، فرایند Build، Docker Compose، Docker Sandboxes و Docker Agent را پوشش میدهند و برای کنترل عملیات مخرب نیز Guardrail مستقلی در نظر گرفته شده است.
عاملهای سازگار میتوانند براساس درخواست کاربر، Skill مناسب را شناسایی و فایل SKILL.md مرتبط را هنگام انجام وظیفه بارگذاری کنند. این موضوع نیاز به توضیح مداوم قواعد تخصصی داخل پرامپت را کاهش میدهد و امکان استفاده مجدد از دانش ساختاریافته را فراهم میکند.
با این حال، Docker Skills جای بررسی انسانی، اجرای آزمایشها و کنترل امنیت را نمیگیرد. عامل میتواند با کمک Skill راهنمای دقیقتری داشته باشد، اما مسئولیت اعتبارسنجی تغییرات و مدیریت عملیات حساس همچنان بخش مهمی از جریان توسعه نرمافزار باقی میماند.
سوالات متداول
آیا Docker Skills فقط برای Docker Agent قابل استفاده است؟
خیر. Docker Skills برای عاملهای کدنویسی سازگار طراحی شده و میتواند در ابزارهایی مانند Claude Code، Codex، Cursor، GitHub Copilot CLI، Gemini CLI و تعدادی از عاملهای دیگر مورد استفاده قرار گیرد. روش نصب و مسیر شناسایی Skill در هر ابزار ممکن است متفاوت باشد.
آیا برای استفاده از Docker Skills باید نام مهارت را در پرامپت بنویسیم؟
معمولاً خیر. عامل سازگار میتواند توضیحات Skillهای موجود را بررسی کند و براساس درخواست کاربر Skill مرتبط را انتخاب کند. بنابراین میتوان نتیجه موردنظر را به زبان طبیعی توضیح داد.
آیا Docker Skills جای بررسی کد و آزمایش را میگیرد؟
خیر. مستندات رسمی Docker تأکید میکنند که تغییرات پیشنهادی و فرمانها باید بررسی شوند، آزمایشهای پروژه انجام شوند و عملیات مخرب پیش از اجرا تأیید شوند.
فایل SKILL.md چیست؟
SKILL.md فایل اصلی یک Skill است که مشخص میکند مهارت چه زمانی و چگونه باید استفاده شود. یک Skill میتواند در کنار این فایل، منابع یا فایلهای تکمیلی دیگری نیز داشته باشد.








نظرات (۰)
هنوز نظری ثبت نشده است. اولین نفر باشید.