← Back to Skills Marketplace
pfrederiksen

GHIN Golf Tracker

by Paul Frederiksen · GitHub ↗ · v1.3.0
cross-platform ✓ Security Clean
596
Downloads
1
Stars
1
Active Installs
5
Versions
Install in OpenClaw
/install ghin-golf-tracker
Description
Analyzes local GHIN golf JSON data to report handicap trends, scoring patterns, course stats, and yearly performance without external connections.
README (SKILL.md)

GHIN Golf Tracker

OpenClaw skill for analyzing GHIN (Golf Handicap and Information Network) golf statistics and handicap tracking.

Description

This skill provides comprehensive analysis of golf statistics from GHIN data including handicap trends, scoring patterns, course performance, and historical breakdowns. The skill reads pre-collected GHIN data from a JSON file and computes detailed statistics in both human-readable and machine-readable formats.

Key Features:

  • Current handicap index with trend analysis (improving/declining/stable)
  • Lifetime totals including round counts and scoring extremes
  • Best 5 differentials with course and date information
  • Most played courses with round counts and average scores
  • Year-by-year performance breakdown
  • Scoring averages by par (3/4/5) when available
  • Performance statistics (GIR%, fairways%, putts) when available
  • Handicap range analysis with dates

System Access

File System:

  • READ: Single GHIN data JSON file (path provided as command-line argument)

Network Access: None

Subprocess/Shell: None

What It Does NOT Do

This skill is designed for data analysis only and explicitly does NOT:

  • No network access: Does not connect to GHIN.com or any external services
  • No web scraping: Does not perform browser automation or web requests
  • No subprocess execution: Does not run external commands or shell scripts
  • No file writes: Does not create, modify, or delete any files
  • No credential handling: Does not store, read, or manage login credentials
  • No data collection: Does not gather GHIN data from external sources

Data Collection: GHIN does not offer a public API for score history. Data collection requires separate browser automation tooling (not included in this skill). See the README for guidance on how to populate the data file.

Resources

Scripts

  • scripts/ghin_stats.py - Main analysis script (Python 3.8+ required)

Usage

Basic Analysis

python3 scripts/ghin_stats.py /path/to/ghin-data.json

JSON Output

python3 scripts/ghin_stats.py /path/to/ghin-data.json --format json

Expected Data Format

The script expects a JSON file with the following structure:

{
  "handicap_index": 18.0,
  "lifetime_rounds": 83,
  "handicap_history": [
    {"date": "2026-02-02", "index": 18.0},
    {"date": "2026-01-15", "index": 17.8}
  ],
  "stats": {
    "par3_avg": 4.06,
    "par4_avg": 4.94,
    "par5_avg": 5.73,
    "gir_pct": 50,
    "fairways_pct": 65,
    "putts_avg": 31.2
  },
  "scores": [
    {
      "date": "2026-02-01",
      "score": "82A",
      "course": "Las Vegas Golf Club",
      "cr_slope": "68.0/117",
      "differential": 13.5
    }
  ]
}

Example Output (Text Format)

GHIN Golf Statistics Report
==============================

Current Handicap: 18.0
Trend (last 5): ↗️  Improving

LIFETIME TOTALS
---------------
Total Rounds: 83
Best Score: 72
Worst Score: 95

BEST DIFFERENTIALS
-----------------
1. 8.2 - Pebble Beach Golf Links (2025-08-15)
2. 9.1 - Augusta National Golf Club (2025-09-22)
3. 10.4 - St. Andrews Old Course (2025-07-10)

MOST PLAYED COURSES
-------------------
Las Vegas Golf Club: 12 rounds (avg 84.2)
Phoenix Country Club: 8 rounds (avg 86.1)
Scottsdale National: 6 rounds (avg 82.9)

YEARLY BREAKDOWN
----------------
2026: 8 rounds (avg 83.4)
2025: 42 rounds (avg 84.7)
2024: 33 rounds (avg 87.2)

Dependencies

  • Python 3.8+
  • Standard library only (json, sys, argparse, statistics, datetime, pathlib, collections, re)

Installation

This skill can be installed via ClawHub:

clawhub install ghin-golf-tracker

Or manually by cloning the repository and placing it in your OpenClaw skills directory.

Error Handling

The script provides specific error handling for:

  • FileNotFoundError: When the specified JSON file doesn't exist
  • json.JSONDecodeError: When the JSON file is malformed
  • Graceful handling of missing or malformed data fields

Output Formats

  • Text (default): Human-readable formatted report
  • JSON: Machine-readable structured data for further processing

Privacy & Security

  • All processing is done locally on the provided data file
  • No external network connections are made
  • No credentials or sensitive data are stored or transmitted
  • Data is processed in memory only with no persistent storage
Usage Guidance
This skill appears to do exactly what it claims: analyze a locally-provided GHIN JSON file with no network or credential usage. Before installing or running it: 1) verify the repository/source (README references a GitHub repo) to ensure you obtained the unmodified code from a trusted location, 2) inspect the entire scripts/ghin_stats.py file (the provided extract looked consistent, but confirm the truncated tail contains no network or file-write operations), 3) do not give your GHIN credentials to any other skill or agent that would perform data collection; if you must use automated scraping, prefer manual exports or use trusted tooling in an isolated environment, and 4) run the script on sample data or in a sandbox if you are unsure. If you want higher assurance, provide the full script content (untruncated) so it can be re-reviewed.
Capability Analysis
Type: OpenClaw Skill Name: ghin-golf-tracker Version: 1.3.0 The OpenClaw skill 'ghin-golf-tracker' is designed for local analysis of pre-collected GHIN golf data from a JSON file. Both the `SKILL.md` instructions and the `scripts/ghin_stats.py` code explicitly state and adhere to strict limitations: no network access, no subprocess execution, no file writes, and no credential handling. The Python script includes a critical safeguard by enforcing that the input file must have a `.json` extension, preventing arbitrary file reads. The documentation clearly distinguishes between the skill's local processing and the separate (potentially automated) data collection process, which is outside this skill's scope. There is no evidence of malicious intent, prompt injection, or significant vulnerabilities within this skill.
Capability Assessment
Purpose & Capability
Name/description promise (local analysis of GHIN JSON) matches the files and code: the Python script reads a JSON file, computes statistics, and outputs text/JSON. There are no unrelated required binaries or environment variables.
Instruction Scope
SKILL.md and README restrict operation to reading a single .json file and producing analysis. The script enforces a .json suffix and validates expected keys. The docs explicitly deny network/subprocess/file-write behavior and the code shown adheres to that scope.
Install Mechanism
This is an instruction-only skill (no install spec). README suggests installing via 'clawhub' or cloning a GitHub repo (https://github.com/pfrederiksen/ghin-golf-tracker). Because the registry 'Source' is unknown and homepage is empty, confirm the canonical repository and install source before running.
Credentials
The skill requests no environment variables, no credentials, and no config paths. The README warns that data collection (not included) may require credentials — which is appropriate and kept separate from this skill.
Persistence & Privilege
The skill does not request 'always: true' or other elevated persistence. It does not attempt to modify other skills or system settings; it is a simple local analyzer.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ghin-golf-tracker
  3. After installation, invoke the skill by name or use /ghin-golf-tracker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.3.0
Remove browser automation code examples to maintain true credential-free design
v1.2.0
Privacy disclosure: warn users about credential transmission to cloud services in data collection guide
v1.1.0
Add data collection guide with browser-use instructions for scraping ghin.com
v1.0.1
Security: restrict to .json files only, validate GHIN data structure, sanitize error messages to prevent file content leakage
v1.0.0
Initial release of GHIN Golf Tracker with comprehensive local analysis of GHIN golf statistics. - Provides detailed analysis of GHIN data from a local JSON file, including handicap trends, scoring breakdowns, and course performance. - Outputs human-readable reports and machine-readable JSON summaries. - No network access, file writes, web scraping, or credential storage—data analysis only. - Handles errors for missing files and malformed data gracefully. - Requires only Python 3.8+ and the standard library.
Metadata
Slug ghin-golf-tracker
Version 1.3.0
License
All-time Installs 1
Active Installs 1
Total Versions 5
Frequently Asked Questions

What is GHIN Golf Tracker?

Analyzes local GHIN golf JSON data to report handicap trends, scoring patterns, course stats, and yearly performance without external connections. It is an AI Agent Skill for Claude Code / OpenClaw, with 596 downloads so far.

How do I install GHIN Golf Tracker?

Run "/install ghin-golf-tracker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is GHIN Golf Tracker free?

Yes, GHIN Golf Tracker is completely free (open-source). You can download, install and use it at no cost.

Which platforms does GHIN Golf Tracker support?

GHIN Golf Tracker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created GHIN Golf Tracker?

It is built and maintained by Paul Frederiksen (@pfrederiksen); the current version is v1.3.0.

💬 Comments