Skip to content

v2.0.0

Choose a tag to compare

@n-shadloo n-shadloo released this 17 Jul 19:49
· 16 commits to main since this release

v2.0.0 — git-commit-writer becomes git-authoring

This release grows the skill from a commit-message writer into a git authoring
assistant. It still does the one thing it always did — turn a staged diff into a commit
message worth reading six months later — and adds two capabilities on top: it can choose
which files belong in a commit, and it can write a complete pull request. The skill is
renamed to git-authoring to match its wider remit.

Everything is still plain Markdown, still portable across Claude, Codex, Cursor, and Gemini
CLI, and still has no dependency beyond git.

What's new

Pick the files to stage, then commit. Point the skill at a pile of unstaged work and ask
it to choose what belongs together. It reads the actual changes, selects the one coherent set
a careful developer would group — related work only, not everything, not an arbitrary mix —
and proposes the exact git add plus the commit. If several unrelated changes are in flight,
it stages the most coherent group first and tells you what it left for the next commit. This
runs only when you ask; the default flow still writes a message for whatever you have already
staged.

A pull-request expert. Ask for a PR and the skill detects the base branch (main/master)
automatically, reads the branch's commits and its diff against that base, and writes a strong
title with a structured description — summary, what changed, testing, and any breaking
changes — plus a reviewer checklist where it helps. It grounds every claim in the branch's
real history and diff, and is honest about what it can't verify (if the branch adds no tests,
it says testing is unverified rather than implying a pass). Output is plain Markdown you can
paste into the PR, or run yourself via gh.

A new reference, references/pull-requests.md, carries the deep PR guidance (base
detection, description structure, per-type emphasis, a worked example) and loads only when a
PR is actually being written, keeping routine commits fast.

Guarantees that hold throughout

  • The agent never mutates git on its own. Staging, committing, pushing, and opening a PR
    are proposed as exact commands and run only after you explicitly confirm. The only git the
    skill runs unprompted is read-only inspection. This extends the original "commit only when
    asked" promise to the new staging and PR paths.
  • No AI attribution, ever — unless you ask for it. Commits and pull requests read as your
    own work. The skill never adds an AI co-author, a "generated by" line, or an AI author or
    committer identity, so nothing places an AI in your repository's history or contributors.
  • The default is unchanged. If you never mention file selection or pull requests, the
    commit flow behaves exactly as it did in 1.x.

Breaking change — upgrading from 1.x

The rename changes the skill's identity, its repository URL, and its install directory, so
existing installs must be re-pointed. Re-clone into the new path and remove the old copy so
your agent doesn't load both. For Claude:

# remove the old skill, then clone the renamed one
rm -rf ~/.claude/skills/git-commit-writer
git clone https://github.com/n-shadloo/git-authoring.git \
  ~/.claude/skills/git-authoring

The same applies to the other tools — swap the directory name (.agents/skills/…,
.cursor/skills/…) and the repo URL for git-authoring. Gemini CLI users re-copy
GEMINI.md. Nothing about how you use the skill changes; only where it lives and what it's
called. The MIT license and its holder are unchanged.

Files

  • Renamed skill (SKILL.mdgit-authoring, version 2.0.0) and the Cursor rule
    (.cursor/rules/git-commits.mdc.cursor/rules/git-authoring.mdc).
  • New references/pull-requests.md.
  • Updated AGENTS.md, GEMINI.md, README.md, and references/examples.md (now with a
    file-selection walkthrough).

Compatibility

Requires git and a Git repository; language-agnostic. Pull-request output is plain Markdown,
so the GitHub CLI is optional — needed only if you choose to open the PR from the terminal.

Full Changelog: v1.1.2...v2.0.0