- Home
- Skills
- Code Quality & Review
- Git History Forensics
Works with the AI Agents you already use
Git History Forensics
Recover the "why" behind undocumented code changes using Git history forensics and blameless evidence analysis.
$6.99
Git History Forensics
Example session with this skill installed
The retry logic in src/api/client.py:42 changed from 3 to 5 retries but I don't know when. Find the commit that did this and check if any other files changed with it.
- Read your context and instructions
- Compiled the git history forensics
I have analyzed the history of src/api/client.py and identified the relevant change and its associated file couplings.
Git Forensic Analysis: Retry Logic Change
| Evidence Type | Details |
|---|---|
| Primary SHA | b12ba5b8f |
| Date | 2026-02-11 |
| Author | Ana ana@example.com |
| Line Change | MAX_RETRIES = 3 -> MAX_RETRIES = 5 |
| Commit Claim | "tidy up retry handling" |
| Coupled Files | src/api/constants.py (shared 4 commits), tests/test_client.py (shared 3 commits) |
Finding
The change occurred in b12ba5b8f. While the commit message claims a "tidy up," the diff shows a functional change to the retry limit. The file src/api/constants.py has a high coupling score (4 shared commits), suggesting that retry constants may be mirrored there. The evidence confirms the behavior changed on 2026-02-11 without an explicit ticket reference in the message.
Next steps
- Run
git show b12ba5b8f:src/api/constants.pyto check for mirrored constant changes. - Execute
python3 scripts/gitarch.py note . "Why was MAX_RETRIES increased?"to persist this finding. - Verify if
tests/test_client.pywas updated to reflect the new limit of 5.
Connects securely to your tools. The creator never sees your data.
About this skill
When code behavior changes without a corresponding ticket or explanation, memory and guesswork are poor substitutes for evidence. This skill treats a Git repository as a forensic record to answer why a specific line exists or when a regression actually started. It moves beyond simple blame to analyze commit context, file coupling, and churn to provide a verifiable history of changes.
What it does
- Line forensics blames specific lines and follows their history through renames to find the original intent.
- Churn analysis ranks files by insertions, deletions, and commit frequency to identify high-activity areas.
- Logical coupling identifies files that frequently change together, revealing the hidden blast radius of a change.
- Regression bounding calculates the commit window between known good and bad states to automate bisecting.
- Forensic reporting generates structured, blameless notes that anchor every finding to a SHA and a date.
How it works
- Locate the change using
whento trace a line orhotto find where the most activity occurred. - Analyze context by comparing the author's claims in the commit message against the actual changes in the patch.
- Identify coupling with the
couplecommand to see which files act as traveling companions to the suspect path. - Execute the hunt by defining a deciding check command and generating a
git bisectdriver. - Document findings using the
notecommand to record evidence and findings in a standardized format.
Frameworks & tools
This tool uses a Python 3 CLI script gitarch.py that interacts with the local Git binary. It requires no network access and relies solely on the standard library and local repository history.
Why this beats prompting it yourself
Generic LLM prompts often hallucinate commit history or fail to track files across complex renames. This skill uses a specialized script to pull raw evidence directly from your local repo, ensuring every claim is backed by a real SHA and timestamp rather than a guess.
Use cases
- Investigating a changed default value or flag that has no associated Jira ticket.
- Mapping the blast radius of a subsystem rewrite by identifying coupled files.
- Finding the exact commit that introduced a regression in a large monorepo.
- Generating audit-ready documentation for postmortems or vendor questionnaires.
Known limitations
Renames rewritten below Git's detection threshold or directory-level renames may break the history chain. Squashed or rebased history can hide intermediate states and original timestamps.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
Reviews
No reviews yet
Be one of the first to try it. Every listed skill passes our trust checks below.
Security scanned
Passed our 8-point scan before listing
Fresh listing
Recently published to Agensi
Money-back guarantee
Doesn't do what its page promises? You get your money back.
Trust & safety
Security scanned
Verified clean 4 days ago
- Passed all security checks, Safe to install
Requires