Home
TennisAgent
GarminAgent
Showcase
Phoenix
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
Unknown
119
27% of swings
Fairway Wood
41
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