Install
openclaw skills install runstr-analyticsAdvanced RUNSTR fitness analytics with trend analysis, performance insights, training recommendations, and correlation tracking. Analyzes workout history, habits, mood, and steps to provide personalized coaching insights and identify patterns in training effectiveness.
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