agentsclimarketplace

Github commit

Skill Bruno-Cunha-Souza/ValarMindSkills/skills/github-commit

A library of reusable skills for AI agents. Each skill/plugin is a Markdown file with YAML frontmatter that can be invoked as a slash command within Claude Code CLI or Antigravity IDE.

Install
npx -y skills add Bruno-Cunha-Souza/ValarMindSkills --skill github-commit

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

One thing to look at

  • 5 stars5 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

Generate Conventional Commit from staged diff. Triggers: 'commit', 'create commit', 'commit message'.

SKILL.md

5.0 KB, as published. Nobody here has run it

Conventional Commit

Goal

Analyze staged changes and generate a commit message following the Conventional Commits specification, adapted to project conventions when they exist.

Inputs you must collect before starting

InputRequiredHow to obtain
Staged changesYesgit diff --staged
Project conventionsNoCheck commitlint config, CLAUDE.md, CONTRIBUTING.md
Type, scope, or intentNoAsk the user if not clear from the diff

Procedure

Step 1 — Check staged changes

Run git diff --staged. If empty, inform the user there are no staged changes and offer help with git add.

Step 2 — Summary of changed files

Run git diff --staged --stat for a summary of modified, added, or removed files.

Step 3 — Check project conventions

Look for project-specific commit configurations:

  • .commitlintrc, .commitlintrc.json, .commitlintrc.yml, commitlint.config.js, commitlint.config.ts
  • commitlint section in package.json
  • CONTRIBUTING.md, CLAUDE.md
  • Recent commit history: git log --oneline -5

If found, project conventions take precedence over default rules.

Step 4 — Analyze the diff

Read the full diff and identify:

  • What was added, removed, or modified
  • The intent behind the changes (new feature, bug fix, refactor, etc.)
  • Which areas of the codebase were affected

Step 5 — Determine the commit type

Choose the appropriate type:

TypeWhen to use
featNew feature for the user
fixBug fix
refactorCode restructuring without changing behavior
perfPerformance improvement
styleFormatting, whitespace, semicolons (no logic change)
testAdding or fixing tests
docsDocumentation only
buildBuild system, external dependencies
ciCI/CD configuration
choreMaintenance tasks that don't fit other types

Step 6 — Determine the scope (optional)

Identify scope from the area of the codebase affected. Examples: auth, api, ui, db, config. Use scope only if it adds clarity.

Step 7 — Compose the message

Format:


<type>(<scope>): <description>

<optional body>

<optional footer>

Description (subject line) rules:

  • Maximum 72 characters
  • Imperative mood ("add", not "added" or "adds")
  • Lowercase first letter
  • No period at the end

Body rules (only when needed):

  • Default to no body. Most commits should be subject-only. Add a body only if the "why" is non-obvious from subject + diff (hidden constraint, surprising trade-off, non-local consequence).
  • Hard cap: ≤ 4 lines, ≤ 300 characters total, single paragraph. If you need more, split into multiple commits.
  • Wrap at 72 characters, separated from the description by a blank line.
  • Explain the "why", not the "what". The diff already shows what changed — do not narrate it.
  • Forbidden patterns: per-file or per-section enumeration ("Three changes:", "- File A now does X", "- File B now does Y"); restating the subject in prose; describing code structure ("the function now branches on..."); meta-commentary ("Result:", "Confirma?"); trailing questions.
  • Bullets allowed only when listing 3+ genuinely independent concerns that share one "why". If you can write one sentence instead, do.

Footer rules (when applicable):

  • BREAKING CHANGE: <description> for backward-incompatible changes
  • Refs: #<number> to reference issues or PRs

Step 8 — Present and confirm

  1. Present the message in a code block
  2. Wait for user approval
  3. After approval, execute git commit with the message

Constraints

  • Follow the Conventional Commits spec strictly
  • Never invent changes — only describe what the diff shows
  • Subject line must be at most 72 characters, imperative mood, lowercase, no period
  • Default to subject-only. A body is the exception, not the rule. When unsure, omit it.
  • Body, if present, must be ≤ 4 lines and ≤ 350 characters, wrap at 72, separated by a blank line
  • Never enumerate files or sections in the body — the diff is the enumeration
  • Never end the body with a question or confirmation prompt; the confirmation lives outside the message
  • Project conventions take precedence
  • Include BREAKING CHANGE: in the footer when the change breaks backward compatibility
  • Reference issues/PRs in the footer when the user mentions them
  • Never commit without explicit user approval
  • Never include the AI agent (Claude, Codex, etc.) in the commit message
  • Never include co-authorship in the commit message

Output format

Present the commit message in a code block followed by a confirmation prompt. See examples in EXAMPLE.md.

Example request

  • "Commit my changes"
  • "Create a commit for the login fix"
  • "Commit these changes as a feat"
  • "Commit with scope api"

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.