Install
openclaw skills install runstr-analyticsAdvanced RUNSTR fitness analytics with trend analysis, performance insights, training recommendations, and correlation tracking. Analyzes workout history, ha...
openclaw skills install runstr-analyticsAdvanced fitness analytics and coaching insights for RUNSTR data. Provides trend analysis, performance tracking, habit correlation, and personalized training recommendations.
Required: RUNSTR_NSEC environment variable
This skill requires your Nostr private key (nsec1...) to decrypt RUNSTR backup data.
Option 1 - For OpenClaw/chat usage: Tell your bot: "Here's my RUNSTR nsec: nsec1..."
Option 2 - For CLI/cron automation:
export RUNSTR_NSEC="nsec1..."
⚠️ Security note: The nsec is passed securely via stdin (not CLI arguments) to prevent exposure in process lists. Cache files use restrictive permissions (0700/0600).
Extended version (recommended - with local cache):
# First run - fetch from Nostr and cache locally
python3 scripts/analyze_extended.py --nsec <NSEC> --days 60 --insights --force-refresh
# Subsequent runs - use cached data (no nsec needed!)
python3 scripts/analyze_extended.py --days 60 --insights
Lightweight version (basic analysis):
python3 scripts/analyze_light.py --nsec <NSEC> --days 30 --insights
Full version (requires pandas, numpy, scipy):
# Install dependencies first: pip3 install pandas numpy scipy
python3 scripts/analyze.py --nsec <NSEC> --days 60 --coaching-report
| Flag | Description |
|---|---|
--nsec | Your Nostr private key (nsec1...) |
--days | Analysis period (default: 30) |
--insights | Generate improvement tips |
--coaching-report | Full coaching analysis |
--training-plan | Path to training plan markdown file |
--trends | Show trend visualizations |
--correlations | Analyze habit/mood correlations |
--pb | Show personal records |
--challenges | Generate weekly challenges |
~/.cache/runstr-analytics/# Shows last 4 weeks with trends
python3 scripts/analyze_extended.py --insights
# Set up daily cron job (runs at 07:00)
./setup_cron.sh
# View latest automated report
./view_report.sh
# Check update logs
tail -f ~/.cache/runstr-analytics/daily_update.log
The automation will:
~/.cache/runstr-analytics/latest_report.txt# First time setup - fetch and cache
python3 scripts/analyze_extended.py --nsec nsec1... --force-refresh
# Daily check - uses cache
python3 scripts/analyze_extended.py --insights
# Analyze last 90 days
python3 scripts/analyze_extended.py --days 90 --insights
# Force re-fetch from Nostr (after new backup)
python3 scripts/analyze_extended.py --nsec nsec1... --force-refresh
# Set up automatic daily updates
./setup_cron.sh
# View today's automated report
./view_report.sh
--format json)--format md)ps)~/.cache/runstr-analytics/runstr_cache.dbnak binary to a specific release rather than using @latest