Skip to content
Back to skills

2036 Errors 2169ee95

ASecurity

Comprehensive error handling guide for the Market Sentiment Analyzer. ---

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 31, 2026
developmentpythonbashapi

Works with

  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro scans all 2 files and shows the line behind each finding

Scanned May 31, 2026

npx -y skills add tools-only/X-Skills --skill 2036-errors_2169ee95 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2036 Errors 2169ee95?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2036 Errors 2169ee95
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2036-errors-2169ee95/badge)](https://www.skillsdirectory.com/skills/tools-only-2036-errors-2169ee95)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Error Handling Reference

Comprehensive error handling guide for the Market Sentiment Analyzer.

---

## API Errors

### Fear & Greed Index Unavailable

**Error**: Cannot fetch Fear & Greed Index from Alternative.me API

**Symptoms**:
```
Fear & Greed Index unavailable
Using cached/fallback value
```

**Causes**:
- API rate limiting (>10 requests/minute)
- API server downtime
- Network connectivity issues

**Solutions**:
1. **Automatic**: Uses cached value with "stale" warning
2. **Manual**: Wait 1-2 minutes and retry
3. **Persistent**: Check https://alternative.me/crypto/fear-and-greed-index/ status

**Impact**: Composite score uses cached or neutral (50) value

---

### CoinGecko API Rate Limit

**Error**: Market momentum data unavailable

**Symptoms**:
```
API request failed: 429 Too Many Requests
Market data unavailable
```

**Causes**:
- Exceeded free tier limit (~10-30 calls/minute)
- Too many concurrent requests

**Solutions**:
1. **Automatic**: Falls back to cached data
2. **Manual**: Wait 60 seconds before retry
3. **Upgrade**: CoinGecko Pro API for higher limits

**Impact**: Momentum component uses neutral (50) value

---

### News Feed Unavailable

**Error**: Cannot fetch news from RSS feeds

**Symptoms**:
```
Failed to fetch [feed_url]: Connection timed out
No articles available
```

**Causes**:
- RSS feed URL changed
- Feed server downtime
- Network firewall blocking

**Solutions**:
1. **Automatic**: Skips unavailable feeds, uses others
2. **Check**: Verify feed URLs in settings
3. **Network**: Test connectivity to feed domains

**Impact**: News sentiment based on fewer articles; score may be less representative

---

## Data Parsing Errors

### Invalid JSON Response

**Error**: Failed to parse API response

**Symptoms**:
```
json.JSONDecodeError: Expecting value
Failed to parse response: [error details]
```

**Causes**:
- API returning HTML error page instead of JSON
- Malformed API response
- Incomplete response due to timeout

**Solutions**:
1. Check API status pages
2. Verify API endpoint URLs
3. Increase timeout in settings

---

### Missing Data Fields

**Error**: Expected field not in response

**Symptoms**:
```
KeyError: 'price_change_percentage_24h'
```

**Causes**:
- API schema changed
- New coin not fully supported
- Delisted coin

**Solutions**:
1. Update to latest script version
2. Use market-wide analysis instead of coin-specific
3. Report issue if persistent

---

## Configuration Errors

### Invalid Weights

**Error**: Custom weights don't sum to 1.0

**Note**: This is auto-corrected, not a fatal error

**Causes**:
- User-provided weights like "news:0.5,fng:0.5,momentum:0.5" (sum > 1)

**Solutions**:
1. **Automatic**: Weights are normalized
2. **Manual**: Ensure weights sum to 1.0

---

### Unknown Coin Symbol

**Error**: Coin not found in known mappings

**Symptoms**:
```
No data for [COIN], using market analysis
```

**Causes**:
- Coin symbol not in known mappings
- New coin not yet added
- Typo in symbol

**Solutions**:
1. Use common symbols (BTC, ETH, SOL, etc.)
2. Try full CoinGecko ID instead of symbol
3. Fall back to market-wide analysis

---

## Graceful Degradation

The analyzer implements graceful degradation:

```
Full Analysis (all 3 components)
     │
     ├─► Fear & Greed fails → Use cached/neutral (50)
     │
     ├─► News fails → Use remaining components with adjusted weights
     │
     ├─► Momentum fails → Use remaining components with adjusted weights
     │
     └─► All fail → Return neutral (50) with error warnings
```

### Component Failure Handling

| Component | Fallback | Score Used |
|-----------|----------|------------|
| Fear & Greed | Cached → Neutral | Cached value or 50 |
| News Sentiment | Skip | 50 (neutral) |
| Market Momentum | Cached → Neutral | Cached value or 50 |

---

## Diagnostic Commands

### Test Individual Components

```bash
# Test Fear & Greed
python fear_greed.py -v

# Test News Sentiment
python news_sentiment.py -v

# Test Market Momentum
python market_momentum.py -v

# Full analysis with verbose
python sentiment_analyzer.py -v
```

### Check Cache Files

```bash
# List cache files
ls -la scripts/.*.json

# View cached data
cat scripts/.fng_cache.json | python -m json.tool
```

### Clear Caches

```bash
rm scripts/.fng_cache.json
rm scripts/.news_cache.json
rm scripts/.momentum_cache.json
```

---

## Common Issues

### Issue: Score Always Neutral (50)

**Causes**:
- All APIs unavailable
- Network connectivity issues
- VPN blocking API access

**Diagnosis**:
```bash
# Run with verbose
python sentiment_analyzer.py -v

# Check network
curl -I https://api.alternative.me/fng/
curl -I https://api.coingecko.com/api/v3/ping
```

### Issue: News Sentiment Skewed

**Causes**:
- Only one RSS feed responding
- Feed returns old articles
- Keyword bias in recent news

**Diagnosis**:
```bash
python news_sentiment.py -v
# Check "articles_analyzed" count
# Should be 15-50 for balanced sentiment
```

### Issue: Slow Response Time

**Causes**:
- Cache expired, fetching fresh data
- Network latency to APIs
- API rate limiting delays

**Solutions**:
1. Increase cache TTL in settings
2. Use `--verbose` to see timing
3. Consider local caching proxy

Files in this skill

  • README.md1.1 KB
  • skill.md5.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.