Skip to content

Agents md commit section

Commit message format

Headers follow Conventional Commits: <type>(<scope>): <subject>. Allowed types: feat, fix, docs, refactor, test, chore, ci, build, perf, style, revert. Scope is freeform — name the area touched (skills, library-maintenance, agents, repo, â€Ļ).

The subject (header) is capped at 72 characters — keep it as the bottom-line summary of the change. Body and footer lines are intentionally length-unrestricted so big messages, tables/URLs, and the Co-Authored-By trailer below are never flagged.

👓 for big messages

When a change warrants a long message, lead with the bottom line up front. The 72-char subject is the headline; if the body runs long, open it with a one-line or one-paragraph summary of the what and why prefixed with 👓, then put the detail below it. A blank line between subject and body is required (commitlint enforces body-leading-blank), which is what makes the 👓 summary stand on its own.

feat(skills): add git-hygiene enforcement

👓 block direct commits to main; require a feature branch.

The commit-msg hook now refuses commits made on main and prompts for a
feature branch. Rationale, edge cases, and rollout notes follow here —
this section has no line-length limit.

Co-Authored-By: Cursor (Composer 2.5), Driven by Alex Example đŸ•šī¸

Enforcement: commitlint runs locally via husky (after npm install + the prepare script, which wires the commit-msg hook). On GitHub-hosted repos, CI also lints PR commits as a backstop.

Commit message trailers

Use one Co-Authored-By: line per distinct agent session that contributed to the change, with the model(s) and the human driver packed inside that line. Preserves grep-ability for tools that look for Co-Authored-By, keeps attribution unambiguous across multi-agent / multi-IDE work, and overrides any agent's built-in default trailer (e.g. Claude Code's default Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>).

Format

Co-Authored-By: <Agent or IDE> (<Model[, Model ...]>), Driven by <Human> đŸ•šī¸

Bad

Co-Authored-By: Alex Example <alex@example.com>
Co-Authored-By: Claude Code (Opus 4.7, 1M context) <noreply@anthropic.com>

Two lines for one session. The first duplicates git's author/committer. The second hides who was driving and embeds context-window detail that isn't useful in attribution.

Good

Co-Authored-By: Claude Code (Opus 4.7), Driven by Alex Example đŸ•šī¸
Co-Authored-By: Cursor (Composer 2.5, Opus 4.7), Driven by Alex Example đŸ•šī¸
Co-Authored-By: GitHub Copilot (Codex 5.0), Driven by Alex Example đŸ•šī¸

One line per agent that touched the work, each naming its model(s) and the human at the controls. Works across Claude Code, Cursor, Copilot, and any other agent or IDE.

Rules

  • One trailer per distinct agent session, not per file or per turn.
  • Pack model(s) inside parentheses immediately after the agent name.
  • Use "Driven by <Full Name>" — not a separate Co-Authored-By for the human.
  • The đŸ•šī¸ emoji is part of the convention; keep it.
  • Drop context-window or runtime tags (e.g. "1M context") from the agent label.