<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/hooks/_common.py, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-04-19T22:14:54+00:00</updated>
<entry>
<title>feat(hooks): shared _common.py helpers + systemMessage AI-attribution warning</title>
<updated>2026-04-19T22:14:54+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-04-19T22:14:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=208a079f4230edd520f5aa92288ae48247340910'/>
<id>urn:sha1:208a079f4230edd520f5aa92288ae48247340910</id>
<content type='text'>
Consolidates stdin-parse and response-emit across the two confirm hooks
into `hooks/_common.py` (stdlib-only, sibling symlinked alongside the
hooks it serves). Net ~28 lines less duplication.

Adds a `systemMessage` banner alongside the confirmation modal when the
commit message or PR title/body contains AI-attribution patterns:

  - Co-Authored-By: Claude|Anthropic|GPT|AI trailers
  - 🤖 robot emoji
  - "Generated with Claude Code" / similar footers
  - "Created with …" / "Assisted by …" variants

Scanning targets structural leak patterns only — bare mentions of
"Claude" or "Anthropic" in diff context don't fire, so discussing the
tools themselves in a commit message doesn't false-positive.

Clean-room synthesis from GowayLee/cchooks (MIT) — specifically, the
systemMessage-alongside-reason pattern and event-aware stdin helpers.
</content>
</entry>
</feed>
