Agent skill

Convert Persian Dates

by majiidd in majiidd/persiantools

Convert dates and datetimes between the Persian Solar Hijri calendar (Shamsi, Jalali, Iranian, Khorshidi) and the Gregorian (Miladi) calendar — including current and relative dates, Persian or…

MITAuto-check passed

Install Convert Persian Dates

skills CLI
$ npx skills add majiidd/persiantools --skill convert-persian-dates -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install majiidd/persiantools convert-persian-dates --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/majiidd/persiantools.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/convert-persian-dates .claude/skills/convert-persian-dates && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
convert-persian-dates
GitHub stars
226
Token cost
~1.1k tokens
SKILL.md length
468 words
Files
4 (incl. references)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Convert dates and datetimes between the Persian Solar Hijri calendar (Shamsi, Jalali, Iranian, Khorshidi) and the Gregorian (Miladi) calendar — including current and relative dates, Persian or…

  • Works in 6 steps: Establish the source calendar, target… → Use JalaliDate for dates and… → For a simple ISO value, run the matching… → …
  • The user supplies
  • SKILL.md covers Follow the default procedure, Prepare the environment, Convert simple ISO values and Gotchas, plus 2 more sections
  • Calls python

What it does

Convert Persian Dates is an agent skill from majiidd/persiantools. Convert dates and datetimes between the Persian Solar Hijri calendar (Shamsi, Jalali, Iranian, Khorshidi) and the Gregorian (Miladi) calendar — including current and relative dates, Persian or Arabic-Indic digits, named Persian months and weekdays, ISO strings, timezone-aware values, formatting, and batch or in-code conversion. Use this skill whenever the user supplies or asks for a Persian/Shamsi/Jalali date, or wants a Gregorian date expressed in the Persian calendar, even if they do not say "convert" or name…

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `README.md`, `agents/openai.yaml` and `references/python-api.md`).

It works with Python. The repository describes itself as: Jalali (Shamsi/Persian) date and datetime with Persian digits and character utilities. The licence is MIT.

When your agent uses it

  • The user supplies
  • Asks for a Persian/Shamsi/Jalali date
  • Wants a Gregorian date expressed in the Persian calendar
  • Even if they do not say convert

Example prompts

  • “convert”
  • “today in Shamsi”
  • “when is Nowruz 1404”
  • “/convert-persian-dates”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Establish the source calendar, target calendar, and whether the value is a date or datetime.
  2. Use JalaliDate for dates and JalaliDateTime for values containing a time.
  3. For a simple ISO value, run the matching direct command below after substituting the user's value.
  4. Load only the relevant section of references/python-api.md when the request needs named
  5. Verify the result with the checklist below.
  6. Return a concise answer adapted to the user's technical level.

What it can do on your machine

Read from SKILL.md and the folder at commit f210eef. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Convert Persian Dates loads about 1.1k tokens when it runs, and up to ~2.8k if it reads all its reference files. Until then it costs about 182 tokens; SKILL.md has 468 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~182
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from majiidd/persiantools at commit f210eef, republished under its MIT licence (© majiidd). 468 words, ~1,122 tokens.

Download SKILL.mdSave it as .claude/skills/convert-persian-dates/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
convert-persian-dates
description
Convert dates and datetimes between the Persian Solar Hijri calendar (Shamsi, Jalali, Iranian, Khorshidi) and the Gregorian (Miladi) calendar — including current and relative dates, Persian or Arabic-Indic digits, named Persian months and weekdays, ISO strings, timezone-aware values, formatting, and batch or in-code conversion. Use this skill whenever the user supplies or asks for a Persian/Shamsi/Jalali date, or wants a Gregorian date expressed in the Persian calendar, even if they do not say "convert" or name the calendar (for example "1403/01/01", "today in Shamsi", or "when is Nowruz 1404"). Do not use for Islamic or lunar (Qamari) Hijri dates, a different calendar this skill cannot convert.

Convert Persian Dates

Call the installed persiantools package directly. Never implement calendar arithmetic.

Follow the default procedure

  1. Establish the source calendar, target calendar, and whether the value is a date or datetime.
  2. Use JalaliDate for dates and JalaliDateTime for values containing a time.
  3. For a simple ISO value, run the matching direct command below after substituting the user's value.
  4. Load only the relevant section of references/python-api.md when the request needs named dates, digit normalization, localization, application code, batch conversion, validation, or timezone handling.
  5. Verify the result with the checklist below.
  6. Return a concise answer adapted to the user's technical level.

Prepare the environment

Use the active Python environment and check whether persiantools imports. Do not change a project merely to answer a one-off question. If the package is missing, ask before installing it. For application integration, use the project's existing package manager; otherwise the default is:

bash
python -m pip install persiantools

For a nontechnical user, perform the conversion and omit setup details unless setup blocks the result.

Convert simple ISO values

Gregorian to Jalali:

bash
python -c "from datetime import date; from persiantools.jdatetime import JalaliDate; print(JalaliDate.to_jalali(date.fromisoformat('2024-03-20')).isoformat())"

Jalali to Gregorian, including Persian digits:

bash
python -c "from persiantools.jdatetime import JalaliDate; print(JalaliDate.fromisoformat('۱۴۰۳-۰۱-۰۱').to_gregorian().isoformat())"

Current Jalali date:

bash
python -c "from persiantools.jdatetime import JalaliDate; print(JalaliDate.today().isoformat())"

Keep one-off commands small enough to inspect. For multi-step or application code, use the API reference instead of an oversized shell command.

Gotchas

  • Treat Shamsi, Jalali, Iranian, Persian, Khorshidi, and Solar Hijri as the same calendar; treat Gregorian and Miladi as the same calendar.
  • Do not treat Islamic or lunar Hijri as Persian Solar Hijri; PersianTools does not convert lunar Hijri dates.
  • Treat a year such as 1403 or 2024 as a clue, not proof of the calendar. Ask when ambiguity could change the answer.
  • Let PersianTools reject invalid dates. Never repair a date silently or assume Esfand always has 30 days.
  • Preserve seconds, microseconds, and tzinfo. Calendar conversion does not change timezones; use astimezone() only when the user requests a timezone conversion.
  • locale="en" uses Finglish Jalali names such as Farvardin and Shanbeh, not Gregorian names.
  • Resolve “today” and “now” from the real system clock, never model memory.
Show full SKILL.md (136 more words)Show less

Verify before answering

  1. Confirm the package call completed without a parsing or range error.
  2. Confirm the output calendar and returned type match the request.
  3. For datetimes, confirm time precision and the UTC offset or tzinfo were retained.
  4. For batch or application code, test a representative round trip and relevant boundaries such as Norouz and Esfand 29/30 before recommending the implementation.
  5. If validation fails, report the input problem and request a correction; do not guess.

Return the answer

For a plain-language request, adapt this template to the user's language:

text
[input] [source calendar] equals [result] [target calendar].

For a developer request, lead with the result or API choice, then include only the smallest useful code sample. Prefer ISO YYYY-MM-DD or ISO datetime output unless another format is requested. State any assumption about an ambiguous calendar, date order, locale, or timezone.

© majiidd, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .agents/skills/convert-persian-dates of majiidd/persiantools.

  • SKILL.md
  • README.md
  • agents/openai.yaml
  • references/python-api.md

Open the folder on GitHubat commit f210eef

Compare with similar skills

Convert Persian Dates next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Convert Persian Dates compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Convert Persian Dates this skillmajiidd/persiantools226—~1.1kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k63 repos~2.3kAutomated safety check: PassApache-2.0
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
NotebookLM Research AssistantPleasePrompto/notebooklm-skill7.8k14 repos~2.4kAutomated safety check: NotesMIT
Manim Video Productionbrowser-use/video-use28k6 repos~3kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 63 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • NotebookLM Research Assistant

    PleasePrompto/notebooklm-skill

    Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources.

    7.8k GitHub starsUsed in 14 repos~2.4k tokens
    Knowledge ManagementAuto-check: notes
  • Manim Video Production

    browser-use/video-use

    Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories.

    28k GitHub starsUsed in 6 repos~3k tokens
    Media & CreativeAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • PPT Master

    hugohe3/ppt-master

    Generates editable PowerPoint decks, rebuilds slides from images, fills .pptx templates and polishes existing presentations through routed workflows.

    58k GitHub starsUsed in 1 repo~2.5k tokens
    Documents & OfficeAuto-check passed

Works with

Questions about Convert Persian Dates

What does Convert Persian Dates do?

Convert dates and datetimes between the Persian Solar Hijri calendar (Shamsi, Jalali, Iranian, Khorshidi) and the Gregorian (Miladi) calendar — including current and relative dates, Persian or…. Convert Persian Dates is an agent skill from majiidd/persiantools. Convert dates and datetimes between the Persian Solar Hijri calendar (Shamsi, Jalali, Iranian, Khorshidi) and the Gregorian (Miladi) calendar — including current and relative dates, Persian or Arabic-Indic digits, named Persian months and weekdays, ISO strings, timezone-aware values, formatting, and batch or in-code conversion.

When should I use Convert Persian Dates?

Convert Persian Dates fits situations like: the user supplies; asks for a Persian/Shamsi/Jalali date; wants a Gregorian date expressed in the Persian calendar; even if they do not say convert.

How do I install Convert Persian Dates in Claude Code?

Run `npx skills add majiidd/persiantools --skill convert-persian-dates -a claude-code`. Or copy the skill folder (.agents/skills/convert-persian-dates in majiidd/persiantools) into .claude/skills/convert-persian-dates in your project. Claude Code loads it when a task matches its description.

How do I install Convert Persian Dates in Codex?

Run `npx skills add majiidd/persiantools --skill convert-persian-dates -a codex`. Or copy the skill folder (.agents/skills/convert-persian-dates in majiidd/persiantools) into .agents/skills/convert-persian-dates in your project. Codex loads it when a task matches its description.

Can I use Convert Persian Dates in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add majiidd/persiantools --skill convert-persian-dates -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/convert-persian-dates, .gemini/skills/convert-persian-dates, .github/skills/convert-persian-dates and .opencode/skills/convert-persian-dates in your project.

What does Convert Persian Dates need to run?

Going by SKILL.md and its folder, Convert Persian Dates needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Convert Persian Dates access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Convert Persian Dates safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Convert Persian Dates use?

Convert Persian Dates is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Convert Persian Dates use?

About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Convert Persian Dates?

Skills that share tags, products or a category with Convert Persian Dates: MCP Server Builder (anthropics/skills, 180k stars), PDF Processing (anthropics/skills, 180k stars), NotebookLM Research Assistant (PleasePrompto/notebooklm-skill, 7.8k stars) and Manim Video Production (browser-use/video-use, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Convert Persian Dates?

majiidd (a GitHub user) maintains it in majiidd/persiantools, which has 226 GitHub stars. The repository was last updated on October 7, 2026.

Source: majiidd/persiantools on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.