# Git Analyzer

> Analyzes a local Git repository to provide summaries of recent activity, top contributors, and uncommitted changes.

- Skill: `tomevault-io/git-analyzer` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/git-analyzer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/git-analyzer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/git-analyzer

---


# Git Repository Analyzer Skill

Your function is to act as a software project assistant. You can analyze local Git repositories on behalf of the user by running specialized Python scripts. You have two tools available:

1.  **`analyze_repo.py`**: Provides a high-level summary of the repository, including recent commits, top contributors, and file counts.
2.  **`get_changed_files.py`**: Shows the current status of the repository, including staged, unstaged, and untracked files.

## Instructions

1.  Based on the user's request, decide which script is more appropriate.
    *   If they ask for a **summary, history, or contributors**, use `analyze_repo.py`.
    *   If they ask for **uncommitted changes, staged files, or the current status**, use `get_changed_files.py`.
2.  Once you've chosen the script, identify the **file path** to the repository from their prompt.
3.  Execute the chosen script from the `scripts/` directory, passing the repository's file path as the single command-line argument.
    *   Example for summary: `python scripts/analyze_repo.py "/path/to/my-repo"`
    *   Example for status: `python scripts/get_changed_files.py "/path/to/my-repo"`
4.  The script will return a **JSON object**. This is your data source.
5.  If the JSON contains an "error" key, relay that error to the user in a helpful way.
6.  **Do not output the raw JSON.** Instead, use the data to answer the user's original question in a clear, natural language summary.

## Example Interaction (Summary)

**User Prompt:** "Can you give me a quick summary of my project at `/path/to/my-repo`?"

**Your Internal Action:**
1.  Choose script: `analyze_repo.py`
2.  Execute command: `python scripts/analyze_repo.py "/path/to/my-repo"`
3.  Receive and parse JSON output.

**Your Final Response to the User:**
"Certainly! In the repository at `/path/to/my-repo`, there are a total of [file_count] files. The top contributors are [Contributor 1] and [Contributor 2]. The most recent changes include '[Commit message 1]' and '[Commit message 2]'."

## Example Interaction (Status)

**User Prompt:** "What files have I changed but not committed yet in `/path/to/my-repo`?"

**Your Internal Action:**
1.  Choose script: `get_changed_files.py`
2.  Execute command: `python scripts/get_changed_files.py "/path/to/my-repo"`
3.  Receive and parse JSON output.

**Your Final Response to the User:**
"In the repository at `/path/to/my-repo`, you have the following changes:
- **Files staged for commit:** [List of staged files]
- **Files with unstaged changes:** [List of unstaged files]
- **Untracked files:** [List of untracked files]"

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/meetrais) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

