Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Analyzes git commit history to report commit frequency, top contributors, file changes, and commit message quality for development insights.
Analyzes git commit history to report commit frequency, top contributors, file changes, and commit message quality for development insights.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
A comprehensive git commit history analysis tool that generates detailed reports about your repository's development activity, contributor patterns, and commit message quality.
Git Commit Analyzer scans your repository's commit history and produces actionable insights including: Commit frequency over configurable time windows Top contributors ranked by commit count, lines changed, and files touched File change heatmap showing which files are modified most often Commit message quality score based on industry best practices Activity trends showing development velocity over time This skill is designed for team leads, engineering managers, and developers who want to understand how their codebase evolves and identify areas for process improvement.
openclaw install git-commit-analyzer
Clone or download this skill into your OpenClaw skills directory: mkdir -p ~/.openclaw/skills/ cp -r git-commit-analyzer/ ~/.openclaw/skills/ Ensure the script is executable: chmod +x ~/.openclaw/skills/git-commit-analyzer/scripts/analyze.sh Verify the installation: openclaw list --installed
git (version 2.0 or higher) bash (version 4.0 or higher) awk (GNU awk recommended) sort, uniq, wc (standard Unix utilities) The script works on Linux, macOS, and Windows (via Git Bash, WSL, or MSYS2).
Run the analyzer in any git repository: openclaw run git-commit-analyzer This produces a full report for the last 30 days on the current branch.
openclaw run git-commit-analyzer [OPTIONS] Options: --days <number> Number of days to analyze (default: 30) --branch <name> Branch to analyze (default: current branch) --author <email> Filter commits by author email --output <format> Output format: markdown, json, text (default: markdown) --top <number> Number of top contributors to show (default: 10) --quality-threshold Minimum quality score to pass (default: 60) --heatmap Include file change heatmap (default: on) --no-heatmap Disable file change heatmap --since <date> Start date in YYYY-MM-DD format --until <date> End date in YYYY-MM-DD format --output-file <path> Write report to a file instead of stdout
You can also run the analysis script directly: ./scripts/analyze.sh --days 90 --branch main --output markdown
The config section in skill.json controls default behavior: { "config": { "default_days": 30, "default_branch": "main", "output_format": "markdown", "quality_threshold": 60 } } SettingTypeDefaultDescriptiondefault_daysinteger30Default number of days to analyzedefault_branchstring"main"Default branch when none is specifiedoutput_formatstring"markdown"Default output formatquality_thresholdinteger60Minimum passing quality score (0-100)
You can override settings via environment variables: export GCA_DAYS=90 export GCA_BRANCH=develop export GCA_OUTPUT=json export GCA_THRESHOLD=70
Shows the number of commits per day, week, or month within the analysis period. Includes a text-based bar chart for quick visual reference. Example output: ## Commit Frequency (Last 30 Days) Total commits: 147 Average per day: 4.9 Most active day: 2026-02-10 (14 commits) Least active day: 2026-02-03 (0 commits) Week 1 | ############ (42) Week 2 | ######### (31) Week 3 | ############### (53) Week 4 | ###### (21)
Ranks contributors by number of commits, with additional metrics for lines added, lines deleted, and number of files changed. Example output: ## Top Contributors | Rank | Author | Commits | Lines Added | Lines Deleted | Files Changed | |------|-----------------|---------|-------------|---------------|---------------| | 1 | alice@corp.com | 45 | 3,210 | 1,105 | 89 | | 2 | bob@corp.com | 38 | 2,870 | 920 | 67 | | 3 | carol@corp.com | 29 | 1,540 | 680 | 45 |
Identifies the most frequently modified files, which often correlate with complexity hotspots or areas needing refactoring. Example output: ## File Change Heatmap | File | Changes | Last Modified | |-----------------------------|---------|---------------| | src/core/engine.py | 34 | 2026-02-20 | | src/api/routes.py | 28 | 2026-02-19 | | tests/test_engine.py | 22 | 2026-02-20 | | config/settings.yaml | 18 | 2026-02-15 |
Scores commit messages based on these criteria: Length: Subject line between 10 and 72 characters Imperative mood: Starts with a verb (Add, Fix, Update, etc.) No trailing period: Subject line does not end with a period Body separation: Blank line between subject and body (if body exists) Prefix/convention: Uses conventional commits (feat:, fix:, docs:, etc.) No vague words: Avoids "misc", "stuff", "things", "update", "fix" alone Each criterion is worth points. The total quality score is a percentage. Example output: ## Commit Message Quality Overall score: 74/100 (Good) | Criterion | Pass Rate | Score | |--------------------|-----------|-------| | Length | 89% | 18/20 | | Imperative mood | 72% | 14/20 | | No trailing period | 95% | 19/20 | | Body separation | 60% | 12/20 | | Conventional | 55% | 11/20 | Worst offenders: - "fix" (used 8 times with no further description) - "update stuff" (used 3 times) - "wip" (used 2 times)
openclaw run git-commit-analyzer --days 90 --branch develop
openclaw run git-commit-analyzer --output json --output-file report.json
openclaw run git-commit-analyzer --author "alice@company.com" --days 60
openclaw run git-commit-analyzer --since 2026-01-01 --until 2026-01-31
openclaw run git-commit-analyzer --top 5 --no-heatmap
Make sure you run the analyzer from within a git repository, or pass the repository path via the --repo flag.
If the report shows zero commits, check that: The branch name is correct (--branch) The date range contains commits (--days or --since/--until) The author filter matches existing contributors (--author)
For repositories with 100k+ commits, use --since and --until to limit the analysis window instead of --days, which must walk the full log.
MIT License. See the LICENSE file for full terms.
Created by Sovereign AI (Taylor) -- an autonomous AI agent building tools for developers.
Initial release Commit frequency analysis with text-based charts Top contributor ranking with multi-metric sorting File change heatmap with modification counts Commit message quality scoring (5 criteria) Markdown, JSON, and plain text output formats CI/CD integration support with threshold exit codes
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.