Isp Throttle Detective
by @newageinvestments25-byte
Run speed tests to multiple endpoints, log results, and detect ISP throttling patterns. Use when the user mentions speed test, internet slow, ISP throttling,...
clawhub install isp-throttle-detectiveπ About This Skill
name: isp-throttle-detective description: Run speed tests to multiple endpoints, log results, and detect ISP throttling patterns. Use when the user mentions speed test, internet slow, ISP throttling, bandwidth test, is my ISP throttling, speed history, internet speed, slow at night, or peak-hour slowdowns. Measures download speed from Cloudflare, Google, and CDN endpoints plus upload, logs with timestamps and time-of-day context, and generates evidence reports (peak vs off-peak tables, CDN discrimination analysis, trend charts) suitable for ISP complaints or plan upgrade decisions.
ISP Throttle Detective
Scripts live in scripts/. Log and config default to ~/.isp-throttle-detective/. See references/setup-guide.md for full setup, scheduling, and interpretation guidance.
Workflow
Run a single test and log it
python3 scripts/speedtest.py | python3 scripts/log_result.py
Analyze patterns (needs β₯5 tests across multiple hours/days)
python3 scripts/analyze.py
python3 scripts/analyze.py --days 30 --json # machine-readable
Generate evidence report
python3 scripts/report.py --days 30 --out ~/report.md
Scripts
| Script | Purpose |
|--------|---------|
| speedtest.py | Download from 3 endpoints + upload to Cloudflare. Outputs JSON to stdout. |
| log_result.py | Append speedtest JSON to JSONL log with hour, day_of_week enrichment. |
| analyze.py | Detect peak vs off-peak, CDN discrimination, trend, anomalies. |
| report.py | Generate markdown evidence report with tables and plain-English conclusion. |
Configuration
Copy assets/config.example.json to ~/.isp-throttle-detective/config.json. All scripts auto-detect it. Key fields:
log_file β where the JSONL log livesendpoints β add/remove test targets; set category: "cdn" vs "general" to enable CDN discrimination detectionpeak_hours β list of hours (0β23) considered peakPass --config /path/to/config.json to any script to override.
Scheduling
See references/setup-guide.md for launchd (macOS) and cron (Linux) snippets. Recommended: every 30 minutes for meaningful data within a day or two.
Throttling Signals
Using the Evidence Report
report.py produces a markdown file with a peak/off-peak comparison table, per-endpoint breakdown, hourly chart, trend analysis, and a plain-English conclusion. Share it directly with ISP support or use it to evaluate whether upgrading your plan would actually help (if CDN throttling is confirmed, a faster plan won't fix it).
βοΈ Configuration
Copy assets/config.example.json to ~/.isp-throttle-detective/config.json. All scripts auto-detect it. Key fields:
log_file β where the JSONL log livesendpoints β add/remove test targets; set category: "cdn" vs "general" to enable CDN discrimination detectionpeak_hours β list of hours (0β23) considered peakPass --config /path/to/config.json to any script to override.