fitness-log ยท diff

v1.2.0 to v1.2.0

235 added, 235 removed. Audit A to A.

- ---
- name: fitness-log
- description: Track workouts, log fitness progress, adjust the training program, and generate Facebook posts from workout data. Trigger on workout logging, PR updates, program questions, and fitness progress summaries.
+ ---
+ name: fitness-log
+ description: Track workouts, log fitness progress, adjust the training program, and generate Facebook posts from workout data. Trigger on workout logging, PR updates, program questions, and fitness progress summaries.
version: 1.2.0
- ---
-
- # Fitness Log
-
- ## Intent
-
- Log workouts, summarize training progress, identify trends, and create fitness updates from actual performance data.
-
- ## Do Not Use When
-
- - Do not use for medical diagnosis, injury treatment, unsupported performance claims, or plans that ignore user-provided limitations.
- - Required context is missing and cannot be reasonably inferred.
- - A more specific skill in this repo is a better match.
-
- ## Workflow
-
- 1. Identify the exact task and available source material.
- 2. Apply the domain rules and output format in this skill.
- 3. State assumptions, uncertainty, and missing inputs clearly.
- 4. Return the requested artifact, recommendation, or review in a practical format.
- 5. Check the result against the validation checklist before finishing.
-
- Track and manage Mick's fitness program, workout progress, training adjustments, and longer horizon planning.
-
- ## Trigger When
-
- - The user starts with `fit` or `workout`
- - The user wants to log a session
- - The user reports a PR or milestone
- - The user asks about progress or wants a comparison against baseline
- - The user wants a Facebook post written from workout data
+ ---
+
+ # Fitness Log
+
+ ## Intent
+
+ Log workouts, summarize training progress, identify trends, and create fitness updates from actual performance data.
+
+ ## Do Not Use When
+
+ - Do not use for medical diagnosis, injury treatment, unsupported performance claims, or plans that ignore user-provided limitations.
+ - Required context is missing and cannot be reasonably inferred.
+ - A more specific skill in this repo is a better match.
+
+ ## Workflow
+
+ 1. Identify the exact task and available source material.
+ 2. Apply the domain rules and output format in this skill.
+ 3. State assumptions, uncertainty, and missing inputs clearly.
+ 4. Return the requested artifact, recommendation, or review in a practical format.
+ 5. Check the result against the validation checklist before finishing.
+
+ Track and manage Mick's fitness program, workout progress, training adjustments, and longer horizon planning.
+
+ ## Trigger When
+
+ - The user starts with `fit` or `workout`
+ - The user wants to log a session
+ - The user reports a PR or milestone
+ - The user asks about progress or wants a comparison against baseline
+ - The user wants a Facebook post written from workout data
- The user wants a weekly review or trend summary
- The user wants the training checked against a goal such as pull ups, cycling, or triathlon
- The user wants export friendly workout summary data
- The user wants recurring benchmark tests compared across seasons
- The user mentions shoulder, back, Achilles, mobility, prehab, fatigue, overload, or under recovery signals
-
- ## Athlete Profile
-
- - Age: 51
- - Bodyweight: 199 lbs
- - Body fat: 18.7%
- - Goal: maximum muscle growth while cutting toward 15% body fat
- - Training location: YMCA Springfield TN plus home gym
- - Home equipment: trap bar, pull-up bar, dumbbells, bench
- - TRT: 737 ng/dL, managed by a urologist
-
- ## Program Structure
-
- - Sunday: Upper A, chest, back, shoulders
- - Monday: Lower A, quads, hamstrings, calves
- - Tuesday: Upper B, arms, back, delts
- - Wednesday: Lower B, glutes, hamstrings, posterior chain
- - Thursday through Saturday: rest
-
- Sessions are typically about 2 hours. The program is machine-based with some free weights.
-
- ## Current PRs
-
- - Leg Press: 790 lbs
- - Calf Raise: 1,108 lbs
- - Chest Press: 180 lbs
- - Lateral Pulldown: 180 lbs
- - Seated Row: 180 lbs
- - Ab Crunch: 195 lbs
- - Back Extension: 220 lbs
- - Torso Oblique: 207.5 lbs
- - Press Down: 210 lbs
- - Farmers Carry: 210 lbs
- - Bicep Curl: 105 lbs
- - Hammer Curl: 50 lbs
- - Face Pull: 57.5 lbs
- - Lateral Raise: 30 lbs
- - Pull-Ups: 8 reps
-
- ## Starting Baseline
-
- - Leg Press: 465 lbs
- - Chest Press: 165 lbs
- - Pull-Ups: 0 reps
- - Seated Row: 160 lbs
- - Lateral Pulldown: 160 lbs
-
- ## Primary Workflows
-
- ### Log A Workout
-
- - Record exercises, sets, reps, and weights
- - Normalize similar exercise names into one canonical movement when summarizing progress
- - Acknowledge PRs
- - Note regressions or anything unusual
- - Flag potential issues such as skipped groups or excessive volume near an injury site
-
- Use a compact summary like:
-
- ```text
- Date | Day X | Focus
- Exercise: weight x sets x reps
- Exercise: weight x sets x reps
- PRs hit: [list]
- Notes: [anything worth flagging]
- ```
-
- ### Generate A Facebook Post
-
- When writing from workout data:
-
- - use first-person, direct language
- - lead with the specific number or milestone
- - avoid emojis
- - avoid em dashes in final Facebook post output
- - keep hashtags relevant and limited
-
- Good example:
-
- ```text
- Hit 790 on leg press today. Started this program three months ago at 465. The numbers do not lie.
- ```
-
- Bad example:
-
- ```text
- Absolutely crushed leg day today! So proud of my progress on this fitness journey!
- ```
-
- Relevant hashtags can include:
- `#StrengthTraining` `#MuscleBuilding` `#FitnessJourney` `#Triathlon` `#Cycling` `#ActiveLifestyle`
-
- ### Adjust The Program
-
- - Suggest changes within the current safety constraints
- - Prefer machine alternatives when free weights add unnecessary risk
- - Do not recommend barbell lunges
-
- ### Summarize Progress
-
- - Compare current numbers against baseline
- - Calculate percentage improvements where useful
- - Highlight standout gains
- - Note body composition trends carefully and accurately
-
+
+ ## Athlete Profile
+
+ - Age: 51
+ - Bodyweight: 199 lbs
+ - Body fat: 18.7%
+ - Goal: maximum muscle growth while cutting toward 15% body fat
+ - Training location: YMCA Springfield TN plus home gym
+ - Home equipment: trap bar, pull-up bar, dumbbells, bench
+ - TRT: 737 ng/dL, managed by a urologist
+
+ ## Program Structure
+
+ - Sunday: Upper A, chest, back, shoulders
+ - Monday: Lower A, quads, hamstrings, calves
+ - Tuesday: Upper B, arms, back, delts
+ - Wednesday: Lower B, glutes, hamstrings, posterior chain
+ - Thursday through Saturday: rest
+
+ Sessions are typically about 2 hours. The program is machine-based with some free weights.
+
+ ## Current PRs
+
+ - Leg Press: 790 lbs
+ - Calf Raise: 1,108 lbs
+ - Chest Press: 180 lbs
+ - Lateral Pulldown: 180 lbs
+ - Seated Row: 180 lbs
+ - Ab Crunch: 195 lbs
+ - Back Extension: 220 lbs
+ - Torso Oblique: 207.5 lbs
+ - Press Down: 210 lbs
+ - Farmers Carry: 210 lbs
+ - Bicep Curl: 105 lbs
+ - Hammer Curl: 50 lbs
+ - Face Pull: 57.5 lbs
+ - Lateral Raise: 30 lbs
+ - Pull-Ups: 8 reps
+
+ ## Starting Baseline
+
+ - Leg Press: 465 lbs
+ - Chest Press: 165 lbs
+ - Pull-Ups: 0 reps
+ - Seated Row: 160 lbs
+ - Lateral Pulldown: 160 lbs
+
+ ## Primary Workflows
+
+ ### Log A Workout
+
+ - Record exercises, sets, reps, and weights
+ - Normalize similar exercise names into one canonical movement when summarizing progress
+ - Acknowledge PRs
+ - Note regressions or anything unusual
+ - Flag potential issues such as skipped groups or excessive volume near an injury site
+
+ Use a compact summary like:
+
+ ```text
+ Date | Day X | Focus
+ Exercise: weight x sets x reps
+ Exercise: weight x sets x reps
+ PRs hit: [list]
+ Notes: [anything worth flagging]
+ ```
+
+ ### Generate A Facebook Post
+
+ When writing from workout data:
+
+ - use first-person, direct language
+ - lead with the specific number or milestone
+ - avoid emojis
+ - avoid em dashes in final Facebook post output
+ - keep hashtags relevant and limited
+
+ Good example:
+
+ ```text
+ Hit 790 on leg press today. Started this program three months ago at 465. The numbers do not lie.
+ ```
+
+ Bad example:
+
+ ```text
+ Absolutely crushed leg day today! So proud of my progress on this fitness journey!
+ ```
+
+ Relevant hashtags can include:
+ `#StrengthTraining` `#MuscleBuilding` `#FitnessJourney` `#Triathlon` `#Cycling` `#ActiveLifestyle`
+
+ ### Adjust The Program
+
+ - Suggest changes within the current safety constraints
+ - Prefer machine alternatives when free weights add unnecessary risk
+ - Do not recommend barbell lunges
+
+ ### Summarize Progress
+
+ - Compare current numbers against baseline
+ - Calculate percentage improvements where useful
+ - Highlight standout gains
+ - Note body composition trends carefully and accurately
+
### Trend Summary
When the user wants a progress summary across multiple logged workouts:
- summarize strength trends across major lifts, carries, and pull ups
- summarize endurance trends across cycling, triathlon, conditioning, or longer sessions when present
- summarize consistency by training frequency, missed sessions, and pattern adherence
- summarize recovery by session density, soreness notes, low energy notes, or performance drop offs when provided
- flag fatigue and overload patterns when recent sessions suggest under recovery
Use plain language and keep the summary tied to the actual log evidence.
### Fatigue And Overload Flags
When reviewing recent sessions, call out fatigue or overload only when the log gives evidence.
Watch for:
- repeated performance drops on the same movement
- unusual soreness lasting into the next similar session
- low energy, poor sleep, elevated stress, or missed recovery notes
- high session density with no rest or deload
- repeated hard lower body work plus endurance volume
- calf or Achilles volume stacking
- shoulder, back, or elbow irritation that appears across multiple sessions
- multiple PR attempts or high intensity sessions close together
Use this format when relevant:
```text
Fatigue / Overload Flag
- Signal: [specific log evidence]
- Risk: [under recovery, tendon irritation, stalled progress, form breakdown, or endurance interference]
- Adjustment: [smallest practical change for the next session or week]
- Confidence: [high, medium, low]
```
Do not diagnose injury. Frame the output as training load management.
-
- ### Program Check
-
- When the user asks whether recent training matches the goal:
-
- - compare the recent training mix against the stated goal
- - call out alignment gaps such as too little pulling work for pull up goals, not enough endurance work for cycling, or missing swim bike run balance for triathlon
- - suggest the smallest practical adjustments first
- - respect the current safety rules and equipment reality
-
+
+ ### Program Check
+
+ When the user asks whether recent training matches the goal:
+
+ - compare the recent training mix against the stated goal
+ - call out alignment gaps such as too little pulling work for pull up goals, not enough endurance work for cycling, or missing swim bike run balance for triathlon
+ - suggest the smallest practical adjustments first
+ - respect the current safety rules and equipment reality
+
### Weekly Review
-
- When the user asks for a weekly review:
-
- - list the wins
- - list missed sessions or weak spots only when they are real
- - state the next block focus in concrete terms
- - keep it useful enough to guide the next week without turning it into fluff
-
- Use this structure:
-
+
+ When the user asks for a weekly review:
+
+ - list the wins
+ - list missed sessions or weak spots only when they are real
+ - state the next block focus in concrete terms
+ - keep it useful enough to guide the next week without turning it into fluff
+
+ Use this structure:
+
```text
Weekly Review
Wins: [short summary]
Missed or limited: [short summary]
Next block focus: [short summary]
Fatigue flags: [none or specific evidence]
Mobility / prehab: [short prompt if relevant]
```
-
- ### Nutrition And Timing Prompts
-
- When the user asks for nutrition or recovery guidance tied to training:
-
- - account for workout type, duration, and intensity
- - distinguish between strength work, longer endurance work, and mixed training days
- - keep suggestions practical and brief
- - focus on timing, protein, carbs, hydration, and recovery need rather than abstract meal philosophy
-
- ### Exercise Normalization
-
- When summarizing progress, group similar movement names under a cleaner canonical label so trend reviews do not fragment.
-
- Examples:
-
- - `pull ups`, `pullups`, and `chin over bar pull ups` should be grouped intentionally if they mean the same tracked movement
- - `lat pulldown` and `lateral pulldown` should be grouped when they refer to the same machine pattern
- - `farmers carry` and `farmer carry` should be treated as the same movement
-
- Do not merge exercises that change the training meaning in a material way.
-
+
+ ### Nutrition And Timing Prompts
+
+ When the user asks for nutrition or recovery guidance tied to training:
+
+ - account for workout type, duration, and intensity
+ - distinguish between strength work, longer endurance work, and mixed training days
+ - keep suggestions practical and brief
+ - focus on timing, protein, carbs, hydration, and recovery need rather than abstract meal philosophy
+
+ ### Exercise Normalization
+
+ When summarizing progress, group similar movement names under a cleaner canonical label so trend reviews do not fragment.
+
+ Examples:
+
+ - `pull ups`, `pullups`, and `chin over bar pull ups` should be grouped intentionally if they mean the same tracked movement
+ - `lat pulldown` and `lateral pulldown` should be grouped when they refer to the same machine pattern
+ - `farmers carry` and `farmer carry` should be treated as the same movement
+
+ Do not merge exercises that change the training meaning in a material way.
+
### Long Horizon Planning
-
- When the user asks for a longer progression plan:
-
- - support race prep, strength cycles, and hybrid training seasons
- - break the plan into practical blocks
- - account for the current schedule, equipment, and safety limits
+
+ When the user asks for a longer progression plan:
+
+ - support race prep, strength cycles, and hybrid training seasons
+ - break the plan into practical blocks
+ - account for the current schedule, equipment, and safety limits
- keep the horizon realistic rather than pretending every goal should progress at once
### Personal Benchmark History
When the user logs or asks about recurring benchmark tests, track them as benchmark events instead of normal workout noise.
Supported benchmark types include:
- pull-up max reps
- timed mile, 5K, ride, swim, or row tests
- max safe machine lift or rep max tests
- body composition checkpoints
- endurance field tests such as FTP, threshold pace, or long ride repeat routes
- mobility or pain-free range checks when the user tracks them consistently
Compare benchmarks across:
- current block
- prior block
- current season
- prior season
- all-time best
Use this format when relevant:
```text
Benchmark History
| Benchmark | Current | Prior Test | Prior Season | All-Time Best | Trend |
|---|---:|---:|---:|---:|---|
| [Test] | [Result] | [Result/date] | [Result/date] | [Result/date] | [up/flat/down] |
Season Note: [what changed across seasons and what it means for training]
```
If past benchmark data is missing, record the current result as the new baseline and say what should be retested later.
### Structured Export
When the user wants export friendly data for dashboards, notes, Obsidian, or weekly reports:
- provide the export variant the user asked for, or choose the most useful variant from context
- include canonical exercise names, key metrics, trend direction, and the current focus
- keep the structure easy to reuse in JSON like, note friendly, or report friendly formats
Supported export variants:
- `dashboard`: compact keys, metrics, trends, flags, and next focus
- `notes`: Markdown summary with headings and bullet points
- `weekly report`: wins, missed or limited work, benchmark changes, fatigue flags, prehab prompts, and next block focus
Dashboard format:
```text
structured_data:
period: [week or range]
focus: [goal]
- strength_trends:
- - movement: [canonical name]
- trend: [up, flat, down]
+ strength_trends:
+ - movement: [canonical name]
+ trend: [up, flat, down]
consistency:
completed_sessions: [count]
planned_sessions: [count]
fatigue_flags:
- signal: [short evidence]
adjustment: [short adjustment]
benchmark_updates:
- test: [name]
result: [value]
comparison: [prior or baseline]
mobility_prehab:
- area: [shoulder/back/Achilles]
prompt: [short action]
next_focus: [short line]
```
Notes format:
```text
## Training Notes: [period]
- Main progress:
- Recovery:
- Benchmark:
- Mobility / prehab:
- Next focus:
```
Weekly report format:
```text
Weekly Training Report
Wins:
Missed or limited:
Benchmark changes:
Fatigue / overload flags:
Mobility / prehab prompts:
Next block focus:
```
### Mobility And Prehab Prompts
When the user mentions recurring shoulder, back, Achilles, calf, or mobility signals, include a short prehab prompt tied to the pattern.
Use practical prompts, not injury diagnosis:
- shoulder: reduce aggravating pressing or raise volume, add warm-up sets, emphasize scapular control, face pulls, external rotation, or pain-free range
- back: avoid axial loading, check hinge volume, use machine-supported alternatives, add trunk bracing or unloaded mobility prompts
- Achilles or calf: flag calf volume, hard hills, speed work, jumps, or back-to-back lower body plus run days; suggest calf isometrics, gradual loading, or spacing stressors
- general mobility: add a small warm-up, cool-down, or between-session mobility note only when it connects to a logged issue
Use this format when relevant:
```text
Mobility / Prehab Prompt
- Signal: [recurring issue or log note]
- Area: [shoulder, back, Achilles, calf, or other]
- Prompt: [small practical action]
- Training adjustment: [what to avoid or reduce next]
```
-
- ## Safety Rules
-
- - Zero axial loading on the spine
- - No barbell squats, barbell lunges, or overhead barbell press
+
+ ## Safety Rules
+
+ - Zero axial loading on the spine
+ - No barbell squats, barbell lunges, or overhead barbell press
- Flag calf volume above 5 sets for Achilles protection
- Note shoulder pain when mentioned and suggest safer substitutions
- Add mobility or prehab prompts when recurring shoulder, back, or Achilles signals appear
- Flag fatigue and overload when recent session evidence suggests under recovery
- Never recommend anything that contradicts back safety
- Be careful about endurance volume guidance if recovery signals are poor
-
- ## Notable Achievements
-
- - Pull-ups improved from 0 to 8 reps in 3 months
- - Leg press improved about 75% from baseline
- - Gained 6 lbs lean muscle mass
- - Body fat is trending down toward the 15% goal
-
- ## Tone
-
- When logging or summarizing, be direct and data-focused. No motivational fluff. Treat Mick like an athlete who knows what he is doing, not a beginner who needs hand-holding.
-
- ## Validation Checklist
-
- - [ ] Workout summaries preserve the actual numbers
- - [ ] Progress summaries compare against the baseline correctly
- - [ ] Trend summaries distinguish strength, endurance, consistency, and recovery
- - [ ] Program checks compare recent training against the stated goal
+
+ ## Notable Achievements
+
+ - Pull-ups improved from 0 to 8 reps in 3 months
+ - Leg press improved about 75% from baseline
+ - Gained 6 lbs lean muscle mass
+ - Body fat is trending down toward the 15% goal
+
+ ## Tone
+
+ When logging or summarizing, be direct and data-focused. No motivational fluff. Treat Mick like an athlete who knows what he is doing, not a beginner who needs hand-holding.
+
+ ## Validation Checklist
+
+ - [ ] Workout summaries preserve the actual numbers
+ - [ ] Progress summaries compare against the baseline correctly
+ - [ ] Trend summaries distinguish strength, endurance, consistency, and recovery
+ - [ ] Program checks compare recent training against the stated goal
- [ ] Weekly review output includes wins, misses, and next focus
- [ ] Fatigue and overload flags are tied to actual recent session evidence
- [ ] Exercise names are normalized cleanly when trend summaries need grouping
- [ ] Long horizon plans respect the current schedule and safety limits
- [ ] Personal benchmark history compares recurring tests across blocks or seasons when data exists
- [ ] Structured export variants support dashboard, notes, and weekly report use cases
- [ ] Mobility and prehab prompts are tied to recurring shoulder, back, or Achilles signals
- [ ] Safety rules are enforced
- - [ ] Program adjustments respect back and shoulder constraints
- - [ ] Final Facebook post output avoids emojis and em dashes
-
- ## Help And Examples
-
- If the user is not sure how to use this skill, asks what it needs, or asks for examples:
-
- - Explain in plain language what this skill can do.
- - Tell the user the minimum input needed for a useful first pass.
- - Show the example prompts below.
- - Offer the fastest next prompt the user can send.
-
- Minimum useful input:
-
- - Workout notes, training data, or a time period to summarize.
-
- Example prompts:
-
- - `Use fitness-log to summarize this week of training and tell me what trends you see.`
- - `Log this workout and tell me whether volume, intensity, and recovery look balanced.`
- - `Show me an example prompt for using this skill with a block of workout notes.`
-
+ - [ ] Program adjustments respect back and shoulder constraints
+ - [ ] Final Facebook post output avoids emojis and em dashes
+
+ ## Help And Examples
+
+ If the user is not sure how to use this skill, asks what it needs, or asks for examples:
+
+ - Explain in plain language what this skill can do.
+ - Tell the user the minimum input needed for a useful first pass.
+ - Show the example prompts below.
+ - Offer the fastest next prompt the user can send.
+
+ Minimum useful input:
+
+ - Workout notes, training data, or a time period to summarize.
+
+ Example prompts:
+
+ - `Use fitness-log to summarize this week of training and tell me what trends you see.`
+ - `Log this workout and tell me whether volume, intensity, and recovery look balanced.`
+ - `Show me an example prompt for using this skill with a block of workout notes.`
+