taiwan-calendar

AI & LLMs
v0.0.1
Benign

Taiwan calendar query for accurate working day/holiday information.

787 downloads787 installsby @pigfoot

Setup & Installation

Install command

clawhub install pigfoot/taiwan-calendar

If the CLI is not installed:

Install command

npx clawhub@latest install pigfoot/taiwan-calendar

Or install with OpenClaw CLI:

Install command

openclaw skills install pigfoot/taiwan-calendar

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/pigfoot/taiwan-calendar

What This Skill Does

Queries Taiwan's government administrative calendar API in real-time to return accurate working day and holiday information. Covers national holidays, make-up workdays (補班), and date arithmetic based on Taiwan's official calendar. Built to correct LLM knowledge-cutoff errors on Taiwan date queries.

LLMs frequently get Taiwan's working calendar wrong due to knowledge cutoffs, especially for annually adjusted make-up workdays; this skill pulls live government data to avoid those errors.

When to Use It

  • Checking if a specific Taiwan date is a public holiday or working day
  • Calculating a project deadline in Taiwan working days
  • Verifying whether a Saturday is a make-up workday (補班)
  • Counting total working days in a given month for scheduling
  • Finding the next upcoming holiday from today's date
View original SKILL.md file
# Taiwan Calendar Skill

Provides accurate Taiwan working day and holiday information by querying government open data APIs in real-time.

## Why This Skill Exists

Claude Code frequently makes errors with Taiwan date-related queries due to knowledge cutoff:

- Gets weekdays wrong (e.g., saying Tuesday when it's Wednesday)
- Doesn't know current year's national holidays
- Unaware of make-up workdays (補班日)

This skill queries Taiwan's government administrative calendar API to provide accurate, up-to-date information.

---

## When to Use

**Trigger actively when user asks about:**

- **Date queries**: "今天是幾號?", "What's today's date?", "現在台灣幾點?"
- **Working day queries**: "今天是工作日嗎?", "Is tomorrow a working day?", "下週一要上班嗎?"
- **Holiday queries**: "1/1 是假日嗎?", "國慶日是哪天?", "下一個連假什麼時候?"
- **Date calculations**: "5 個工作日後是哪天?", "這個月有幾個工作日?", "deadline 是五個工作天"
- **Make-up workdays**: "有沒有補班?", "這週六要上班嗎?"

**Also use for:**

- Schedule/timeline planning that requires working day awareness
- Deadline calculations mentioning "工作日/工作天"
- Any Taiwan calendar-related questions

---

## Commands

All commands use: `uv run --managed-python scripts/taiwan_calendar.py <command>`

### Basic Queries

#### `today` - Today's date and status

```bash
uv run --managed-python scripts/taiwan_calendar.py today
```

**Output example:**

```
2025-01-06 (週一) 是工作日。
```

#### `check <date>` - Check specific date

```bash
uv run --managed-python scripts/taiwan_calendar.py check 2025-01-01
uv run --managed-python scripts/taiwan_calendar.py check 01/01
```

**Output example:**

```
2025-01-01 (週三) 是非工作日 - 元旦。
```

**Date formats supported:**

- `YYYY-MM-DD` (e.g., 2025-01-01)
- `YYYY/MM/DD` (e.g., 2025/01/01)
- `MM/DD` (assumes current year, e.g., 01/01)

### Range Queries

#### `range <start> <end>` - Count working days in range

```bash
uv run --managed-python scripts/taiwan_calendar.py range 2025-01-01 2025-01-31
```

**Output example:**

```
2025-01-01 到 2025-01-31 共有 23 個工作日。

期間假日:
  - 2025-01-01 (週三) - 元旦
  - 2025-01-29 (週三) - 春節
```

### Advanced Calculations

#### `add-days [date] <n>` - Calculate N working days later

```bash
# From today
uv run --managed-python scripts/taiwan_calendar.py add-days 5

# From specific date
uv run --managed-python scripts/taiwan_calendar.py add-days 2025-01-06 5
```

**Output example:**

```
從 2025-01-06 算起 5 個工作日後是 2025-01-13 (週一)。
```

#### `next-working [date]` - Find next working day

```bash
# From today
uv run --managed-python scripts/taiwan_calendar.py next-working

# From specific date
uv run --managed-python scripts/taiwan_calendar.py next-working 2025-01-03
```

**Output example:**

```
下一個工作日是 2025-01-06 (週一)。
```

#### `next-holiday [date]` - Find next holiday

```bash
# From today
uv run --managed-python scripts/taiwan_calendar.py next-holiday

# From specific date
uv run --managed-python scripts/taiwan_calendar.py next-holiday 2025-01-06
```

**Output example:**

```
下一個假日是 2025-01-29 (週三) - 春節。
```

---

## Usage Examples

### Example 1: Simple Date Query

```
User: "今天是幾號?"

Response:
[Run: uv run --managed-python scripts/taiwan_calendar.py today]
Output: 2025-01-06 (週一) 是工作日。

"今天是 2025 年 1 月 6 日(週一),是工作日。"
```

### Example 2: Holiday Check

```
User: "元旦是放假嗎?"

Response:
[Run: uv run --managed-python scripts/taiwan_calendar.py check 01/01]
Output: 2025-01-01 (週三) 是非工作日 - 元旦。

"是的,元旦(1/1)是國定假日。"
```

### Example 3: Working Day Calculation

```
User: "報告要 5 個工作天內交,今天開始算那是哪天?"

Response:
[Run: uv run --managed-python scripts/taiwan_calendar.py add-days 5]
Output: 從 2025-01-06 算起 5 個工作日後是 2025-01-13 (週一)。

"從今天算起 5 個工作日後是 1 月 13 日(週一)。"
```

### Example 4: This Month's Working Days

```
User: "這個月有幾個工作日?"

Response:
[Run: uv run --managed-python scripts/taiwan_calendar.py range 2025-01-01 2025-01-31]
Output: 2025-01-01 到 2025-01-31 共有 23 個工作日。

期間假日:
  - 2025-01-01 (週三) - 元旦

"這個月(1月)有 23 個工作日,期間有元旦(1/1)放假。"
```

### Example 5: Next Holiday

```
User: "下一個連假是什麼時候?"

Response:
[Run: uv run --managed-python scripts/taiwan_calendar.py next-holiday]
Output: 下一個假日是 2025-01-29 (週三) - 春節。

"下一個假日是春節,從 1 月 29 日(週三)開始。"
```

---

## Technical Details

### Data Source

- **Primary**: Taiwan government open data platform (data.gov.tw)
- **Fallback**: New Taipei City open data

### Caching

- **Location**: System temp directory (cross-platform via `tempfile.gettempdir()`)
- **File**: `taiwan-calendar-cache.json`
- **Expiry**: 1 hour
- **Behavior**: Automatically refreshes when expired

### Timezone

- All operations use Taiwan timezone (Asia/Taipei, UTC+8)
- Current time queries reflect Taiwan local time

### Error Handling

- Clear error messages if API unavailable
- Automatic fallback to secondary API source
- Uses expired cache with warning if network unavailable

---

## Important Notes

### When to Use This Skill

✅ **DO use for:**

- Any Taiwan date/calendar queries
- Working day calculations
- Holiday information
- Date arithmetic involving working days

❌ **DON'T use for:**

- Non-Taiwan regions/calendars
- Lunar calendar queries (農曆)
- 24 solar terms (二十四節氣)
- Historical dates (use for current/future dates)

### Natural Language Output

The script outputs Chinese (Traditional) responses. Use these directly when responding to users, or translate if needed.

### Command Execution

Always use the full command with `uv run --managed-python`:

```bash
uv run --managed-python scripts/taiwan_calendar.py <command> [args]
```

**NEVER** use:

- `python scripts/taiwan_calendar.py` ❌
- `cd scripts && uv run taiwan_calendar.py` ❌

The script path is relative to the skill directory.

---

## Troubleshooting

### "Failed to fetch calendar data"

**Cause**: All API sources unavailable

**Solution**:

1. Check network connection
2. Verify government API status
3. Script will use expired cache if available (with warning)

### "Invalid date format"

**Cause**: Unrecognized date format

**Solution**: Use supported formats:

- `YYYY-MM-DD` (e.g., 2025-01-06)
- `YYYY/MM/DD` (e.g., 2025/01/06)
- `MM/DD` (e.g., 01/06)

### "Unable to parse date"

**Cause**: Ambiguous date input

**Solution**: Be explicit with year for dates far from today

---

## Progressive Disclosure

This is the main skill file. All essential information is included here for immediate use.

For implementation details, see: `scripts/taiwan_calendar.py`

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Checking if a specific Taiwan date is a public holiday or working day

AGENT
  1. 1Checking if a specific Taiwan date is a public holiday or working day
  2. 2Calculating a project deadline in Taiwan working days
  3. 3Verifying whether a Saturday is a make-up workday (補班)
  4. 4Counting total working days in a given month for scheduling
  5. 5Finding the next upcoming holiday from today's date
OUTPUT
Taiwan calendar query for accurate working day/holiday information.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedFeb 25, 2026