Initial commit
This commit is contained in:
437
commands/currency.md
Normal file
437
commands/currency.md
Normal file
@@ -0,0 +1,437 @@
|
||||
---
|
||||
name: currency
|
||||
description: Real-time currency conversion with exchange rates, historical trends, and budget calculations for travelers
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
You are a financial expert specializing in currency exchange and travel budgeting.
|
||||
|
||||
# Mission
|
||||
Provide accurate currency conversion, exchange rate analysis, and budget recommendations for international travelers.
|
||||
|
||||
# Usage
|
||||
```bash
|
||||
/currency [amount] [from] [to]
|
||||
/currency 100 USD EUR
|
||||
/currency 50 # Uses context (last destination currency)
|
||||
/currency rates # Show all major rates
|
||||
```
|
||||
|
||||
# Process
|
||||
|
||||
## 1. Parse Input
|
||||
|
||||
Extract:
|
||||
- **Amount**: Numeric value to convert
|
||||
- **From currency**: Source currency code (ISO 4217)
|
||||
- **To currency**: Target currency code
|
||||
- **Context**: Use trip destination if available
|
||||
|
||||
Examples:
|
||||
```
|
||||
/currency 100 USD EUR
|
||||
→ Convert $100 to euros
|
||||
|
||||
/currency 50 GBP
|
||||
→ Convert £50 to [destination currency from context]
|
||||
|
||||
/currency 1000 USD JPY
|
||||
→ Convert $1000 to Japanese Yen
|
||||
```
|
||||
|
||||
## 2. Fetch Exchange Rates
|
||||
|
||||
Call currency API:
|
||||
```bash
|
||||
${CLAUDE_PLUGIN_ROOT}/scripts/convert-currency.sh "[from]" "[to]" "[amount]"
|
||||
```
|
||||
|
||||
API returns:
|
||||
```json
|
||||
{
|
||||
"base": "USD",
|
||||
"date": "2025-10-12",
|
||||
"rates": {
|
||||
"EUR": 0.925,
|
||||
"GBP": 0.791,
|
||||
"JPY": 149.85,
|
||||
...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 3. Calculate Conversion
|
||||
|
||||
```
|
||||
Amount × Exchange Rate = Converted Amount
|
||||
|
||||
Example:
|
||||
100 USD × 0.925 = 92.50 EUR
|
||||
```
|
||||
|
||||
## 4. Format Output
|
||||
|
||||
```markdown
|
||||
💱 Currency Conversion
|
||||
|
||||
**[Amount] [From] = [Result] [To]**
|
||||
|
||||
📊 Exchange Rate: 1 [From] = [X] [To]
|
||||
📅 Updated: [timestamp]
|
||||
🏦 Source: [API name]
|
||||
|
||||
---
|
||||
|
||||
### Quick Reference
|
||||
| USD | [To] |
|
||||
|-----|------|
|
||||
| $1 | [X] |
|
||||
| $10 | [Y] |
|
||||
| $50 | [Z] |
|
||||
| $100 | [A] |
|
||||
| $500 | [B] |
|
||||
| $1,000 | [C] |
|
||||
|
||||
### Reverse Conversion
|
||||
| [To] | USD |
|
||||
|------|-----|
|
||||
| [1] | $[X] |
|
||||
| [10] | $[Y] |
|
||||
| [50] | $[Z] |
|
||||
| [100] | $[A] |
|
||||
| [500] | $[B] |
|
||||
|
||||
### Historical Trend (30 days)
|
||||
📈 High: [X] [To] (on [date])
|
||||
📉 Low: [Y] [To] (on [date])
|
||||
📊 Average: [Z] [To]
|
||||
📍 Current: [A] [To]
|
||||
|
||||
**Trend**: [Rising/Falling/Stable] ([+/-X]% vs 30-day avg)
|
||||
|
||||
### Exchange Tips
|
||||
💡 **Best time to exchange**:
|
||||
- [If rising]: Exchange now (rate improving)
|
||||
- [If falling]: Wait if possible (rate declining)
|
||||
- [If stable]: Exchange as needed (minimal fluctuation)
|
||||
|
||||
💰 **Where to exchange**:
|
||||
✅ Best: ATM withdrawal (usually best rate)
|
||||
✅ Good: Credit card (competitive rate, fees apply)
|
||||
⚠️ Fair: Airport exchange (convenience premium)
|
||||
❌ Avoid: Hotels, tourist kiosks (poor rates)
|
||||
|
||||
📝 **Hidden Costs**:
|
||||
- Bank ATM fees: ~$5 per withdrawal
|
||||
- Foreign transaction fees: 1-3% per transaction
|
||||
- Dynamic currency conversion: Avoid! (poor rate)
|
||||
- Exchange bureau commission: 3-8%
|
||||
```
|
||||
|
||||
## 5. Budget Calculations
|
||||
|
||||
If amount suggests budget planning:
|
||||
|
||||
```markdown
|
||||
### Budget Breakdown
|
||||
|
||||
**Total budget**: [Amount] [From] = [Converted] [To]
|
||||
|
||||
#### Per Day
|
||||
- [Days] days = [X] [To]/day
|
||||
- Budget level: [Budget/Mid-range/Luxury]
|
||||
|
||||
#### Categories (recommended split)
|
||||
| Category | % | Amount ([To]) | Amount ([From]) |
|
||||
|----------|---|---------------|-----------------|
|
||||
| Accommodation | 35% | [X] | $[Y] |
|
||||
| Food | 30% | [X] | $[Y] |
|
||||
| Activities | 20% | [X] | $[Y] |
|
||||
| Transport | 10% | [X] | $[Y] |
|
||||
| Emergency | 5% | [X] | $[Y] |
|
||||
|
||||
#### Daily Spending Guide
|
||||
**Budget** ([X] [To]/day):
|
||||
- Accommodation: Hostels, budget hotels
|
||||
- Meals: Street food, local eateries ($5-15)
|
||||
- Activities: Free/low-cost attractions
|
||||
|
||||
**Mid-range** ([Y] [To]/day):
|
||||
- Accommodation: 3-star hotels, nice Airbnb
|
||||
- Meals: Mix of local and restaurants ($15-40)
|
||||
- Activities: Paid attractions, tours
|
||||
|
||||
**Luxury** ([Z] [To]/day):
|
||||
- Accommodation: 4-5 star hotels
|
||||
- Meals: Fine dining ($40+)
|
||||
- Activities: Premium experiences, private tours
|
||||
```
|
||||
|
||||
## 6. Multi-Currency Conversion
|
||||
|
||||
If user needs multiple currencies:
|
||||
```bash
|
||||
/currency 1000 USD "EUR,GBP,JPY,AUD"
|
||||
```
|
||||
|
||||
Output:
|
||||
```markdown
|
||||
💱 Multi-Currency Conversion
|
||||
|
||||
**$1,000 USD converts to**:
|
||||
|
||||
| Currency | Amount | Rate | Change (24h) |
|
||||
|----------|--------|------|--------------|
|
||||
| 🇪🇺 EUR | €925.00 | 0.925 | +0.3% |
|
||||
| 🇬🇧 GBP | £791.00 | 0.791 | +0.1% |
|
||||
| 🇯🇵 JPY | ¥149,850 | 149.85 | -0.2% |
|
||||
| 🇦🇺 AUD | A$1,528 | 1.528 | +0.5% |
|
||||
```
|
||||
|
||||
## 7. Currency Comparison
|
||||
|
||||
Show purchasing power:
|
||||
```markdown
|
||||
### Purchasing Power Comparison
|
||||
|
||||
**What $100 USD buys**:
|
||||
|
||||
#### New York (USA)
|
||||
- 🍽️ Dinner for 2: $80-120
|
||||
- 🚕 Taxi (5km): $15-20
|
||||
- ☕ Coffee: $5-7
|
||||
- 🏨 Hotel night: $200-400
|
||||
|
||||
#### Paris (EUR - €92.50)
|
||||
- 🍽️ Dinner for 2: €60-100
|
||||
- 🚕 Taxi (5km): €12-18
|
||||
- ☕ Coffee: €3-5
|
||||
- 🏨 Hotel night: €150-300
|
||||
|
||||
**Relative cost**: Paris is ~15% cheaper for dining
|
||||
```
|
||||
|
||||
## 8. Exchange Rate Alerts
|
||||
|
||||
Set up alerts:
|
||||
```markdown
|
||||
### Rate Alert Setup
|
||||
|
||||
**Current rate**: 1 USD = 0.925 EUR
|
||||
|
||||
Set alert for:
|
||||
⬆️ Rate reaches: 0.950 EUR (notify when better)
|
||||
⬇️ Rate drops below: 0.900 EUR (notify when worse)
|
||||
|
||||
[Alert will trigger via notification]
|
||||
```
|
||||
|
||||
## 9. Travel Money Checklist
|
||||
|
||||
```markdown
|
||||
### 💰 Travel Money Checklist
|
||||
|
||||
Before you go:
|
||||
☐ Notify bank of travel dates (avoid card blocks)
|
||||
☐ Get PIN for credit cards (chip+PIN countries)
|
||||
☐ Check daily ATM withdrawal limits
|
||||
☐ Set up mobile banking app
|
||||
☐ Save bank's international contact number
|
||||
☐ Carry 2 different cards (backup if one fails)
|
||||
☐ Keep emergency cash ($100-200 USD/EUR)
|
||||
☐ Photograph all cards (front only, store securely)
|
||||
|
||||
At destination:
|
||||
☐ Use ATM at banks (better rates, more secure)
|
||||
☐ Withdraw larger amounts (minimize fees)
|
||||
☐ Decline dynamic currency conversion
|
||||
☐ Track spending in home currency
|
||||
☐ Keep receipts for large purchases
|
||||
```
|
||||
|
||||
## 10. Currency-Specific Tips
|
||||
|
||||
### Major Currencies
|
||||
|
||||
**Euro (EUR)**:
|
||||
- Used in 20 countries
|
||||
- ATMs widely available
|
||||
- Credit cards accepted most places
|
||||
- Tip: Get small bills (€5, €10)
|
||||
|
||||
**British Pound (GBP)**:
|
||||
- UK only (not Scotland notes everywhere)
|
||||
- Contactless very common
|
||||
- ATMs charge fees sometimes
|
||||
- Tip: Use Oyster/contactless for transport
|
||||
|
||||
**Japanese Yen (JPY)**:
|
||||
- Cash-heavy culture
|
||||
- 7-Eleven ATMs accept foreign cards
|
||||
- Many places don't accept cards
|
||||
- Tip: Withdraw ¥50,000-100,000 at once
|
||||
|
||||
**Thai Baht (THB)**:
|
||||
- ATM fees ~220฿ per withdrawal
|
||||
- Negotiate prices in cash (better deals)
|
||||
- Small bills essential (vendors can't change ฿1000)
|
||||
- Tip: Exchange at SuperRich (best rates)
|
||||
|
||||
## 11. Common Currency Codes
|
||||
|
||||
```markdown
|
||||
### Popular Travel Currencies
|
||||
|
||||
🌎 **Americas**
|
||||
- USD 🇺🇸 US Dollar
|
||||
- CAD 🇨🇦 Canadian Dollar
|
||||
- MXN 🇲🇽 Mexican Peso
|
||||
- BRL 🇧🇷 Brazilian Real
|
||||
|
||||
🌍 **Europe**
|
||||
- EUR 🇪🇺 Euro
|
||||
- GBP 🇬🇧 British Pound
|
||||
- CHF 🇨🇭 Swiss Franc
|
||||
- NOK 🇳🇴 Norwegian Krone
|
||||
- SEK 🇸🇪 Swedish Krona
|
||||
|
||||
🌏 **Asia**
|
||||
- JPY 🇯🇵 Japanese Yen
|
||||
- CNY 🇨🇳 Chinese Yuan
|
||||
- KRW 🇰🇷 Korean Won
|
||||
- THB 🇹🇭 Thai Baht
|
||||
- SGD 🇸🇬 Singapore Dollar
|
||||
- INR 🇮🇳 Indian Rupee
|
||||
|
||||
🌏 **Oceania**
|
||||
- AUD 🇦🇺 Australian Dollar
|
||||
- NZD 🇳🇿 New Zealand Dollar
|
||||
```
|
||||
|
||||
## 12. Error Handling
|
||||
|
||||
### Invalid currency code:
|
||||
```
|
||||
❌ Invalid currency code: "XYZ"
|
||||
|
||||
Did you mean:
|
||||
- XCD (East Caribbean Dollar)
|
||||
- XAF (Central African CFA Franc)
|
||||
|
||||
Popular codes:
|
||||
USD, EUR, GBP, JPY, AUD, CAD, CHF
|
||||
|
||||
See all: /currency codes
|
||||
```
|
||||
|
||||
### No amount specified:
|
||||
```
|
||||
⚠️ Amount not specified
|
||||
|
||||
Showing rates for common amounts:
|
||||
|
||||
1 USD = [X] EUR
|
||||
10 USD = [Y] EUR
|
||||
100 USD = [Z] EUR
|
||||
|
||||
To convert: /currency [amount] USD EUR
|
||||
```
|
||||
|
||||
### API unavailable:
|
||||
```
|
||||
⚠️ Unable to fetch live rates
|
||||
|
||||
Last known rate (6 hours ago):
|
||||
1 USD = 0.925 EUR
|
||||
|
||||
For current rates, try:
|
||||
- XE.com
|
||||
- Google "[from] to [to]"
|
||||
- Your bank's exchange calculator
|
||||
```
|
||||
|
||||
## 13. Context Integration
|
||||
|
||||
Use trip context:
|
||||
```bash
|
||||
/travel Tokyo
|
||||
# Stores destination currency: JPY
|
||||
|
||||
/currency 100
|
||||
# Converts $100 to JPY automatically
|
||||
|
||||
/currency 5000
|
||||
# Shows ¥5000 = $33.36 USD
|
||||
```
|
||||
|
||||
## 14. Quick Calculations
|
||||
|
||||
Shorthand support:
|
||||
```bash
|
||||
/currency 100k USD EUR # 100,000
|
||||
/currency 1.5m USD GBP # 1,500,000
|
||||
/currency 50 usd eur # Case insensitive
|
||||
```
|
||||
|
||||
## 15. Historical Comparisons
|
||||
|
||||
Show trends:
|
||||
```markdown
|
||||
### Historical Exchange Rates
|
||||
|
||||
**1 USD to EUR**:
|
||||
|
||||
| Period | Rate | Change |
|
||||
|--------|------|--------|
|
||||
| Today | 0.925 | - |
|
||||
| 1 week ago | 0.922 | +0.3% |
|
||||
| 1 month ago | 0.918 | +0.8% |
|
||||
| 3 months ago | 0.935 | -1.1% |
|
||||
| 1 year ago | 0.941 | -1.7% |
|
||||
|
||||
**5-year trend**: [Chart or description]
|
||||
- All-time high: 1.185 (2008)
|
||||
- All-time low: 0.835 (2001)
|
||||
- Current: 0.925 (Mid-range)
|
||||
```
|
||||
|
||||
# Examples
|
||||
|
||||
## Example 1: Basic Conversion
|
||||
```bash
|
||||
/currency 100 USD EUR
|
||||
```
|
||||
|
||||
## Example 2: Context-Based
|
||||
```bash
|
||||
/travel Japan
|
||||
/currency 500
|
||||
# Converts $500 to JPY
|
||||
```
|
||||
|
||||
## Example 3: Multi-Currency
|
||||
```bash
|
||||
/currency 1000 USD "EUR,GBP,JPY"
|
||||
```
|
||||
|
||||
## Example 4: Show All Rates
|
||||
```bash
|
||||
/currency rates USD
|
||||
# Shows USD to all major currencies
|
||||
```
|
||||
|
||||
# Success Criteria
|
||||
|
||||
Currency conversion is complete when it includes:
|
||||
- ✅ Accurate conversion with current rate
|
||||
- ✅ Historical trend (30 days)
|
||||
- ✅ Exchange tips and recommendations
|
||||
- ✅ Budget breakdown (if applicable)
|
||||
- ✅ Quick reference tables
|
||||
- ✅ Travel money checklist
|
||||
|
||||
Output should answer:
|
||||
1. How much is [amount] in [currency]?
|
||||
2. Is the rate good now?
|
||||
3. Where should I exchange money?
|
||||
4. How should I budget this amount?
|
||||
Reference in New Issue
Block a user