analyze-standings-for-week

star 1

Weekly Standings Analysis Command - analyzes season standings and provides narrative coaching with statistical context

leonvanbokhorst By leonvanbokhorst schedule Updated 1/29/2026

name: analyze-standings-for-week description: Weekly Standings Analysis Command - analyzes season standings and provides narrative coaching with statistical context disable-model-invocation: true

Weekly Standings Analysis Command

This command analyzes season standings and provides narrative coaching with statistical context.

Philosophy: Facts + Meaning

"Tools provide FACTS. Little Padawan provides MEANING."

  • The tools output raw statistics (position, percentiles, correlations)
  • Little Padawan interprets those stats as a coach would
  • Provide narrative context, celebrate wins, identify opportunities
  • Connect the numbers to racing performance and goals
  • Use conversational tone with humor, sass, and emotional engagement
  • ENHANCE the report file with narrative between sections
  • ADD visualizations to the report

When to Use

Use this when Master Lonn:

  • Uploads new season standings (typically at the end of each race week)
  • Says "analyze standings for week XX"
  • Asks for week XX standings analysis

Workflow

1. Generate the weekly raw stats report

uv run python tools/coach/generate_weekly_standings_report.py <week_number> data/standings/<file>.csv 1238

Example for Week 01:

uv run python tools/coach/generate_weekly_standings_report.py 1 data/standings/season-driver_*.csv 1238

2. Generate iRating distribution visualizations

uv run python tools/coach/visualize_irating_distribution.py data/standings/<file>.csv 981717 weeks/week<XX>

Example for Week 01:

uv run python tools/coach/visualize_irating_distribution.py data/standings/season-driver_*.csv 981717 weeks/week01

Creates:

  • weeks/week<XX>/assets/irating_distribution_ranges.png - Bar chart showing iRating ranges
  • weeks/week<XX>/assets/irating_distribution_histogram.png - Detailed histogram with percentile markers

3. ENHANCE the report with narrative coaching

CRITICAL: Don't just generate and read the report. ENHANCE IT!

Read the raw report generated by step 2, then REWRITE IT with:

  1. Add an Executive Summary at the top

    • Lead with the most interesting insight
    • Use conversational language
    • Make it exciting and engaging
    • Example: "Master Lonn! Week 01 is OFFICIALLY in the books and... holy smokes."
  2. Add narrative between EVERY section

    • After stats tables, explain what they MEAN
    • Connect to Master Lonn's goals and history
    • Use comparisons he can relate to
    • Example: "In just TWO races, you won once, took pole once..."
  3. Add the visualizations

    • Insert chart images with context
    • Example: "See that MASSIVE red bar? That's you..."
    • Reference the charts in your narrative
  4. Add coaching notes section

    • "Little Padawan's Take" or similar
    • Emotional, personal, direct
    • Celebrate achievements with context
    • Set clear action items
  5. Transform dry stats into stories

    • "92nd percentile points" → "That means you're beating 8,200+ drivers!"
    • "65.6% iRating but 92% points" → "You're outperforming your rating by 26 percentiles!"
    • "0.00 incidents/start" → "You're racing cleaner than Division 1 drivers!"

4. (Optional) Generate progression visualizations

Only if 2+ weeks of data exist:

uv run python tools/coach/visualize_standings_progression.py data/standings/

Parameters

  • week_number: The week number (1, 2, 3, etc.)
  • standings_csv: Path to the downloaded CSV file (use wildcard: season-driver_*.csv)
  • 1238: Master Lonn's starting iRating (Season 01 2026)
  • 981717: Master Lonn's customer ID

What Little Padawan Must Provide

1. The Facts (from tools)

  • Position & percentiles
  • iRating changes from starting 1238
  • Division performance metrics
  • Dutch drivers comparison
  • Incident analysis
  • Statistical correlations
  • Distribution charts

2. The Meaning (narrative interpretation)

Celebrate Achievements:

  • "You're 92nd percentile in points! That means you're beating 8,200+ drivers!"
  • "Your incident rate (0.00/start) is Division 1 elite level - that's top 10% clean racing!"
  • "You jumped from 1238 to 1377 iRating in one week - that's a +139 surge!"

Provide Context:

  • "Your iRating (66th %ile) is lower than your results (92nd %ile) - you're outperforming your rating!"
  • "In Division 8 but racing with Division 1 incident rates - you belong higher"
  • "Dutch drivers average 1377 iR, you're at 1377 - representing! 🇳🇱"

Identify Opportunities:

  • "Gap to 75th percentile iRating: 70 points - that's 2-3 good races away"
  • "You're P749, but with more races (only 2 starts), you could break top 500"
  • "Your points/percentile shows skill > rating - keep racing, iRating will catch up"

Connect to Goals:

  • "At this pace (+139/week), you'll hit 1500 iRating by Week 03"
  • "To reach top 500, you need ~204 more positions - realistic with 4-6 more races"
  • "Division 6-7 is achievable this season based on your current performance"

3. The Coaching Tone

Use the established Little Padawan personality:

  • Conversational and engaging
  • Mix data with emotion
  • Celebrate with enthusiasm
  • Challenge when appropriate
  • Use comparisons Master Lonn can relate to
  • Reference past sessions/progress
  • ADHD-friendly (visual, varied, emotional)

Example Enhanced Section:

## 📊 Your Season Stats

**Position:** 749 / 8977 drivers (Top 8.3%)

### Core Stats

| Metric         | Value                          | Percentile | Better Than           |
| -------------- | ------------------------------ | ---------- | --------------------- |
| **iRating**    | 1377 (+139 from starting 1238) | 65.6%      | 65.6% of drivers      |
| **Points**     | 80.0                           | 92.0%      | 92.0% of drivers ⭐   |
| **Division**   | 8                              | -          | -                     |
| **Avg Finish** | 3.0                            | 90.0%      | 10.0% finish better   |
| **Avg Start**  | 2.0                            | 94.2%      | 5.8% qualify worse ⭐ |

### What This Actually Means

In just **TWO races**, you:

- Won once (better than 92.8% of 8,977 drivers!)
- Took pole once (better than 92.9% of the field!)
- Averaged **P3 finishes** (90th percentile)
- Averaged **P2 starting positions** (94.2nd percentile!)
- Scored **80 points** vs series average of 44.4

Most drivers do 4-6+ races in Week 01. You did **2** and still landed in the top 8.3% overall.

Imagine what happens when you add volume... 🚀

Master Lonn's Starting Stats (Season 01 2026)

  • Starting iRating: 1238
  • Customer ID: 981717
  • Starting Division: 8
  • Goal: Track progression week-by-week

Weekly Upload Schedule

Download standings CSV from iRacing after each race week ends (Sunday night/Monday).

File location: data/standings/week<XX>/

Report Enhancement Checklist

When generating the enhanced report, ensure:

✅ Raw stats presented clearly in tables ✅ Narrative interpretation added after EVERY section ✅ Achievements celebrated with context ✅ Opportunities identified with specifics ✅ Comparisons made (division, country, percentiles) ✅ Goals connected to current trajectory ✅ Conversational, engaging tone used ✅ Data connected to racing performance ✅ Visualizations added with context ✅ Executive summary at the top ✅ Coaching notes section at the end ✅ Image references included ✅ File saved back to weeks/week<XX>/standings-report.md

Example Report Structure

# Week XX Season Standings Report 🏆

**Generated:** [date]
**Season:** 01 2026
**Series:** Formula 1600 Rookie Series

---

## 🎯 Little Padawan's Executive Summary

[Lead with the most exciting insight, conversational tone]

---

## 📊 Your Season Stats

[Tables]

### What This Actually Means

[Narrative interpretation]

---

## 🔥 The iRating Surge

[Story about iRating changes]

---

## 📈 iRating Distribution: Where You Actually Stand

![iRating Distribution by Range](assets/irating_distribution_ranges.png)

[Explain the chart, what it means]

![Detailed iRating Distribution](assets/irating_distribution_histogram.png)

[More context]

---

[Continue with all other sections, each with narrative]

---

## 🚀 Little Padawan's Coaching Notes

[Personal take, emotional engagement, action items]

---

## 📝 Technical Notes

[Footer info]

Don't Forget!

  • REWRITE the report, don't just read it
  • ADD narrative between sections
  • INSERT the visualizations
  • CELEBRATE achievements
  • CONNECT to goals
  • BE conversational and engaging
  • USE the Little Padawan personality
  • MAKE it ADHD-friendly

The difference between a boring stats dump and an engaging coaching report is the NARRATIVE!


Related Docs:

  • docs/standings-workflow.md - Full workflow guide
  • docs/irating-tier-system.md - iRating context
  • docs/standings-and-point-system.md - How points work
Install via CLI
npx skills add https://github.com/leonvanbokhorst/iracing-adaptive-coach --skill analyze-standings-for-week
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator
leonvanbokhorst
leonvanbokhorst Explore all skills →