$npx -y skills add henkisdabro/wookstar-claude-plugins --skill timezone-toolsGet current time in any timezone and convert times between timezones. Use when working with time, dates, timezones, scheduling across regions, "what time is it in X", "convert 3pm Sydney to London", DST checks, or when the user mentions specific cities/regions for time queries. S
| 1 | # Timezone Tools |
| 2 | |
| 3 | Get current time in any timezone and convert times between different timezones using IANA timezone database. |
| 4 | |
| 5 | ## Quick Start |
| 6 | |
| 7 | ### Get current time in a timezone |
| 8 | |
| 9 | ```bash |
| 10 | python scripts/get_time.py "America/New_York" |
| 11 | ``` |
| 12 | |
| 13 | ### Convert time between timezones |
| 14 | |
| 15 | ```bash |
| 16 | python scripts/convert_time.py "America/New_York" "14:30" "Australia/Perth" |
| 17 | ``` |
| 18 | |
| 19 | ### Search for timezone names |
| 20 | |
| 21 | ```bash |
| 22 | python scripts/list_timezones.py "perth" |
| 23 | ``` |
| 24 | |
| 25 | ## Instructions |
| 26 | |
| 27 | When the user asks about time or timezones: |
| 28 | |
| 29 | 1. **For current time queries** (e.g., "What time is it in Tokyo?"): |
| 30 | - Use `scripts/get_time.py` with IANA timezone name |
| 31 | - If unsure of timezone name, search first with `list_timezones.py` |
| 32 | - Script outputs: timezone, datetime, day of week, DST status |
| 33 | |
| 34 | 2. **For time conversions** (e.g., "What's 2pm EST in Perth time?"): |
| 35 | - Use `scripts/convert_time.py` with source timezone, time (HH:MM 24-hour), target timezone |
| 36 | - Script shows source time, target time, and time difference |
| 37 | - Automatically handles DST changes |
| 38 | |
| 39 | 3. **For timezone searches**: |
| 40 | - Use `scripts/list_timezones.py` with city/country name |
| 41 | - Returns matching IANA timezone names |
| 42 | |
| 43 | ## Common Timezones Reference |
| 44 | |
| 45 | For quick reference, see [data/common_timezones.json](data/common_timezones.json) which includes major cities worldwide, with Perth prominently featured. |
| 46 | |
| 47 | **User's local timezone**: The scripts automatically detect your local timezone using `tzlocal`. |
| 48 | |
| 49 | ## Examples |
| 50 | |
| 51 | ### Example 1: Current time query |
| 52 | |
| 53 | User: "What time is it in Perth?" |
| 54 | |
| 55 | ```bash |
| 56 | python scripts/list_timezones.py "perth" |
| 57 | # Output: Australia/Perth |
| 58 | |
| 59 | python scripts/get_time.py "Australia/Perth" |
| 60 | # Output: |
| 61 | # Timezone: Australia/Perth |
| 62 | # Current time: 2025-11-07T15:30:45 |
| 63 | # Day: Thursday |
| 64 | # DST: No |
| 65 | ``` |
| 66 | |
| 67 | ### Example 2: Time conversion |
| 68 | |
| 69 | User: "I have a meeting at 2pm New York time, what time is that in Perth?" |
| 70 | |
| 71 | ```bash |
| 72 | python scripts/convert_time.py "America/New_York" "14:00" "Australia/Perth" |
| 73 | # Output: |
| 74 | # Source: America/New_York - 2025-11-07T14:00:00 (Thursday, DST: No) |
| 75 | # Target: Australia/Perth - 2025-11-08T03:00:00 (Friday, DST: No) |
| 76 | # Time difference: +13.0h |
| 77 | ``` |
| 78 | |
| 79 | ### Example 3: Multiple timezone search |
| 80 | |
| 81 | User: "What are the timezone codes for London, Tokyo, and Sydney?" |
| 82 | |
| 83 | ```bash |
| 84 | python scripts/list_timezones.py "london" |
| 85 | python scripts/list_timezones.py "tokyo" |
| 86 | python scripts/list_timezones.py "sydney" |
| 87 | # Outputs: |
| 88 | # Europe/London |
| 89 | # Asia/Tokyo |
| 90 | # Australia/Sydney |
| 91 | ``` |
| 92 | |
| 93 | ## Time Format |
| 94 | |
| 95 | - All times use **24-hour format** (HH:MM): `14:30` not `2:30 PM` |
| 96 | - ISO 8601 datetime format for output: `2025-11-07T14:30:45` |
| 97 | - IANA timezone names (e.g., `America/New_York`, not `EST`) |
| 98 | |
| 99 | ## Troubleshooting |
| 100 | |
| 101 | ### "Invalid timezone" error |
| 102 | |
| 103 | - Use IANA timezone names: `America/New_York` not `EST` or `Eastern` |
| 104 | - Search with `list_timezones.py` if unsure |
| 105 | - Check [data/common_timezones.json](data/common_timezones.json) for reference |
| 106 | |
| 107 | ### "Invalid time format" error |
| 108 | |
| 109 | - Use 24-hour format: `14:30` not `2:30 PM` |
| 110 | - Format must be `HH:MM` with colon separator |
| 111 | |
| 112 | ### Missing dependencies |
| 113 | |
| 114 | Install required Python packages: |
| 115 | |
| 116 | ```bash |
| 117 | pip install tzlocal |
| 118 | ``` |
| 119 | |
| 120 | ## Dependencies |
| 121 | |
| 122 | - Python 3.9+ |
| 123 | - `tzlocal>=5.0` - for local timezone detection |
| 124 | - `zoneinfo` - built-in Python 3.9+ (IANA timezone database) |
| 125 | |
| 126 | ## Notes |
| 127 | |
| 128 | - Scripts automatically handle Daylight Saving Time (DST) |
| 129 | - Local timezone is auto-detected from system |
| 130 | - All timezone data uses IANA Time Zone Database |
| 131 | - Perth, Australia timezone: `Australia/Perth` (UTC+8, no DST) |