Skill: crypto-prices
Purpose
Fetch live cryptocurrency and commodity prices using the local crypto_prices.py module. This is your single source of truth for all price data — never use web search for prices.
When to Use
- Boss Man asks "what's BTC at?" or "price of gold" or any price query
- You need current prices for market analysis, morning protocol, or any report
- Anytime you're about to quote a price in conversation
How to Execute
Single Price Lookup
cd ~/clawd && python3 -c "
from crypto_prices import fetch_live_price, format_price_text
data = fetch_live_price('COIN_NAME')
if data:
print(format_price_text(data))
# Full details available in data dict:
# data['price'], data['change_24h'], data['change_7d'], data['change_30d']
# data['market_cap'], data['volume_24h'], data['high_24h'], data['low_24h']
# data['ath'], data['ath_change_pct'], data['source']
else:
print('Price unavailable — all providers failed')
"
Multiple Price Lookup (Batch)
cd ~/clawd && python3 -c "
from crypto_prices import fetch_multiple_prices, format_prices_block
prices = fetch_multiple_prices(['bitcoin', 'ethereum', 'xrp', 'sui', 'gold', 'silver'])
print(format_prices_block(prices))
"
Quick Price (Minimal Output)
cd ~/clawd && python3 -c "
from crypto_prices import fetch_live_price
d = fetch_live_price('COIN_NAME')
if d: print(f\"{d['symbol']}: \${d['price']:,.6g} ({d['change_24h']:+.2f}%)\")
"
Supported Assets
| Input |
Resolves To |
Source |
| btc, bitcoin |
bitcoin |
CoinGecko |
| eth, ethereum |
ethereum |
DexScreener → CoinGecko |
| xrp, ripple |
ripple |
DexScreener → CoinGecko |
| sui |
sui |
CoinGecko |
| sol, solana |
solana |
CoinGecko |
| gold, xau |
gold |
Yahoo Finance → CoinGecko |
| silver, xag |
silver |
Yahoo Finance → CoinGecko |
| doge, ada, dot, avax, link, matic |
various |
CoinGecko |
Provider Chain
- Cache (60s TTL) — serves instantly if fresh
- Yahoo Finance — metals only (gold/silver), most reliable for commodities
- CoinGecko full — comprehensive data (price, 24h/7d/30d change, ATH/ATL, market cap)
- CoinGecko simple — lighter endpoint if full is rate-limited
- DexScreener — DEX-based failover for crypto (ETH and XRP try this first)
Rules
- NEVER use Brave Search for prices — it returns stale article snippets, not live data
- NEVER guess or hallucinate prices — if all providers fail, say "price unavailable"
- Cache is 60 seconds — calling twice within a minute is free
- Rate limits: CoinGecko ~10 req/min, DexScreener ~60 req/min
- For batch queries, the module handles delays automatically
1---2name: skill-crypto-prices3description: Fetch live cryptocurrency and commodity prices using the local cryptoprices.py module. This is your single source of truth for all price data — never use web search for prices.4---5
6# Skill: crypto-prices
7
8## Purpose
9Fetch live cryptocurrency and commodity prices using the local `crypto_prices.py` module. This is your **single source of truth** for all price data — never use web search for prices.
10
11## When to Use
12- Boss Man asks "what's BTC at?" or "price of gold" or any price query
13- You need current prices for market analysis, morning protocol, or any report
14- Anytime you're about to quote a price in conversation
15
16## How to Execute
17
18### Single Price Lookup
19```bash
20cd ~/clawd && python3 -c "
21from crypto_prices import fetch_live_price, format_price_text
22data = fetch_live_price('COIN_NAME')
23if data:
24 print(format_price_text(data))
25 # Full details available in data dict:
26 # data['price'], data['change_24h'], data['change_7d'], data['change_30d']
27 # data['market_cap'], data['volume_24h'], data['high_24h'], data['low_24h']
28 # data['ath'], data['ath_change_pct'], data['source']
29else:
30 print('Price unavailable — all providers failed')
31"
32```
33
34### Multiple Price Lookup (Batch)
35```bash
36cd ~/clawd && python3 -c "
37from crypto_prices import fetch_multiple_prices, format_prices_block
38prices = fetch_multiple_prices(['bitcoin', 'ethereum', 'xrp', 'sui', 'gold', 'silver'])
39print(format_prices_block(prices))
40"
41```
42
43### Quick Price (Minimal Output)
44```bash
45cd ~/clawd && python3 -c "
46from crypto_prices import fetch_live_price
47d = fetch_live_price('COIN_NAME')
48if d: print(f\"{d['symbol']}: \${d['price']:,.6g} ({d['change_24h']:+.2f}%)\")
49"
50```
51
52## Supported Assets
53| Input | Resolves To | Source |
54|-------|-------------|--------|
55| btc, bitcoin | bitcoin | CoinGecko |
56| eth, ethereum | ethereum | DexScreener → CoinGecko |
57| xrp, ripple | ripple | DexScreener → CoinGecko |
58| sui | sui | CoinGecko |
59| sol, solana | solana | CoinGecko |
60| gold, xau | gold | Yahoo Finance → CoinGecko |
61| silver, xag | silver | Yahoo Finance → CoinGecko |
62| doge, ada, dot, avax, link, matic | various | CoinGecko |
63
64## Provider Chain
651. **Cache** (60s TTL) — serves instantly if fresh
662. **Yahoo Finance** — metals only (gold/silver), most reliable for commodities
673. **CoinGecko full** — comprehensive data (price, 24h/7d/30d change, ATH/ATL, market cap)
684. **CoinGecko simple** — lighter endpoint if full is rate-limited
695. **DexScreener** — DEX-based failover for crypto (ETH and XRP try this first)
70
71## Rules
72- **NEVER** use Brave Search for prices — it returns stale article snippets, not live data
73- **NEVER** guess or hallucinate prices — if all providers fail, say "price unavailable"
74- Cache is 60 seconds — calling twice within a minute is free
75- Rate limits: CoinGecko ~10 req/min, DexScreener ~60 req/min
76- For batch queries, the module handles delays automatically