Files
mad-skills/disclose-gen-ai/SKILL.md
T
2026-10-10 14:51:18 -05:00

3.5 KiB

name, description
name description
disclose-gen-ai Generated-by trailer / AI disclosure — use when writing, amending, or reviewing a git commit message or PR description for work substantially generated by an AI tool (Claude, Copilot, Codex, an LLM, "the bot wrote it"); when choosing between Generated-by and Co-authored-by; when asked how to attribute or disclose AI-generated code or docs. Per the ASF Generative Tooling Guidance. Not for typo fixes or edits the human typed.

Disclose generative AI

When a commit's content was substantially generated by an AI tool, end the commit message with a trailer that names the tool, as the ASF Generative Tooling Guidance recommends:

Add lazy-tdd skill

Code that works the first time may ship untested; a discovered goof
owes a regression test.

Generated-by: Claude Opus 5.5

the rules

  • When: the content is substantially machine-generated: code, docs, tests, or a rewrite. Not needed for a typo fix or an edit the human typed.

  • Form: Generated-by: <Tool> <Version>, as the last paragraph of the message, in git trailer format (git interpret-trailers can parse it).

  • Generated-by, not Co-authored-by. The ASF accepts Co-authored-by: <Tool> <Version>, but Generated-by: is preferred here because it is easy for machines to parse. When a tool adds its own Co-authored-by trailer by default, use Generated-by: instead.

  • Mixed commits: if only part of a series was AI-generated, put the trailer only on those commits. Don't add it to every commit.

  • PR descriptions: say which parts were AI-generated. The commit trailers stay the record that counts.

  • Unreviewed PRs are drafts. When an agent opens a PR under the human's GitHub account and the human hasn't read it yet, open it as a draft (gh pr create --draft) and start the description with:

    > [!WARNING]
    > **Unreviewed LLM output.** Generated by <Tool> <Version>; no human
    > has reviewed this code yet.
    

    The human removes the caveat and marks it ready after reviewing. The caveat exists because the PR appears to come from the human. A PR opened from a bot account already shows who wrote it, so it doesn't need the caveat.

  • The human stays responsible. The commit author vouches for the contribution. That includes disclosing material that is not their original creation, and making sure the tool's terms grant enough rights to license the output (ICLA, sections 4-5, 7-8).

Precedent: ocap-merkledag commit 68ffcca ("Add high-level design doc for deploying on Cloudflare."), and this skills repo's lazy-tdd commit.

why

The Apache-2.0 license and the ICLA both require contributors to disclose material in a contribution that is not the contributor's original creation. Section 7 of the ICLA (third-party work) is not a practical route for AI output, because the source details can't be known. A Generated-by: trailer is the ASF's recommended disclosure practice. It keeps the record honest about what the signing contributor does and does not claim to own. This matches the U.S. Copyright Office's finding that purely machine-generated output is not copyrightable (Copyright and AI, Part 2: Copyrightability, Jan 2025).