SocialGouv

Git AI Trace — AI skill for Claude Code

AI community

A Claude Code skill that embeds an honest, observation-only recap of human/AI collaboration inside each commit message — so the story of how the code was made travels with the code.

How to install Git AI Trace

This entry records only its repository, not the path inside it, so there is no exact command to give. Open SocialGouv/git-ai-trace and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Git AI Trace does

A Claude Code skill that embeds an honest, observation-only recap of human/AI collaboration inside each commit message — so the story of how the code was made travels with the code.

Alternatives in AI

  • Claudian — An Obsidian plugin that embeds Claude Code as an AI collaborator in your vault 7.7k ★
  • Omnara — by Ishaan Sehgal - A command center for AI agents that syncs Claude Code sessions across terminal, web, and mo 2.6k ★
  • Agent Teams AI — You're the boss, agents are your team 2k ★

README

git-ai-trace

A Claude Code skill that embeds an honest, observation-only recap of human/AI collaboration inside each commit message — so the story of how the code was made travels with the code.

Why

Codebases written with AI assistants raise a question that binary disclosure ("was AI used?") can't answer: **who actually drove what?** A developer who reframed the AI's first proposal three times exercised strong creative control, even if most keystrokes came from the model. A generated file that passed through without comment is a delegation, regardless of intent.

Percentages lie about this ("70% AI-written" is meaningless). Labels flatten it ("ACE" vs "HCE" forces every session into five bins). File-based logs lose it (a separate `AI_CONTRIB.md` breaks on rebase, generates merge conflicts, and drifts from the commits it tries to describe).

`git-ai-trace` takes a different path: a short block of **observed moments** — proposals, choices, rejections, generations — embedded directly in the commit message. Each moment is one line, pointable to a specific message in the chat. Absences are never recorded, only presences. The recap is incomplete by design, but it is honest.

What a recap looks like

fix: prevent duplicate job processing under load

Workers were occasionally picking up the same job. Row-level
locking closes the race without adding infrastructure.

--- session-recap ---
What changed: Worker loop now claims jobs via SELECT FOR UPDATE SKIP
  LOCKED; batch size reduced from 100 to 20.
Moments:
- human: brought symptom (duplicate processing in prod logs) and initial hypothesis (lock contention)
- claude: diagnosed non-atomic SELECT+UPDATE across workers as root cause
- claude: proposed three remediation options (advisory lock, SKIP LOCKED, Redis queue) with trade-offs
- human: rejected Redis-queue option as over-engineering
- human: chose SKIP LOCKED option
- human: set batch size to 20
- claude: wrote the SQL patch
--- end-recap ---

Assisted-by