Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIMuseMuseDotsDots+22 more

    Git History Forensics

    1

    Recover the "why" behind undocumented code changes using Git history forensics and blameless evidence analysis.

    $6.99

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned
    Git History Forensics

    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 TypeDetails
    Primary SHAb12ba5b8f
    Date2026-02-11
    AuthorAna ana@example.com
    Line ChangeMAX_RETRIES = 3 -> MAX_RETRIES = 5
    Commit Claim"tidy up retry handling"
    Coupled Filessrc/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.py to 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.py was 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

    1. Locate the change using when to trace a line or hot to find where the most activity occurred.
    2. Analyze context by comparing the author's claims in the commit message against the actual changes in the patch.
    3. Identify coupling with the couple command to see which files act as traveling companions to the suspect path.
    4. Execute the hunt by defining a deciding check command and generating a git bisect driver.
    5. Document findings using the note command 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

    Git

    Listed4 days ago

    What's inside

    Frequently Asked Questions