فارسی رسمی و اداری
persian-formalمهارتفارسی رسمی ولی آدمیزادی: است بهجای میباشد، جملههای کوتاه و ادعای مشخص. قالب نامهی اداری، ایمیل رسمی و متن فاکتور و قرارداد هم داخلشه.
کی به کار میآد
- نامه به سازمان، اداره یا دانشگاه
- پروپوزال و قرارداد برای مشتری
- ایمیل رسمی و متن فاکتور
- متن سایت شرکتی و صفحهی دربارهی ما
شرط فعال شدن (description)
Write formal Persian that still sounds human: proposals, contracts, invoices, official letters (نامه اداری), formal email, company website copy, terms and policies. Use whenever the user asks for فارسی رسمی، اداری، نامه، پروپوزال، قرارداد، فاکتور، متن حقوقی, or when the text goes to a client, organization, university or government office. Bans the bureaucratic tells (میباشد، لازم به ذکر است) that make Persian sound machine-written.
مدل با همین چند خط تصمیم میگیره مهارت را بخونه یا نه. اگر میخواید در موقعیتهای دیگری هم فعال بشه، همین را عوض کنید.
Formal Persian (فارسی رسمی و اداری)
Formal Persian is the register models get most wrong, in the opposite direction from what you would expect: they produce something more bureaucratic than any working Iranian writer would. Formal means full written forms, «شما», no slang. It does not mean ceremony.
1. Two formal registers
| Register | Where | Marker |
|---|---|---|
| Formal-but-human (رسمی روان) | Proposal, contract, invoice, terms, B2B email, company site, product docs | است، شد، میشود؛ short sentences; concrete claims |
| Formal-administrative (اداری) | Letter to an organization, ministry, university, bank | Same verbs plus the fixed letter furniture in section 4 |
Default with no signal: formal-but-human. Casual by mistake is worse than formal by mistake when the text leaves the team.
2. Verb and vocabulary rules
است، شد، کرد، میشود. Never «میباشد»، «گردید»، «به عمل آورد»، «قرار دارد» (for است)، «محسوب میشود»، «به شمار میرود». These are government-office fossils; in a proposal they read as lazy or machine-generated.
Short sentences, one idea each. Persian tolerates long chains of «که»; readers do not.
Address the reader: «شما میتوانید» not «کاربران محترم میتوانند».
Concrete over ceremonial: «سایت در ۳ ثانیه باز میشود» beats «بهبود چشمگیر سرعت بارگذاری را تجربه خواهید کرد».
Persian words where a Persian word exists and is natural: «برای» not «جهت»، «دربارهی» not «در خصوص»، «به همین دلیل» not «از این رو».
No fake tanvin on Persian words: «گاهی» not «گاهاً»، «دوم اینکه» not «دوماً»، «بهناچار» not «ناچاراً». Real Arabic loans keep it: واقعاً، حتماً، لطفاً.
3. Banned phrases (bureaucratic and AI tells)
Cut on sight; say the thing instead.
| Tell | Replace with |
|---|---|
| لازم به ذکر است که / شایان ذکر است | (delete; state the fact) |
| در راستای / در همین راستا / در جهت نیل به | برای |
| از اهمیت ویژهای برخوردار است / نقش بسزایی ایفا میکند | the concrete claim |
| در دنیای امروز / در عصر دیجیتال / امروزه با پیشرفت تکنولوژی | start with the point |
| در نهایت میتوان گفت / به طور کلی | end with a fact or a next step |
| بینظیر / منحصربهفرد / تجربهای متفاوت | a number, a name, or nothing |
| کارشناسان معتقدند / مطالعات نشان میدهد (no source) | name the source or drop it |
| سریع، آسان و مطمئن (any triad) | two items, or one developed idea |
| نه تنها … بلکه | the positive claim, plainly |
| که نشاندهندهی … است (tacked on) | its own sentence with evidence, or delete |
| — (em dash) | «،» or a new sentence |
Also: no «همچنین» opening three sentences in a row, no bold-header bullet lists («سرعت: توضیح») in prose, no «امیدوارم مفید بوده باشد» closers.
4. نامه اداری (letter to an organization)
The fixed furniture is the register. Use it once, correctly.
1موضوع: درخواست صدور مجوز نصب تابلو23مدیریت محترم [نام واحد]4[نام سازمان]56با سلام و احترام؛78خواهشمند است دستور فرمایید مجوز نصب تابلوی شرکت [نام] در نشانی [نشانی]9صادر شود. مدارک لازم پیوست است.1011با تشکر و احترام12[نام و نام خانوادگی]13[سمت]14[تاریخ شمسی]Order: موضوع ← گیرنده با سمت ← «با سلام و احترام؛» ← body (short, one request per letter) ← closing formula ← نام، سمت، تاریخ.
Honorifics: «جناب آقای» / «سرکار خانم» + [دکتر / مهندس] + surname; «مدیریت محترم …»، «ریاست محترم …». Never first names, never «تو».
Openers: «با سلام و احترام؛» or «احتراماً، به استحضار میرساند …». One «احتراماً» at most; stacking ceremony reads as parody.
Request formula: «خواهشمند است دستور فرمایید …» is correct here and only here.
Closers: «با تشکر و احترام»، «پیشاپیش از همکاری شما سپاسگزارم».
Body verbs stay «است / میشود». اداری does not excuse «میباشد».
5. Formal email
1موضوع: پیشفاکتور طراحی سایت، ویرایش دوم23سلام آقای رضایی،45پیشفاکتور اصلاحشده پیوست است. دو تغییر نسبت به نسخهی قبل:6۱. مبلغ پشتیبانی سالانه از ۱۲ به ۹ میلیون تومان کاهش یافت.7۲. زمان تحویل ۲۰ مهر ۱۴۰۵ است.89اگر تأیید میکنید، قرارداد را تا فردا ارسال میکنم.1011با احترام12سارا کریمیSubject line states the content. Greeting is «سلام آقای / خانم [surname]،». One warm line is enough. Sign with name and, if relevant, role.
6. Invoices, contracts, terms
Column and field names are standard: «شرح»، «تعداد»، «مبلغ واحد»، «جمع»، «تخفیف»، «مالیات بر ارزش افزوده»، «مبلغ قابل پرداخت».
State the unit explicitly and once: «همهی مبالغ به تومان است». Never mix تومان and ریال in one document.
Amounts that matter (cheques, contracts) also appear in words: «۱۲٬۵۰۰٬۰۰۰ تومان (دوازده میلیون و پانصد هزار تومان)».
Dates are Jalali in the official form «۲۹ شهریور ۱۴۰۵» or «۱۴۰۵/۰۶/۲۹». Add the Gregorian date only if the counterparty is outside Iran.
Contract clauses: «مادهی ۱»، «تبصره»، «طرف اول / طرف دوم». Keep obligations as plain sentences with a subject; passive that hides the actor («تصمیم گرفته شد») is a defect in a contract.
Terms and privacy pages address the user as «شما» and the company as «ما» consistently; do not slide between «کاربر» and «شما» in one section.
7. Orthography (non-negotiable)
ZWNJ (نیمفاصله): میشود، شرکتها، بهعنوان، پیشفاکتور.
Persian ی and ک, Persian digits ۰–۹ in prose, «٬» as thousands separator, «٪» after the number.
«گیومه» for quotes, «،» and «؛» as punctuation, no space before them.
The ezafe is never written as «ـه» («قراردادِ فروش» not «قرارداده فروش»).
8. Before / after
Prompt: «متن معرفی شرکت برای صفحهی دربارهی ما»
❌ شرکت ما در راستای ارائهی خدمات نوین، با بهرهگیری از تیمی مجرب و متخصص، همواره در تلاش میباشد تا تجربهای بینظیر برای مشتریان خود رقم بزند.
✅ از ۱۳۹۸ برای فروشگاههای آنلاین سایت میسازیم. تا امروز ۴۰ فروشگاه تحویل دادهایم و سهتای آنها روزی بیش از هزار سفارش دارند. تیم ما هفت نفر است و هر پروژه یک مدیر مشخص دارد که پاسخگوی شماست.
(Use only facts the user gave. If there are none, write the structure and mark the blanks; never invent counts, years or client names.)
9. Checklist
Register chosen: رسمی روان or اداری, held throughout.
Zero «میباشد / گردید / لازم به ذکر است / در راستای».
No triads, no em dashes, no generic openers or closers.
Numbers, dates and units Persian and explicit; unit stated once.
Letter furniture complete and used once (اداری only).
Every claim traceable to the brief.
See also: the persian-writing skill by ali2000hos for register detection, academic Persian and RTL Word/PDF output.
نمونه
پرامپت: «متن معرفی شرکت برای صفحهی دربارهی ما»
بدون مهارت
شرکت ما در راستای ارائهی خدمات نوین، با بهرهگیری از تیمی مجرب، همواره در تلاش میباشد تا تجربهای بینظیر رقم بزند.
با مهارت
از ۱۳۹۸ برای فروشگاههای آنلاین سایت میسازیم. تا امروز ۴۰ فروشگاه تحویل دادهایم و هر پروژه یک مدیر مشخص دارد که پاسخگوی شماست.
نمونه برای نشان دادن جهت تغییره؛ خروجی واقعی به مدل و پرامپت شما بستگی داره.
نصب
با CLI
این دستور فایل را در
.claude/skills/persian-formal/SKILL.mdمینویسه. CLI به init نیاز نداره؛ فقط باید داخل پوشهی پروژه باشید.$npx vibefarsi add persian-formalدستی
محتوای تب SKILL.md را کپی کنید و در مسیر ابزار خودتون بگذارید:
- Claude Code
.claude/skills/persian-formal/SKILL.mdبرای همین پروژه، یا~/.claude/skills/persian-formal/SKILL.mdبرای همهی پروژهها - Cursor
.cursor/skills/persian-formal/SKILL.md - Codex
.agents/skills/persian-formal/SKILL.md - بقیهی ابزارهاهمان فایل را در پروژه بگذارید و یک خط به
AGENTS.mdاضافه کنید:For any Persian task, read .claude/skills/persian-formal/SKILL.md first.
کپی کل فایلregistry json- Claude Code
میخواید همهی قوانین را یکجا داشته باشید؟ قوانین فارسی برای CLAUDE.md خلاصهی همهی مهارتها در یک صفحهست و قوانین کرافت رابط طرف طراحی را پوشش میده. npx vibefarsi init هر دو را داخل پروژه مینویسه.