رفتن به محتوا

Output styleها

Claude Code را برای کاربردهایی فراتر از مهندسی نرم‌افزار تطبیق بده

Output styleها این را تغییر می‌دهند که Claude چطور پاسخ می‌دهد، نه اینکه Claude چه می‌داند. آن‌ها system prompt را تغییر می‌دهند تا نقش، لحن و قالبِ خروجی را تعیین کنند. وقتی از یکی استفاده کن که هر نوبت داری برای همان صدا یا همان قالب دوباره پرامپت می‌دهی، یا وقتی می‌خواهی Claude نقشی غیر از مهندس نرم‌افزار بازی کند.

یک output style سفارشی دستورهای تو را به system prompt اضافه می‌کند و می‌گذارد انتخاب کنی که دستورهای داخلیِ مهندسی نرم‌افزارِ Claude Code را نگه داری یا نه. وقتی صرفاً نحوه‌ی ارتباطِ Claude را عوض می‌کنی ولی هنوز کد می‌زنی، آن‌ها را نگه دار — مثلاً همیشه با یک دیاگرام پاسخ بده. وقتی Claude اصلاً مهندسی نرم‌افزار نمی‌کند آن‌ها را کنار بگذار — مثلاً دستیارِ نویسندگی یا تحلیل‌گرِ داده.

برای دستورها درباره‌ی پروژه، قراردادها یا کدبیست، به‌جای این از CLAUDE.md استفاده کن.

Output styleِ Defaultِ Claude Code همان system promptِ موجود است که برای کمک به انجامِ کارآمدِ کارهای مهندسی نرم‌افزار طراحی شده.

سه output styleِ داخلیِ دیگر هم هست:

  • Proactive: Claude بی‌درنگ اجرا می‌کند، به‌جای مکث برای تصمیم‌های روزمره فرض‌های معقول می‌گیرد، و عمل را به برنامه‌ریزی ترجیح می‌دهد. این راهنماییِ اجرای خودمختار قوی‌تر از چیزی است که auto mode اعمال می‌کند، و بدون تغییرِ حالتِ دسترسی‌ات کار می‌کند، پس همچنان پیش از اجرای ابزارها پرامپت‌های دسترسی را می‌بینی.

  • Explanatory: در میانه‌ی کمک به انجامِ کارهای مهندسی نرم‌افزار، «Insights»های آموزشی ارائه می‌دهد. کمک می‌کند انتخاب‌های پیاده‌سازی و الگوهای کدبیس را بفهمی.

  • Learning: حالتِ مشارکتیِ یادگیری‌حین‌انجام که در آن Claude نه‌فقط هنگام کدزدن «Insights» به اشتراک می‌گذارد، بلکه از تو هم می‌خواهد خودت تکه‌های کوچک و راهبردیِ کد را بنویسی. Claude Code نشانگرهای TODO(human) را در کدت می‌گذارد تا خودت پیاده‌سازی‌شان کنی.

/config را اجرا کن و Output style را انتخاب کن تا از یک منو سبکی برگزینی. انتخابت در .claude/settings.local.json در سطحِ محلیِ پروژه ذخیره می‌شود.

برای تنظیمِ یک سبک بدونِ منو، فیلدِ outputStyle را مستقیماً در یک فایلِ تنظیمات ویرایش کن:

{
"outputStyle": "Explanatory"
}

Output style بخشی از system prompt است که Claude Code آن را یک‌بار در آغازِ نشست می‌خواند. تغییرات بعد از /clear یا یک نشستِ جدید اعمال می‌شوند. برای اینکه ببینی تغییرِ یک output style چه تأثیری روی کش می‌گذارد، نحوه‌ی استفاده‌ی Claude Code از prompt caching را ببین.

یک output style سفارشی یک فایلِ Markdown است: frontmatter برای متادیتا، و سپس دستورهایی که به system prompt اضافه می‌شوند.

یک فایل Markdown بساز

آن را در یکی از سه سطح ذخیره کن. نامِ فایل به نامِ سبک تبدیل می‌شود، مگر اینکه name را در frontmatter تعیین کنی.

frontmatter و دستورها را اضافه کن

تصمیم بگیر که دستورهای مهندسی نرم‌افزارِ Claude Code را نگه داری یا نه. اگر صرفاً نحوه‌ی ارتباطِ Claude را عوض می‌کنی ولی همچنان می‌خواهی به همان شیوه کد بزند، keep-coding-instructions: true را تنظیم کن. اگر Claude قرار نیست مهندسی نرم‌افزار کند، آن را کنار بگذار.

این نمونه هر توضیح را با یک دیاگرام آغاز می‌کند و در همان حال رفتارِ کدزنیِ Claude را حفظ می‌کند:

---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---
When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.
## Diagram conventions
Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.

به سبکت سوییچ کن

/config را اجرا کن و سبکت را زیرِ Output style انتخاب کن. بعد از /clear یا دفعه‌ی بعد که نشستی را آغاز می‌کنی اعمال می‌شود.

Plugins هم می‌توانند output styleها را در یک دایرکتوریِ output-styles/ عرضه کنند.

فایل‌های output style از این فیلدهای frontmatter پشتیبانی می‌کنند:

Frontmatterهدفپیش‌فرض
nameنامِ output style، اگر همان نامِ فایل نباشداز نامِ فایل ارث می‌برد
descriptionتوضیحِ output style، که در انتخابگرِ /config نشان داده می‌شودندارد
keep-coding-instructionsدستورهای داخلیِ مهندسی نرم‌افزارِ Claude Code را نگه دارfalse
force-for-pluginفقط برای output styleهای پلاگین: این سبک را به‌صورت خودکار هر وقت پلاگین فعال است اعمال کن، بدونِ اینکه کاربران لازم باشد آن را انتخاب کنند. تنظیمِ outputStyleِ کاربر را بازنویسی می‌کند. اگر چند پلاگینِ فعال این را تنظیم کنند، Claude Code از اولین پلاگینِ بارگذاری‌شده استفاده می‌کند.false

Output styleها چطور کار می‌کنند

Section titled “Output styleها چطور کار می‌کنند”

Output styleها مستقیماً system promptِ Claude Code را تغییر می‌دهند.

  • همه‌ی output styleها دستورهای سفارشیِ خودشان را به انتهای system prompt اضافه می‌کنند.
  • همه‌ی output styleها در طولِ گفتگو یادآوری‌هایی را فعال می‌کنند تا Claude به دستورهای output style پایبند بماند.
  • output styleهای سفارشی دستورهای داخلیِ مهندسی نرم‌افزارِ Claude Code را — مثلِ اینکه چطور دامنه‌ی تغییرات را تعیین کند، کامنت بنویسد و کار را راستی‌آزمایی کند — کنار می‌گذارند، مگر اینکه keep-coding-instructions روی true تنظیم شده باشد.

مصرفِ توکن به سبک بستگی دارد. افزودنِ دستور به system prompt توکن‌های ورودی را زیاد می‌کند، هرچند prompt caching این هزینه را بعد از اولین درخواست در یک نشست کاهش می‌دهد. سبک‌های داخلیِ Explanatory و Learning به‌طور طراحی‌شده پاسخ‌هایی بلندتر از Default تولید می‌کنند، که توکن‌های خروجی را افزایش می‌دهد. برای سبک‌های سفارشی، مصرفِ توکنِ خروجی به این بستگی دارد که دستورهایت به Claude می‌گویند چه تولید کند.

مقایسه با قابلیت‌های مرتبط

Section titled “مقایسه با قابلیت‌های مرتبط”

چند قابلیت رفتارِ Claude Code را سفارشی می‌کنند. Output styleها system prompt را مستقیماً تغییر می‌دهند و روی هر پاسخ اعمال می‌شوند. بقیه بدونِ تغییرِ system promptِ پیش‌فرض دستور اضافه می‌کنند، یا آن‌ها را به یک کارِ مشخص محدود می‌کنند.

قابلیتچطور کار می‌کندکِی استفاده کن
Output styleهاsystem prompt را تغییر می‌دهدهر نوبت یک نقش، لحن یا قالبِ پاسخِ پیش‌فرضِ متفاوت می‌خواهی
CLAUDE.mdیک پیامِ کاربر بعد از system prompt اضافه می‌کندClaude باید همیشه قراردادهای پروژه و کانتکستِ کدبیست را بداند
--append-system-promptبدونِ حذفِ چیزی، به system prompt الحاق می‌کندیک افزوده‌ی یک‌باره برای یک فراخوانیِ منفرد می‌خواهی
Agentsیک ساب‌ایجنت را با system prompt، مدل و ابزارهای خودش اجرا می‌کندبرای یک کارِ متمرکز یک دستیارِ جداگانه و محدودشده می‌خواهی
Skillsدستورهای مخصوصِ کار را هنگامِ فراخوانی یا مرتبط‌بودن بارگذاری می‌کندیک ورک‌فلوِ قابلِ‌استفاده‌ی مجدد داری
  • Settings: جایی که فیلدِ outputStyle در آن قرار دارد و اولویت‌بندیِ تنظیمات چطور کار می‌کند
  • Permission modes: اینکه سبکِ Proactive در مقایسه با auto mode چطور است
  • Plugins: output styleها را در کنارِ skillها، hookها و agentها بسته‌بندی و توزیع کن
  • Debug your configuration: تشخیص بده که چرا یک output style اعمال نمی‌شود