Adoption is broad. Many contributors are committing agent-authored work, which is what a real organisational rollout looks like.
Assisted or autonomous
Assisted — a developer’s identity authored the commit and the agent added itself as co-author. The agent ran git commit during a working session, with a person there. Autonomous — a bot identity is the author, no human in the loop. Across the whole index, 93.7% of agent commits are assisted.
Agent share by month
Peak month: 74.1%. Bars are scaled to that peak, not to 100%.
Which agents
| Claude Code | Anthropic | 104 | 25.2% |
| GitHub Copilot | GitHub | 46 | 11.1% |
| Devin | Cognition | 6 | 1.5% |
| Cursor Agent | Anysphere | 2 | 0.5% |
Verify it yourself
Sample commits that matched. Every one links to GitHub — check the trailers.
1694a96ffeat(minimax): add MiniMax-M3 default and model-aware thinking (#190)Claude Code3c8873f0sleep: confine per-skill adoption to the staged skills roots (#241)Claude Codea33e56d1fix(sleep): skip assistant.message events with non-dict data (#232)Claude Codef24e8ae5chore: configure monthly Dependabot updates (#261)GitHub Copilot9eb77397feat(model): report copilot_chat call counts in the token summaryGitHub Copilota94d115ddocs(model): list copilot_chat in the chat_target error messagesGitHub Copilot0a816f95feat(sleep): stage one proposal and manifest row per skillDevin8e78ba0efeat(sleep): report per-skill-group gate decisionsDevincbaf6a39feat(sleep): consolidate skill groups independently with failure isolationDevin5f8e85c6fix(sleep): keep all-test batches out of consolidate train/valCursor Agent2532043dfix(claude): use --effort instead of deprecated --thinking flagCursor Agent
What was excluded
| Commits in window | 531 |
| Merge commits removed | −117 |
| CI / dependency bots removed | −1 |
| Considered | 413 |
Bots are excluded from the denominator entirely. Counting dependabot as “AI-written code” is the fastest way to produce a meaningless number.
How this was measured
Measured over February–August 2026, cloned directly. Detection is deterministic string matching against signatures agents write about themselves — no heuristics, no style analysis. Merge commits and CI bots are excluded from the denominator. The figure is a floor: squash merges strip trailers, so real usage is higher. Contributor counts are aggregate — no individual is named.
Run it yourself: npx qmmit-cli microsoft/SkillOpt