Skip to content
Back to skills

Propose Conventional Commit

ASecurity

Use when the user asks to commit or wants a git commit message drafted — for any staged changes, whether or not they know the Conventional Commits format.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 8, 2026
ai-agentsgobashvueangulargitdocumentation

Security analysis

A100/100

Scanned September 8, 2026

npx -y skills add jeffreytse/grimoire-core --skill propose-conventional-commit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Propose Conventional Commit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Propose Conventional Commit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jeffreytse-propose-conventional-commit/badge)](https://www.skillsdirectory.com/skills/jeffreytse-propose-conventional-commit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: propose-conventional-commit
description: Use when the user asks to commit or wants a git commit message drafted — for any staged changes, whether or not they know the Conventional Commits format.
source: Conventional Commits specification (conventionalcommits.org), Angular commit guidelines, Semantic Release
tags: [commit-messages, conventional-commits, git, developer, changelog, semantic-versioning]
verified: true
---

# Propose Conventional Commit

Inspect staged changes and recent context, draft a Conventional Commits message, wait for approval.

## Why This Is Best Practice

**Adopted by:** Standard at Google, Meta, Stripe, and most teams with structured
engineering workflows. Conventional Commits format adopted by Angular, Vue, Electron,
and thousands of OSS projects as the dominant commit message standard.
**Impact:** Semantic Release (used by Angular, Electron, Vue) generates changelogs and
bumps semver fully automatically from Conventional Commits — eliminating 30–60 min of
manual release note writing per release. Type-prefixed commits also enable git bisect
efficiency: engineers can skip `style`/`chore` commits when bisecting regressions.
**Why best:** Freeform messages ("fix stuff", "wip") degrade under pressure and are
unsearchable. Gitmoji uses emoji prefixes — visually distinct but no tooling support
for automated changelogs. Conventional Commits has the broadest tooling ecosystem
(Semantic Release, commitlint, changelogen, release-please) and is the only format
with a published specification (conventionalcommits.org).

Sources: Conventional Commits specification, Angular commit message guidelines,
Semantic Release documentation, Google Engineering Practices

## Steps

### 1. Gather context

Run in parallel:
```bash
git diff --cached --stat
git diff --cached
git log --oneline -10
```

### 2. Draft message

- Derive type from nature of change: `feat`, `fix`, `refactor`, `style`, `test`, `build`, `docs`, `chore`
- Subject line: imperative mood, ≤72 chars, no period
- Body (optional): include only if the *why* is non-obvious — a hidden constraint, specific bug, or non-obvious trade-off
- **No `Co-Authored-By` trailer** — author is git user only

### 3. Present for approval

Show the proposed message as a plain fenced code block:

```
<type>(<optional scope>): <subject>

<optional body>
```

Then stop. Do NOT run `git commit` until the user explicitly approves (says "commit", "looks good", "yes", or sends the message back).

### 4. On approval

Run:
```bash
git commit -m "$(cat <<'EOF'
<approved message>
EOF
)"
```

Then report the commit hash.

## Rules

- Never commit without explicit user approval in this turn
- Never add `Co-Authored-By` lines
- If nothing is staged, say so and stop
- If the diff is ambiguous (e.g., multiple unrelated changes), note it and suggest splitting

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…