Korean public holidays, business-day calculator, and lunar↔solar converter (CLI). Check if a date is a Korean public holiday (including 대체공휴일), list holidays in a year/month, compute next/previous business days, count business days in a range, add signed business-day offsets, convert between Korean lunar and solar dates (including 윤달), render a monthly calendar. Use when a user asks about Korean holidays 공휴일, 설날, 추석, 대체공휴일, 평일 계산, 영업일, 음력 양력 변환, or scheduling that must skip Korean holidays. Z...
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill kr-holiday-cli --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Kr Holiday Cli?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-kr-holiday-cli)More formats (shields.io, HTML) on the badges page.
---
name: kr-holiday-cli
description: Korean public holidays, business-day calculator, and lunar↔solar converter (CLI). Check if a date is a Korean public holiday (including 대체공휴일), list holidays in a year/month, compute next/previous business days, count business days in a range, add signed business-day offsets, convert between Korean lunar and solar dates (including 윤달), render a monthly calendar. Use when a user asks about Korean holidays 공휴일, 설날, 추석, 대체공휴일, 평일 계산, 영업일, 음력 양력 변환, or scheduling that must skip Korean holidays. Zero API key.
license: MIT
---
# Korean Holiday & Business-Day CLI
Zero-config CLI for Korean public holidays, business-day math, and Korean lunar↔solar conversion. No API key. No network required at runtime.
- Public holidays powered by the [`holidays`](https://pypi.org/project/holidays/) package (Korean names, substitute holidays / 대체공휴일 included).
- Lunar↔solar powered by [`korean-lunar-calendar`](https://pypi.org/project/korean-lunar-calendar/) (KASI astronomical tables, supports 윤달).
## When to use
Trigger this skill for any of:
- Is a given date a Korean public holiday? ("2026-05-05 공휴일이야?")
- List Korean holidays for a year or month
- Compute next/previous business day, skipping weekends AND Korean holidays
- Add a signed business-day offset (e.g., invoice due in +10 business days from order date)
- Count business days between two dates (payroll, SLA, delivery ETA)
- Convert solar ↔ Korean lunar dates (음력 생일 lookup, 설날·추석 date lookup)
- Render a monthly calendar view with holidays marked
Do **not** use for:
- Regional / religious holidays that aren't recognized as national public holidays (예: 성탄절 제외 종교 행사)
- Company-specific working calendars (add your own per-company overrides outside this skill)
- Realtime election-day announcements (bundled rules reflect statutory holidays; ad-hoc presidential decree holidays may lag until the `holidays` package updates)
## Install
```bash
pip install -r scripts/requirements.txt
```
Dependencies: `holidays`, `korean-lunar-calendar`.
## Usage
All commands are sub-commands of `scripts/kr_holiday.py`. Output is JSON (UTF-8, Korean preserved). Dates accept `YYYY-MM-DD`, `YYYYMMDD`, `YYYY/MM/DD`, or `YYYY.MM.DD`.
### Check a date
```bash
python scripts/kr_holiday.py is-holiday 2026-05-05
# → {"date":"2026-05-05","weekday":"Tue","is_weekend":false,"is_holiday":true,"is_business_day":false,"names":["어린이날"]}
```
### List holidays in a year (optionally filter by month)
```bash
python scripts/kr_holiday.py list --year 2026
python scripts/kr_holiday.py list --year 2026 --month 5
```
### Next / previous business day
```bash
python scripts/kr_holiday.py next-business-day 2026-05-02 # skip Sat → 2026-05-04 (Mon)
python scripts/kr_holiday.py next-business-day 2026-05-02 --offset 3 # 3rd next business day
python scripts/kr_holiday.py prev-business-day 2026-05-06 --offset 2
```
### Add a signed business-day offset
```bash
python scripts/kr_holiday.py add-business-days 2026-04-20 --days 10 # 2026-05-04
python scripts/kr_holiday.py add-business-days 2026-05-05 --days -3
```
### Count business days in a range (inclusive)
```bash
python scripts/kr_holiday.py business-days --start 2026-05-01 --end 2026-05-31
# → {"start":"2026-05-01","end":"2026-05-31","calendar_days":31,"business_days":19}
```
### Solar ↔ Korean lunar
```bash
python scripts/kr_holiday.py solar-to-lunar 2026-02-17
# → {"solar":"2026-02-17","lunar":"2026-01-01","is_leap_month":false,"gapja":"병오년 경인월 임술일"}
python scripts/kr_holiday.py lunar-to-solar 2026-08-15
python scripts/kr_holiday.py lunar-to-solar 2025-06-01 --leap # pass --leap for 윤달
```
### Monthly calendar view
```bash
python scripts/kr_holiday.py month 2026 5 # human-readable, Sunday-first
python scripts/kr_holiday.py month 2026 5 --format json # weeks grid in JSON
```
## Output conventions
- JSON by default (no pretty-print; pipe through `python -m json.tool` if desired).
- `is_business_day = true` ⇔ Mon–Fri AND not a Korean public holiday.
- `names` is a list — a single calendar day can carry multiple labels (e.g., when holidays overlap).
- Substitute holidays (대체공휴일) appear as their own entries in `list` output.
## Error handling
- Unparseable date → exit `2`, stderr JSON `{"error":"bad_date","input":"…"}`.
- Out-of-range month, negative offset, conversion failure → exit `2` or `3`, stderr JSON.
- Missing dependency → exit `4`, stderr JSON with install hint.
## Notes on holiday accuracy
- 대체공휴일 rules: reflects the revised 2021/2023 rules (substitute applies when a national holiday falls on Sat/Sun, with the documented exceptions). Results match rulings published by 공공데이터포털 한국천문연구원 특일 정보 through 2030.
- Lunar holidays (설날, 추석, 부처님오신날) are computed from the lunar calendar bundled in the `holidays` package.
- Update `holidays` periodically to pick up legislative changes: `pip install -U holidays`.
## See also
- `krx-stock-cli` — KRX stock market data (KOSPI/KOSDAQ)
- `toss-payments-cli` — Toss Payments API
- `kakao-local-cli` — Kakao Local place & geocoding API
## License
MIT.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!