commit-conventions

Enforces type/scope/ticket-id commit message and branch naming conventions with one-commit-per-branch amend workflow.

2|Updated Jul 24, 2026
One-click install
npx skills add https://github.com/konstantinos-malavazos/claude-code-playbook --skill commit-conventions-konstantinos-malavazos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: commit-conventions
Source: https://github.com/konstantinos-malavazos/claude-code-playbook/tree/main/templates/skills/commit-conventions
Command: npx skills add https://github.com/konstantinos-malavazos/claude-code-playbook --skill commit-conventions-konstantinos-malavazos

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose traceability when commit messages, branch names, and MR descriptions follow no shared format. This Skill gives the AI a single canonical convention so every commit, branch, and merge request description is consistent and tied to a ticket id. ## Core Features & Use Cases - Standardized formats: Defines the <TICKET-ID>_<short-kebab-description> branch pattern and the <type>(<scope>): <imperative summary> [<TICKET-ID>] commit format with allowed types (feat, fix, chore). - One commit per branch: Provides an amend-as-you-go shell snippet that keeps every feature branch at exactly one commit, including review-fix loops. - MR/PR description template: Supplies a What/Why/How/Testing/Blast-radius template with a ticket reference line. - AI-infra guardrails: Blocks committing .claude/ and memory files except explicitly allowlisted generated product files. - Use Case: While finishing a feature on branch PROJ-123_add-login-form, ask the AI to commit; it produces feat(auth): add login form [PROJ-123], amends prior work into a single commit, and drafts the MR description. ## Quick Start Ask the AI to commit the current changes following the workspace commit conventions and generate the MR description for the branch.

Frequently Asked Questions about commit-conventions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a conventional commit message with a ticket id?

Use the format `<type>(<scope>): <imperative summary> [<TICKET-ID>]`, where type is feat, fix, or chore, scope is the component touched, and the ticket id appears in square brackets at the end matching the branch name.

How do I keep one commit per feature branch in git?

Check the commit count against the main branch with `git rev-list --count origin/<main>..HEAD`. If zero, create a new commit; otherwise run `git commit --amend --no-edit` so review fixes fold into the single existing commit.

What branch naming convention works with ticket-based workflows?

Name branches as `<TICKET-ID>_<short-kebab-description>`, for example `PROJ-123_add-login-form`. The ticket id in the branch name must match the id appended to every commit message on that branch.

Should I commit .claude or AI configuration files to git?

Generally no—AI-infra directories, MCP state, and memory files should stay out of commits, and you should stage explicit paths rather than `git add -A`. Exceptions are generated product files like `.claude/agents/**` and `.claude/skills/**` when the repo allowlist permits them.

What should a merge request description template include?

Include five sections: What (summary of the change), Why (ticket goal), How (key decisions for reviewers), Testing (what was run), and Blast radius (downstream consumers affected), ending with a `Ref: <TICKET-ID>` line.