---
name: mkprompt-classic
description: >
  پرامپت‌ساز تشریحی: پرامپت کامل با نقش، کانتکست، شرح کار، گاردریل و فرمت گزارش، برای وقتی محیط عجیب است یا قید سفت دارد (دسترسی، خط قرمز، لحن، فرمت خروجی دقیق). خروجی هم پیشنهاد تسک یک‌کلیکی است و هم متن خام در چت. Use when the user says "پرامپت کامل", "پرامپت تشریحی", "با گاردریل", "پرامپت با نقش و کانتکست", "spec", "classic", "/mkprompt-classic", or gives hard constraints the agent must follow exactly. برای پرامپت معمولی و هدف‌محور، به‌جای این از mkprompt-goal استفاده کن.
---

# mkprompt-classic: پرامپت تشریحی

ورودی: موضوع یا کار. اگر ابهام تعیین‌کننده دارد (مقصد اجرا؟ کدام ریپو؟) حداکثر یک پرسش batched؛ وگرنه با پیش‌فرض معقول بساز.

این سبک فقط وقتی می‌ارزد که قید سختی هست: دسترسی محدود، خط قرمز، لحن مشخص، فرمت خروجی دقیق، یا محیطی که مدل نمی‌شناسد. برای کار عادی سنگین‌تر از چیزی است که لازم است؛ آنجا `mkprompt-goal` جواب می‌دهد.

## اسکلت (همیشه همین ترتیب؛ بخش بی‌ربط حذف شود)

1. ROLE: نقش ایجنت + تقسیم مدل. پیش‌فرض: قضاوت و طراحی Opus، اجرای گسترده Sonnet، مگر کاربر چیز دیگری بگوید.
2. CONTEXT: مسیر ریپو یا سرویس، وضعیت فعلی، چه چیزهایی انجام شده، فایل‌های کلیدی.
3. TASK: کار و معیار پذیرش قابل‌چک. باز هم روش را دیکته نکن؛ فقط چیزی که واقعاً باید آن‌طور باشد.
4. GUARDRAILS: دامنهٔ ممنوعه، verify واقعی قبل از هر ادعا، ship small، هیچ وابستگی جدید، سشن‌های زندهٔ کاربر دست نخورد.
5. REPORT: فرمت گزارش پایانی؛ در کار کدی بستن با commit و push.

حتی اینجا هم کار را مرحله‌به‌مرحله تجزیه نکن. قید بنویس، نه دستورالعمل.

## اگر کار چندسشنی است

هیچ نکتهٔ اجرایی را در چت به کاربر نگو؛ داخل پرامپت بگذار، چون کاربر پرامپت را می‌دهد و می‌رود. در TASK این‌ها اضافه می‌شود:

- بی‌نظارت ادامه بده، هر چند سشن که شد.
- قبل از هر کد، فایل پیشرفت را بساز: یک خط برای هر واحد و وضعیتش.
- بعد هر واحد خودت را بیدار کن. هر شات: فایل پیشرفت و گیت‌لاگ را بخوان، یک واحد بردار، تأیید کن، کامیت کن، تیک بزن. از صفر برنامه‌ریزی نکن و نپرس «بعدی چه؟».
- خواندن و گشتن و اسکن لاگ را بده به ساب‌ایجنت تا چند خط برگردانند، نه محتوای فایل؛ کانتکست خودت برای کار بماند.
- اگر لوپ خودکار در دسترس نبود، تا ته همین سشن برو؛ فایل پیشرفت باعث می‌شود سشن بعدی از همان‌جا بردارد.
- آخر کار، لوپ را ببند.

## تحویل: پیشنهاد تسک، نه فقط متن

پرامپت که آماده شد، دو کار بکن، به همین ترتیب:

1. **پیشنهاد تسک بساز** با `mcp__ccd_session__spawn_task`، تا کاربر با یک کلیک همان‌جا شروعش کند:
   - `cwd`: پوشهٔ درست همان کار (ریپوی هدف)، نه پوشهٔ سشن فعلی.
   - `prompt`: کل پرامپت، عیناً و کامل. باید خودایستا باشد؛ ایجنت این گفتگو را نمی‌بیند.
   - `title`: فعل امری، زیر ۶۰ کاراکتر.
   - `tldr`: یکی دو جمله زبان ساده، بدون مسیر فایل.
   - نسخهٔ اصلاح‌شده که ساختی، چیپ قبلی را با `mcp__ccd_session__dismiss_task` بردار تا تسک تکراری نماند.
   - اگر این ابزار در دسترس نبود، فقط متن را بده و همان یک خط بگو که پیشنهاد تسک اینجا نیست.
2. **متن خام را هم در چت بده**، داخل یک بلوک کد و همزمان با `pbcopy` در کلیپ‌بورد، برای وقتی که کاربر می‌خواهد جای دیگری (ماشین دیگر، اپ دیگر) بچسباند.

## قواعد خروجی (مهم‌ترین بخش)

- کارت نزن: این متن ghost-written است و طبق قانون کارت خام می‌ماند تا قابل کپی باشد.
- بعد از بلوک فقط یک خط: «توی کلیپ‌بورد هم هست. پیشنهاد تسک هم بالا آماده است.» هیچ توضیح اجرایی و هیچ یادآوری سبک دیگر.
- زبان پرامپت: انگلیسی، مگر کاربر فارسی بخواهد. موجز و امری، بدون تعارف و مقدمه.
- طول متناسب با کار: کار کوچک، پرامپت کوچک. هیچ بخش تشریفاتی اضافه نشود.
