Pywayne Bin Gitstats
by @wangyendt
Analyze and visualize Git commit time distribution. Use when users need to analyze Git repository commit patterns, generate commit statistics, visualize comm...
clawhub install gitstatsπ About This Skill
name: pywayne-bin-gitstats description: Analyze and visualize Git commit time distribution. Use when users need to analyze Git repository commit patterns, generate commit statistics, visualize commit activity by time, hour, or weekday. Triggered by requests to analyze commits, show commit distribution, visualize Git activity, or generate commit time statistics.
Pywayne Bin Gitstats
Analyze Git repository commit time distribution and generate visualizations.
Quick Start
# Analyze current repository (default: current directory, current branch)
gitstatsSpecify custom output path
gitstats --save output.pngAnalyze with time filter
gitstats --since "2024-01-01"
Usage Examples
Basic Analysis
# Analyze current repository
gitstatsAnalyze specific repository path
gitstats /path/to/repoShow plot in popup window (no file saved)
gitstats -p
Time Range Filtering
# Commits since specific date
gitstats --since "2024-01-01"Commits within date range
gitstats --since "2024-01-01" --until "2024-12-31"Relative time expressions
gitstats --since "1 year ago"
gitstats --since "90 days ago"
gitstats --until "30 days ago"
Branch Selection
# Analyze specific branch
gitstats --branch main
gitstats --branch develop
gitstats --branch origin/mainAnalyze all branches
gitstats --all
Timezone Configuration
# Use UTC timezone
gitstats --tz UTCUse specific timezone
gitstats --tz "America/New_York"
gitstats --tz "Europe/London"Default is Asia/Shanghai
gitstats --tz "Asia/Shanghai"
Custom Output
# Custom output filename
gitstats --save my_stats.pngOutput to subdirectory
gitstats --save results/commit_analysis.pngAbsolute path
gitstats --save /tmp/git_stats.png
Combined Examples
# All branches, last year, custom output
gitstats --since "1 year ago" --all --save yearly_stats.pngMain branch, last 90 days, UTC timezone
gitstats --branch main --since "90 days ago" --tz UTCDevelop branch, date range, show plot
gitstats --branch develop --since "2024-01-01" --until "2024-06-30" -p
Command Reference
| Argument | Description |
|----------|-------------|
| repo | Git repository path. Default: current directory |
| --since | Start time (e.g., "2024-01-01", "1 year ago", "90 days ago") |
| --until | End time (same formats as --since) |
| --tz | Timezone. Default: "Asia/Shanghai". Examples: "UTC", "America/New_York" |
| --branch | Specific branch to analyze. Examples: "main", "develop", "origin/main" |
| --all | Analyze all branches (overrides --branch) |
| --save | Output image path. Default: "git_time_distribution.png" |
| -p, --show-plot | Show plot in popup window without saving file |
Output Charts
Generates a 3Γ2 subplot layout visualization:
1. Commits per Day - Line chart showing daily commit counts 2. Commits by Hour - Bar chart for hours 0-23 3. Commits by Weekday - Bar chart for Mon-Sun 4. Heatmap: Weekday Γ Hour - Color-coded activity matrix
Chart title includes: repository name, branch, and timezone.
Branch Selection Priority
1. If --all is specified, all branches are analyzed
2. If --branch is specified, only that branch is analyzed
3. If neither is specified, current HEAD branch is used
Requirements
Notes
--all may take longer to processπ‘ Examples
# Analyze current repository (default: current directory, current branch)
gitstatsSpecify custom output path
gitstats --save output.pngAnalyze with time filter
gitstats --since "2024-01-01"
π Tips & Best Practices
--all may take longer to process