agentsclimarketplace

Commit message

Skill Deadlymind/nanolama/skills/commit-message

A portable Claude Code skills library (plugin) for a Django 5.2 + Next.js 16 house stack: 30 model-agnostic, tenant-isolation-and-security-first skills.

Install
npx -y skills add Deadlymind/nanolama --skill commit-message

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 22 days oldThe repository was created 22 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 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.

What its author says it does

Copied from the file, not written here

Writes a Conventional Commits message from the staged git diff — type(scope) subject in the imperative under 72 chars, a body explaining WHY, and footers for BREAKING CHANGE and issue refs. Use when asked to write a commit message, "commit this", "conventionalize", or when deriving the type (feat, fix, chore, refactor, docs, test, perf, build, ci) and scope from what the diff actually changed. Not for the release-facing CHANGELOG rollup across many commits (see changelog) or judging whether the diff is correct (see code-review).

SKILL.md

3.3 KB, 712 tokens by cl100k_base, as published. Nobody here has run it

Commit message (Conventional Commits)

When to use

Turning a staged diff into one well-formed commit message. Read the staged changes first — the type and scope are derived from what the diff does, not from what you meant to do.

Pattern

Subject line, a blank line, a body explaining WHY, then footers. The subject is type(scope): description in the imperative, lowercase start, no trailing period, kept short (the git convention is ~50 chars for the subject, wrap the body near 72). The body explains the problem, not the mechanics the diff already shows. A breaking API change on a tenant-scoped endpoint, for example:

feat(invoices)!: scope list endpoint to the caller's entreprise

The list view returned every tenant's invoices. Filter by the
authenticated user's entreprise so cross-tenant rows never leak.

BREAKING CHANGE: /api/invoices/ now returns only the current
tenant's rows; clients relying on the global list must paginate
per entreprise.
Refs: #482
  • type — derive from the diff's dominant effect: feat (new capability), fix (bug), refactor (behavior-preserving), perf, docs, test, build (deps/bundler), ci (pipeline), chore (rest).
  • scope — the touched area (module, app, or package), e.g. invoices, auth.
  • subject — imperative mood ("add", not "added"/"adds"), lowercase start, no period.
  • body — optional but expected for non-trivial changes; explains the why.
  • footerBREAKING CHANGE: (a ! after the type/scope also flags it) and issue refs (Refs: #123, Closes #123).

Adapt to your repo

Inspect the staged diff, not the working tree — run git diff --cached --stat to see the area (scope) and git diff --cached to see what actually changed (type + why). Pick the single dominant type: if a diff both adds a feature and reformats, the feature wins — split unrelated changes into separate commits. Rename the example scope (invoices, entreprise) to your own modules and tenant term. If your repo uses a different taxonomy — a fixed scope list, or gitmoji (:sparkles: = feat, :bug: = fix) — follow that instead of these types, and match existing git log history. Confirm the subject-line length your linter enforces (commitlint's default header-max-length is 100).

Gotchas

  • The type describes the diff's effect, not your intent — a "quick fix" that adds a new endpoint is feat, not fix.
  • Subject is imperative and unpunctuated; the body is where prose lives.
  • BREAKING CHANGE: must be spelled exactly (uppercase, in the footer) for tools to detect it — a bare ! in the header is a hint, the footer is authoritative.
  • Don't restate the diff line by line in the body; Git already shows what. Say why.

See also

  • changelog
  • code-review

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.