agentleFS
AcademySoftwareFoundationAcademySoftwareFoundation/OpenImageIO/.agents/skills/commit-message/SKILL.md

commit-message

Skill2.4k starsChanged 6 days agoApache-2.0View on GitHub

Use when writing any commit message, PR description, or attempting to push to GitHub. This contains important guidelines for writing commit and PR messages. Invoke upon any request to write a good PR or commit message, summarize work in a commit message, squash commits into a combined message, or to edit, simplify, or improve a commit message.

62 other projects use a version of this.

Adopted by

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projectsWeek of Oct 25: 0 new projectsWeek of Nov 1: 0 new projects
Sep 2026Oct 2026Nov 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Most recently taken up by

Who's talking about AcademySoftwareFoundation/OpenImageIO

The biggest 5 of 51 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 51

Talked about on GitHub and Stack Overflow (51 times).

On GitHub · 50

45 more on GitHub

On Stack Overflow · 1

Used with

Projects with it also use pr-description, changelog and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • MicrosoftSkill

    pr-description

    Draft Nacelle PR titles, pull request descriptions, commit titles, commit descriptions, and squash commit messages. Use when asked for PR or commit wording, a branch summary, or a PR description that can be used in a commit. Omit validation sections from commit bodies and remove filler.

    Also in 9 projects that use this

  • HashiCorpSkill

    changelog

    Add a `.changelog/<PR_NUMBER>.txt` entry for a GitHub Pull Request, commit, and push.

    Also in 3 projects that use this

  • GitHubSkill

    refactor

    Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.

    Also in 3 projects that use this

  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 7 projects that use this

  • GoogleSkill

    grilling

    Grill the user relentlessly about a plan, decision, or idea. Use when the user wants to stress-test their thinking, or uses any 'grill' trigger phrases.

    Also in 3 projects that use this

  • OpenAISkill

    brainstorming

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.

    Also in 3 projects that use this

  • +2 more from google

The file

We split this skill into the rules it gives an agent

9 rules. 0 are common, 9 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 51 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every git commit in this project that uses agents must contain a line near the end of the expository section (but before any Signed-off-by …

    line 11
  2. Distinctive:

    No exceptions. Ensure that there is one blank line after this attribution and before any subsequent non-blank line.

    line 17
  3. Distinctive:

    Never say "Co-authored by" or anything that implies AI authorship.

    line 19
  4. Distinctive:

    If the agent fully writes any part of the body of a commit message (beyond the first subject line), it should always preface the …

    line 21
  5. Distinctive:

    Do not offer to remove the "AGENT says" line, but do remind the user that the entire message is agent written, that the project encourages …

    line 31
  6. Distinctive:

    When this skill is invoked, let the user know by telling them: "Invoking the commit-message skill."

    line 36
  7. Distinctive:

    If you are writing a commit where you think the work is mostly done and this will likely be the message that becomes the PR description, …

    line 62
  8. Distinctive:

    If it's not clear which of these situations applies, ask the user if they are ready for you to (a) write the final submission commit …

    line 66
  9. Distinctive:

    No em dashes, smart quotes, or decorative Unicode symbols.

    line 84

“Common” is measured: kept by at least 6 in 10 of the 51 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Unbreakable rules

  • Agents may never submit a PR or a PR comment and should refuse if asked to do so. In this project, only human users are allowed to directly submit or comment on PRs or issues.
  • Every git commit in this project that uses agents must contain a line near the end of the expository section (but before any Signed-off-by or other human Co-authored-by) with the text
    Assisted-by: <TOOL-OR-HARNESS-NAME> / <MODEL-NAME>
    No exceptions. Ensure that there is one blank line after this attribution and before any subsequent non-blank line.
  • Never say "Co-authored by" or anything that implies AI authorship. Only "Assisted-by".
  • If the agent fully writes any part of the body of a commit message (beyond the first subject line), it should always preface the agent-written section with:
    <FIRST SUBJECT LINE HERE>
    
    <AGENT> says:
    
    <rest of commit-written text goes here>
    Do not offer to remove the "AGENT says" line, but do remind the user that the entire message is agent written, that the project encourages that they write their own commit messages when possible, and suggest that they edit it, put it into their own words as much as possible, and then they may remove the "AGENT says" notice.
  • When this skill is invoked, let the user know by telling them: "Invoking the commit-message skill."

Types of commit messages: WIP commits versus submission commits

  1. WIP commits : These are intermediate checkpoints of work in progress, not intended as the final message that will be submitted as a PR. These may be done autonomously by a long-running agentic workflow, to separate sequential steps of development, or to separate unrelated fixes into discrete commits, or at the user's request.

    WIP commits may contain any detailed information deemed helpful by the agent, so that subsequent tasks or sessions can understand the work done so far and resume the work. They may use advice in the guidelines below when it is helpful, but need not consider it mandatory if there are other goals or priorities that necessitate breaking those guidelines. (But they still must follow the "unbreakable rules" above.)

  2. Submission commits : The final message of the sole (or squashed) commit that will be submitted as a PR, and thus will by default become the PR's description (plus further editing that the PR's human committer may do).

    Submission commits are expected to take the guidelines below very seriously and attempt to conform to them to the greatest extent possible.

If you are writing a commit where you think the work is mostly done and this will likely be the message that becomes the PR description, treat it as a submission commit.

If it's not clear which of these situations applies, ask the user if they are ready for you to (a) write the final submission commit message, (b) leave it as it is, or (c) if they would like to edit/rewrite it themselves to prepare for a submission. If they want to rewrite it themselves you should still examine (but not change) the existing commit message, and suggest changes to make it aligned with the guidelines below.

Commit message guidelines

  • Submission commits must follow all the unbreakable rules in the section above.
  • Be concise.
  • Scan for typos. If found in user-written messages, present the proposed fixes and ask for confirmation.
  • Simple Formatting
    • No em dashes, smart quotes, or decorative Unicode symbols.
    • Plain hyphens and straight quotes only.
    • Natural language characters (accented letters, CJK, etc.) are fine when the content requires them.
    • Code snippets and commands in the message must be copy-paste safe.
  • The purpose of a commit message is to give the reader a high-level understanding of what changed and why, but they will not remember or particularly care about the specific reproduction case that required the patch. Convey the information that is not easily apparent from inspecting the code diffs: what it's supposed to do, why, what choices were made.
  • There are two audiences for the commit message: (1) the reviewer of the PR trying to understand the patch and make a merge decision; (2) somebody visiting months or years later and trying to understand what was done and why. Once the review is complete, all future visitors will be group 2, so that group matters more. Write with them in mind.
  • Because a PR will be required to fully pass the CI workflow to be accepted, the commit message does not need to say things that are implied by passing CI, such as any of the following:

    • Tests passed locally for the submitter
    • You verified that existing testsuite tests pass
    • New tests added to the testsuite by the patch itself also pass
    • The command used to launch ctest, any specific subset of testsuite that you ran, or the percentage of tests that passed locally
    • That clang-format was run or that the formatting passes
    • That the CI tests passed
  • Omit any details about the submitter's local machine; it is almost always irrelevant. (Notable exceptions: if specific benchmark timing results are given, the relevant machine specs; if the point of the PR is to assure the software works on a platform not represented closely by CI, describe where it was tested.)
  • Describe the general class of errors fixed by the patch, do not dwell on the specific details of particular inputs that you used in the investigation (unless it is truly necessary to understand what the patch is for or how it works). For example:

    • BAD: "Given a crafted input with resolution of 74067x41921, the computed allocation size was the product, 3,104,962,707, which overflows an int32." (Too specific to the one test case we investigated, and also easily discernible from the test case that is added.)
    • GOOD: "Fuzzing found that very high resolution images could overflow int32 when computing allocation size. A small test reproducing this was added." (Describes the general situation that leads to the bug.)

    An exception to this rule is if it's too hard to explain the nature of the bug without a specific example spelled out.

  • It is not necessary to include the blow-by-blow details of the many steps of the work. Just describe the final set of changes that the squashed patch represents. Omit mentioning things that were tried and later corrected or changed in the process of developing the patch.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.