Skip to content

Enhance Strava skill, add OpenAI CLI docs & params#215

Merged
rprouse merged 1 commit intomainfrom
skiing
Jan 14, 2026
Merged

Enhance Strava skill, add OpenAI CLI docs & params#215
rprouse merged 1 commit intomainfrom
skiing

Conversation

@rprouse
Copy link
Owner

@rprouse rprouse commented Jan 14, 2026

  • Add strava skiing command for ski season summaries and breakdowns
  • Allow strava view to filter by days; update activity icons
  • Extend Strava activity model with MaxSpeed, non-null SufferScore
  • Refactor Strava service for efficient, parameterized fetching
  • Add OpenAI CLI docs: data model, quickstart, OpenAPI spec
  • Bump version to 7.3.0; update README for new Strava features

Summary by CodeRabbit

  • New Features

    • Added skiing command displaying season statistics and ski activity summaries.
    • Enhanced activity view with customizable time-based filtering.
  • Documentation

    • Added comprehensive OpenAI CLI model parameters documentation.
    • Updated README to reflect ski season tracking features.
  • Chores

    • Version updated to 7.3.0.

✏️ Tip: You can customize this high-level summary in your review settings.

- Add `strava skiing` command for ski season summaries and breakdowns
- Allow `strava view` to filter by days; update activity icons
- Extend Strava activity model with MaxSpeed, non-null SufferScore
- Refactor Strava service for efficient, parameterized fetching
- Add OpenAI CLI docs: data model, quickstart, OpenAPI spec
- Bump version to 7.3.0; update README for new Strava features
@coderabbitai
Copy link

coderabbitai bot commented Jan 14, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Adds a new skiing command to the Strava skill with season-based statistics, refactors StravaService to accept a days parameter for activity filtering, updates Activity model with MaxSpeed property, adjusts fitness icon mappings, and introduces OpenAI CLI specification documentation.

Changes

Cohort / File(s) Summary
Version and Configuration
Guppi.Console/Guppi.Console.csproj, Guppi.Console/Properties/launchSettings.json
Version bumped from 7.2.0 to 7.3.0; added two new launch profiles for strava skiing and strava view commands
Strava Skill Enhancement
Guppi.Console/Skills/StravaSkill.cs
Added new skiing command with season-based stats calculation; enhanced View command to use GetActivities(days); implemented Skiing() method displaying activity table and Alpine/Backcountry ski counts
Strava Service Refactor
Guppi.Core/Services/StravaService.cs, Guppi.Core/Interfaces/Services/IStravaService.cs
Updated GetActivities signature to accept int days parameter; extracted SetAccessToken() private method for token management; refactored activity query to use epoch-based filtering
Activity Model Updates
Guppi.Core/Entities/Strava/Activity.cs, Guppi.Core/Services/Strava/StravaActivity.cs
Added MaxSpeed property; changed SufferScore from nullable (double?) to non-nullable (double) with null-coalescing default
Fitness Icon Mappings
Guppi.Core/Services/Strava/FitnessIcon.cs
Updated AlpineSki emoji from Skis to Skier; updated BackcountrySki emoji from Skis to MountFuji
Documentation
README.md
Updated Strava section description to include ski season summary
OpenAI Specification
specs/001-openai-model-params/contracts/openai-cli.yaml, specs/001-openai-model-params/data-model.md, specs/001-openai-model-params/quickstart.md
Added OpenAPI 3.0 spec for /openai endpoint; introduced data model documentation with Model and Parameter entities; created quickstart guide with prerequisites and usage examples

Sequence Diagram(s)

sequenceDiagram
    actor User
    participant StravaSkill
    participant StravaService
    participant StravaAPI as Strava API

    User->>StravaSkill: strava skiing
    StravaSkill->>StravaService: SetAccessToken()
    StravaService->>StravaAPI: GET /athlete (with auth header)
    StravaAPI-->>StravaService: Athlete confirmed
    
    StravaSkill->>StravaService: GetActivities(days)
    StravaService->>StravaAPI: GET /athlete/activities<br/>(after=epoch_timestamp)
    StravaAPI-->>StravaService: Activity[] list
    StravaService-->>StravaSkill: Mapped activities
    
    StravaSkill->>StravaSkill: Calculate season year & days elapsed
    StravaSkill->>StravaSkill: Build activity & summary tables
    StravaSkill->>User: Display skiing stats & counts
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 wiggles nose excitedly 🎿
A skiing skill hops into view,
With season stats and tables new!
The Strava service dances fast,
And OpenAI specs are cast—
Hoorah, our Guppi grows so bright! 🌟

✨ Finishing touches
  • 📝 Generate docstrings


📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1caea9a and b1418b7.

📒 Files selected for processing (12)
  • Guppi.Console/Guppi.Console.csproj
  • Guppi.Console/Properties/launchSettings.json
  • Guppi.Console/Skills/StravaSkill.cs
  • Guppi.Core/Entities/Strava/Activity.cs
  • Guppi.Core/Interfaces/Services/IStravaService.cs
  • Guppi.Core/Services/Strava/FitnessIcon.cs
  • Guppi.Core/Services/Strava/StravaActivity.cs
  • Guppi.Core/Services/StravaService.cs
  • README.md
  • specs/001-openai-model-params/contracts/openai-cli.yaml
  • specs/001-openai-model-params/data-model.md
  • specs/001-openai-model-params/quickstart.md

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rprouse rprouse enabled auto-merge January 14, 2026 20:07
@rprouse rprouse merged commit 60a0c05 into main Jan 14, 2026
2 checks passed
@rprouse rprouse deleted the skiing branch January 14, 2026 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant