Llm signature
Skill grimaldost/craft-collection/plugins/session-workflow/skills/llm-signature
Sign agent-assisted work with a machine-generated provenance signature: an Assisted-By git trailer naming the exact model that wrote and orchestrated the change, and an Agent-Stack trailer naming the harness and plugin versions it ran on. Use when committing or writing a PR body in a project that adopts the signature, when asked to sign a commit with the model / add model attribution or an LLM signature, when asked which model or tool stack produced a change, or when replacing Co-Authored-By AI boilerplate with provenance trailers. The signature is rendered by a script from live sources, never typed from memory, and the model is listed only in Assisted-By — never as a commit co-author. Not for human authorship credit (real co-authors keep their Co-Authored-By lines).From its SKILL.md
npx -y skills add grimaldost/craft-collection --skill llm-signatureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `uv run --no-project -- python "${CLAUDE_PLUGIN_ROOT}/skills/llm-signature/scripts/render_signature.py"`.
SKILL.md
3.7 KB, 733 tokens by cl100k_base, as published. Nobody here has run it
LLM Signature
Provenance, not marketing. A Co-Authored-By: Claude <[email protected]>
line says an AI touched the commit and nothing else; this signature records
what actually shaped the work — the exact model and the versioned tool stack —
as machine-readable git trailers:
Assisted-By: claude-sonnet-5
Agent-Stack: [email protected]; [email protected] (craft-collection); [email protected] (craft-collection)
Trailers are the native mechanism: hidden from git log --oneline, filterable
with git log --format='%(trailers:key=Assisted-By)', parseable with
git interpret-trailers. Full grammar and semantics: references/spec.md.
Semantics
Assisted-Bynames the model that is writing and orchestrating — the one responsible for the change. One model: the orchestrator at commit time, not every subagent it delegated to. The model is never added as a commit co-author or committer; this trailer is its only appearance.Agent-Stackis environment-at-commit provenance: the harness and the enabled plugins, each asname@version (marketplace)— what was installed and enabled, not a claim that every item fired. The marketplace label is a lookup key (its repo orclaude plugin marketplace listresolves it) — URLs stay out of commits.
Generate — always by script, never by hand
A remembered version is wrong the moment anything updates, so the signature is rendered from live sources every time:
uv run --no-project -- python "${CLAUDE_PLUGIN_ROOT}/skills/llm-signature/scripts/render_signature.py"
The model comes from the session transcript (last main-loop assistant message —
subagent sidechains never sign; a discovered transcript signs only when fresh
and verified against this cwd); the stack comes from claude plugin list and
claude --version. --json for machine use, --plugin <name> (repeatable) to
narrow the stack, --model / --transcript as explicit overrides. If the
model cannot be resolved, the script fails rather than guessing — do not
substitute a hand-typed signature; commit unsigned or fix the resolution.
Apply
Commits — in a project that adopts the signature (one declaration in the
repo's CLAUDE.md; see references/spec.md § Adopting), run the script at
commit time and append its output verbatim as the final paragraph of the
commit message. Drop any Co-Authored-By line carrying the vendor's identity
(an anthropic.com or claude+noreply address) and any "Generated with Claude
Code" badge — the signature replaces both. Real human co-authors keep their
lines, even one named Claude.
PR bodies — same block, fenced as text, at the end of the description.
Mechanical enforcement (optional) — --apply <msg-file> rewrites a commit
message in place (scrub boilerplate, refresh trailers, never fail the commit),
built to be wired as a git prepare-commit-msg hook; recipe in
references/spec.md.
What ships with it: 3 files
40.2 KB alongside SKILL.md, 2 of them executable
references/
- spec.md7.3 KB
scripts/
- render_signature.pyruns16.5 KB
- test_render_signature.pyruns16.4 KB