v2.2.0
v2.2.0
Minor release. No attribution trailers by default, in every mode. Commits and
pull-request descriptions now carry no Co-authored-by:, Signed-off-by:,
Reviewed-by:, and no AI or agent identity of any kind. MINOR rather than PATCH
because the opt-in mechanism that replaces the old behavior is new functionality.
This changes a default you may be relying on. Mode 4 previously permitted AI
attribution; that carve-out is removed, and an autonomous commit now carries exactly
the trailers a mode-1 commit would — none. If you depended on autonomous commits
carrying an agent co-author, you now have to ask for it, per session or as a standing
line in your repository's agent context file. Nothing else about the four modes
changes, and the read-only guarantee on modes 1–3 is untouched.
What changed
The default is no attribution, in every mode. The commit author is whatever
git config user.name / user.email resolves to — the repo owner. The skill does not
look up, infer, or attribute the work to anyone else, and it will not invent a name or
an email address.
Mode 4's attribution carve-out is gone. It remains the sole execution exception,
but it is now an exception to the read-only rule and to nothing else. Being asked to do
the work is not a request to be credited for it.
Trailers are excluded from repo-convention detection. Convention matching covers
subject shape, scope vocabulary, and tense — never trailers. A repository whose every
commit carries Signed-off-by no longer produces one, because a trailer is an
assertion about who did the work and who vouches for it, which is not something to
infer from pattern matching. There is no contributor-detection step anywhere in the
workflow.
Still emitted by default, because neither is attribution: BREAKING CHANGE:,
required by the Conventional Commits grammar; and issue references (Closes #123,
Refs: #123) when you supply the issue or it is unambiguous from the branch name. It
never guesses an issue number.
Opting in
Markdown-only — no config file, no flag. A trailer is written when one of these holds:
-
You ask in the session — "sign this off", "add Sam as co-author", "credit the
agent". That applies to the session's work; the next session starts from the default
again. -
A standing instruction exists in the consuming repository's own agent context
file (AGENTS.md,CLAUDE.md, or equivalent). One line is enough:Sign off every commit with `Signed-off-by:` using my git user.name and user.email.
Supported on request: Co-authored-by:, Signed-off-by:, Reviewed-by: (and
Acked-by: / Tested-by:, Reported-by: / Suggested-by: / Helped-by:),
issue-reference footers, and AI or agent attribution. Named humans come only from
values you supply.
Files updated
SKILL.md— version bump to 2.2.0; ground rules rewritten around the new default;
trailer carve-out added to convention detection (step 4); footers step, self-check,
mode 4, and the "Footers / trailers" rules, which now carry the opt-in mechanism.AGENTS.md— the same, self-contained: ground rules, step 4, step 5, self-check,
mode 4, and a rewritten "Trailers" section with worked default and opt-in examples.README.md— new "Attribution and trailers" section covering the default and its
rationale, the absence of a mode-4 exception, per-session and persistent opt-in with
example wording and output, and the supported trailer list.GEMINI.md,.cursor/rules/git-authoring.mdc— mode contract and attribution rule
updated to match.references/conventional-commits.md— trailer catalogue reframed as off-by-default,
available on request. The grammar reference is unchanged; the sign-off example stays
as reference material, labelled opt-in.references/examples.md— the trailers example now shows the default form first,
then the same commit with attribution after an explicit request.references/scopes-and-repos.md— the Django and Linux-kernel trailer patterns stay
as reference material, marked explicitly as non-authorising.references/pull-requests.md— PR attribution aligned to the same default and opt-in.
Upgrade notes
Drop-in replacement for 2.1.1. The only behavioral difference is the one above: if you
want any attribution trailer, ask for it in the session or add a standing line to your
repository's agent context file.
Full Changelog: v2.1.1...v2.2.0