Install
openclaw skills install @ehsanghaffar/persian-resumeGenerate professional Persian (RTL) resumes/CVs that render correctly with mixed Persian-English content. Use this skill whenever the user asks to create, rewrite, polish, or transform a Persian resume/CV, or when a resume contains mixed Persian and English/technical content that must remain readable and correctly ordered in RTL. Also trigger when the user provides career info in any language and wants a professional Persian CV, or asks to fix RTL/bidi issues in a Persian resume. This skill is NOT for general Persian documents — use persian-documents for reports, letters, articles, and technical docs.
openclaw skills install @ehsanghaffar/persian-resumeTurn career information into a polished, professional Persian RTL resume or CV that looks typeset, not generated. Supports both creating from raw info and transforming existing content.
persian-documents insteadA resume is a bidirectional document, not Persian text in a layout. The rendered output — not the source text — is the judge of correctness.
Never:
Always:
Choose sections based on the candidate's actual info. Do not force irrelevant sections.
[Name + Professional title]
[Contact row — RTL, with LTR URLs/emails intact]
[Professional summary — optional, 2-4 lines max]
[Experience]
[Company — Role — Dates]
• Achievement/outcome (not responsibility list)
[Projects] (if relevant to target role)
[Education]
[Skills] (structured categories, not a dump)
[Certifications / Languages / Awards] (only if present and meaningful)
Per entry:
Dates — keep one calendar throughout:
۱۴۰۲–۱۴۰۵, ۱۳۹۹–اکنون)2024–2026, 2021–Present)Prefer: action + measurable outcome over responsibility lists.
Good: راهاندازی سرویس → کاهش زمان پاسخ ۸۰۰ms به ۱۲۰ms (۸۵٪)
Avoid: مسئولیت مدیریت تیم و نگهداری سرویسها
Never invent metrics, companies, technologies, dates, or responsibilities. When info is missing, preserve known facts and leave gaps rather than fill them.
2-4 lines reflecting real background, communicating professional positioning, tailored to the target role when provided. Avoid generic buzzwords ("团队玩家", "چسبنده", "کار-hard"). Prioritize relevant expertise.
Group and prioritize — never an unorganized dump:
Preserve standard English spelling for technical terms: JavaScript, TypeScript, React, Next.js, Django, FastAPI, PostgreSQL, Docker, Kubernetes, AWS, REST API, GraphQL. Do not transliterate.
Clearly structured, visually separated from main content:
Choose a template via options.template in the resume JSON.
Select layout based on content volume:
Typography requirements:
Avoid: excessive decoration, oversized headings, dense unreadable blocks, tiny typography, confusing timelines, unbalanced whitespace.
توسعهدهنده ارشد Frontendتوسعه و نگهداری سرویسهای Django و FastAPINext.js 16GitHub: github.com/ehsanghaffariiemail@example.comکاهش هزینه ۳۰٪ با استفاده از React و Node.jsIf experience requires 2+ pages:
When transforming an existing resume:
When a target role is given, prioritize relevant experience/tech/achievements. Do not invent role-specific experience to fit the vacancy.
classic for traditional single-column, modern for two-column sidebar layoutscripts/generate_resume.py → PDF or DOCXscripts/validate_resume.py (bidi, content, rendering)scripts/generate_resume.py — Generate resume from JSON data → PDF/DOCXscripts/validate_resume.py — Validate RTL, content, file integrityreferences/resume-data-schema.md — JSON schema for resume input datareferences/validation-rules.md — Detailed validation rules and checksBefore finalizing, verify: