Project Phoenix Domain

GolfAgent

Golf Swing Analysis · Zepp Universal Sensor

31
Tools
4
Variations
438
Swings
104
Tasks

Overview

GolfAgent analyzes golf swing data captured by the Zepp Universal sensor in golf mode. The same hardware used by TennisAgent captures detailed swing mechanics including club head speed, face angle, swing plane, and tempo for every swing.

Sensor Pipeline

  • Hardware: Zepp Universal sensor (golf mode)
  • Storage: SQLite database (Golf3.db)
  • Metrics: Score, Impact Speed, Hand Speed, Club Plane, Face Angle
  • Shared Hardware: Same sensor as TennisAgent (different mode)

Variations

7

Basic Swing Queries

Retrieve, count, filter, rank swings

8

Advanced Analysis

Tempo, consistency, trends, sessions

8

Performance Profiling

Grades, percentiles, correlations

8

Extended Analysis

Additional metrics and reporting

31 tools · 104 tasks · 4 variations

Key Metrics

Metric Unit Description
Impact Speed mph Club head speed at moment of impact
Hand Speed mph Hand speed during the swing
Score 0-100 Zepp overall swing quality score
Face Angle degrees Club face angle at impact (+open / -closed)
Club Plane degrees Swing plane deviation from ideal

Club Type Distribution

Iron

240

55% of swings

Unknown

119

27% of swings

Fairway Wood

41

9% of swings

Driver

38

9% of swings

Variation 1: Basic Swing Queries

get_swing_data

Retrieve swing(s) by ID or recent

get_swing_count

Count swings with optional filters

get_swing_statistics

Mean, median, std, min, max stats

filter_by_club_type

Filter swings by club type

get_daily_summary

Aggregate practice by day

get_club_breakdown

Statistics grouped by club type

find_top_swings

Rank by score or speed

7 tools · 20 tasks (8 single-tool, 6 two-tool, 4 three-tool, 2 four-tool)

Variation 2: Advanced Analysis

get_tempo_analysis

Backswing/downswing ratio (ideal ~3:1)

get_consistency_analysis

Coefficient of variation (CV) metrics

compare_swings

Compare two specific swings side-by-side

compare_club_types

Statistics comparison between club types

get_trend_analysis

Linear regression trends over time

get_session_analysis

Analyze practice sessions by date

get_timing_breakdown

Detailed swing phase timing

get_improvement_report

Compare recent vs older swings

8 tools · 28 tasks

Variation 3: Performance Profiling

get_performance_profile

Overall A-F grades for score, speed, consistency

identify_strengths_weaknesses

Metrics above/below percentile thresholds

get_swing_quality_distribution

Bucket swings: Excellent/Good/Average/Below/Poor

get_speed_zones

Categorize: Elite/Fast/Average/Slow

get_score_percentiles

Percentile rankings (10th-90th)

get_metric_correlations

Correlation analysis between metrics

get_club_recommendations

Club-specific practice priorities

get_practice_recommendations

Actionable improvement suggestions

8 tools · 28 tasks

Grading System

Grade Percentile Quality Bucket Score Range
A 80th+ Excellent 90-100
B 60-80th Good 80-89
C 40-60th Average 70-79
D 20-40th Below Average 60-69
F <20th Poor <60

CLI Quick Start

# Run CLI cd domains/GolfAgent/cli python main.py # Test variations python -c "from domains.GolfAgent.variations.variation_1 import TOOLS, RULES, TASKS; print(len(TOOLS), 'tools')"

Architecture

# GolfAgent Domain Structure domains/GolfAgent/ service.py # BaseDomain (SQLite loader) cli/ main.py # CLI entry point config.py # Paths, club type mappings data_client.py # Database abstraction nli_parser.py # NLI patterns (most specific first) agent_service.py # Query handlers (Fast Path) variations/ variation_1/ # 7 tools, 20 tasks - Basic Swing variation_2/ # 8 tools, 28 tasks - Advanced variation_3/ # 8 tools, 28 tasks - Profiling variation_4/ # 8 tools, 28 tasks - Extended

Technology

Python SQLite Pandas CLI NLI Parser Zepp Universal Golf Mode TennisAgent Pattern