I have two ways to generate a commit message in this repo. One is git_commit.py, a 20-line script I run by hand: python git_commit.py, it grabs the staged diff, shells out to claude -p, prints a Conventional Commit message. The other is generate_commit_message, a tool exposed through an MCP server, callable by any agent that has that server wired in.
Strip both down and they call the identical prompt against the identical model through the identical subprocess. For a while I described the second one as "the agentic version" without being able to say what made it agentic, other than vibes and the word MCP being involved. That bothered me enough to actually go look at the diff between them, and the answer turned out to be smaller and more specific than I expected — and it's not the part people usually point to.
What's actually different
Here's the script:
diff = subprocess.check_output(["git", "diff", "--staged"], text=True)






