agentleFS
danielvm-gitdanielvm-git/bigpowers/skills/commit-message/SKILL.md

commit-message

Skill288 starsChanged 5 days agoMITView on GitHub

Reviews working-tree changes, then drafts a Conventional Commits title/body and states the semantic-release version bump a single such commit would imply. Also notes which defensive-code categories were touched. Use when the user wants to commit recent work, prepare a Conventional Commits message, or asks for semantic-release / semver-consistent messaging before git commit.

62 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use pr-description, changelog and 7 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

  • +1 more from google

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 51 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Default: standard Conventional Commits message

    line 16
  2. Very specific:

    Primary source of truth: Read state.yaml vcs.kind. Git uses git status, git diff, and git diff --cached.

    line 21
  3. Distinctive:

    Context: use the current conversation to summarize *intent* and to spot breaking API/behavior changes that diff alone may not show.

    line 22
  4. Very specific:

    If the user tracks a session baseline (e.g.

    line 23
  5. Very specific:

    If the repo uses a custom @semantic-release/commit-analyzer preset, note that your bump is heuristic and they should match .releaserc / …

    line 49

“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
<!-- story: e82s02 -->

Commit Message

HARD GATE — HARD GATE — Commits must follow Conventional Commits spec (type(scope): description). Do NOT use vague messages like 'fix' or 'updates.' The message must explain the 'why,' not the 'what.'

Modes

  • Default: standard Conventional Commits message
  • --fix-type: Forces type=fix. Use when commit type is unambiguous.

What "last chat" means

  • Primary source of truth: Read state.yaml vcs.kind. Git uses git status, git diff, and git diff --cached; Jujutsu uses jj status, jj diff, and jj log -r @. Run in the repo root.
  • Context: use the current conversation to summarize intent and to spot breaking API/behavior changes that diff alone may not show.
  • If the user tracks a session baseline (e.g. branch, tag, or git stash create at start), you may git diff <baseline>..HEAD plus uncommitted diffs; otherwise use only the index and working tree.

Quick workflow

  1. Inventory — List changed paths; group by feature vs chore vs docs vs test-only.
  2. Decide commit shape — One atomic commit is ideal. If the diff mixes unrelated concerns, recommend multiple commits (each with its own type/scope) before suggesting one message.
  3. Classify for semantic release — fix → patch, feat → minor, breaking → major.
  4. Write the message — type(optional-scope)!: description (see REFERENCE.md). Use ! or a BREAKING CHANGE: footer when behavior contracts change.
  5. Note defensive-code categories touched — from CONVENTIONS.md: Rate limit | Retry with backoff | Circuit breaker | Timeout | Graceful degradation
  6. Note fix-ratio contribution — Each fix: commit counts toward metrics.commit_ratio.fix in specs/state.yaml. After release-branch, session-state recalculates the ratio automatically. A high fix rate (>30%) triggers a deploy + smoke-test suggestion.
  7. Deliver — Output:
    • Proposed full commit message (title + optional body + footers).
    • Release bump this commit would drive: patch | minor | major | none.
    • Optional native command: Git git commit -m; Jujutsu jj commit -m. Never omit -m or run destructive commands unless asked.

Checklist before finalizing

  • Audit pass confirmed (HARD GATE — Issue #182): In active epic flow, bash scripts/lib/assert-epic-gate.sh commit passes.
  • Type matches the dominant user-visible outcome (feat vs fix vs perf, etc.).
  • Scope is a short noun in parentheses if it helps (e.g. fix(api): …).
  • Breaking changes are explicit (! and/or BREAKING CHANGE: in the body/footer).
  • Description is imperative, lowercase start after the prefix, no trailing period in the title line.
  • NO Co-authored-by or Co-Authored-By footers — P1 rule (CONVENTIONS.md § Git Attribution). All commits must appear as if authored solely by the human user. The git hook and land-branch.sh both block these.

When not to invent a bump

If the repo uses a custom @semantic-release/commit-analyzer preset, note that your bump is heuristic and they should match .releaserc / release.config.*. See REFERENCE.md.

Further reading

  • REFERENCE.md — Message shape, footers, release mapping, squashing notes.

Handoff

Gate: READY -> next: release-branch Writes: state.yaml handoff.next_skill = release-branch

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.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.