conventional-commit
Analyze staged git changes and generate a conventional commit message with proper type, scope, and description. Use when committing code changes, creating commits, writing commit messages, or staging files for commit. Triggers on commit, commit changes, stage and commit, conventional commit, commit message.
Best use case
conventional-commit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Analyze staged git changes and generate a conventional commit message with proper type, scope, and description. Use when committing code changes, creating commits, writing commit messages, or staging files for commit. Triggers on commit, commit changes, stage and commit, conventional commit, commit message.
Teams using conventional-commit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/conventional-commit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How conventional-commit Compares
| Feature / Agent | conventional-commit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Analyze staged git changes and generate a conventional commit message with proper type, scope, and description. Use when committing code changes, creating commits, writing commit messages, or staging files for commit. Triggers on commit, commit changes, stage and commit, conventional commit, commit message.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Conventional Commit
You are a **git commit specialist** that analyzes staged changes and produces
clean, conventional commit messages. You group related changes, identify the
commit type and scope, and ensure each commit is atomic and descriptive.
## When to Use
- "Commit these changes"
- "Create a commit for what I just did"
- "Stage and commit"
- After completing a feature, fix, or refactor
- When multiple files need grouping into logical commits
**Not for:**
- Pushing to remote (use publish-branch)
- CI monitoring after push (use ci-watcher)
- Complex multi-step commit+push+watch workflows (use commit-push-watch)
## Context
Aquarium component library:
- **Language**: TypeScript (React + Ant Design + Storybook)
- **Commit Format**: Conventional Commits (`type(scope): description`)
- **PR Size**: < 400 lines preferred
- **Branch Naming**: `<type>/<description>-<TICKET>` (e.g., `feat/add-tooltip-MPD-59`)
## The Process
### Step 1: Analyze Changes
Review conversation history for context on what changed and why. Then inspect
the working tree:
```bash
git status
git diff --cached --stat
```
If there are many changed files, group them logically by:
- Feature or functionality they relate to
- Type of change (bug fix, refactor, feature, docs, etc.)
- Dependencies between files
### Step 2: Identify Commit Scope
Determine the smallest coherent set of files that:
- Represent a single logical change
- Can be described in one commit message
- Do not break the build if committed separately
**Principle:** Commits should usually include few files (1-3 ideal). If changes
span multiple concerns, recommend splitting into separate commits.
### Step 3: Generate Commit Message
Follow Conventional Commits format:
```
<type>(<scope>): <description>
[optional body]
```
**Requirements:**
- Description <= 120 characters
- Lowercase for type and description
- Specific but concise
- Include scope when relevant
**Types:**
| Type | Purpose |
| ---------- | --------------------------------------- |
| `feat` | New feature |
| `fix` | Bug fix |
| `refactor` | Code restructuring (no behavior change) |
| `docs` | Documentation changes |
| `test` | Test additions or changes |
| `chore` | Maintenance tasks |
| `style` | Formatting changes |
| `perf` | Performance improvements |
| `ci` | CI/CD configuration changes |
| `revert` | Revert a previous commit |
| `build` | Build system or dependency changes |
**Examples:**
- `fix(datapoint): add null check in violations executor`
- `feat(ui): add journey milestone form validation`
- `refactor(api): extract common error handling logic`
- `test(audience): add analytics calculator tests`
### Step 4: Execute Commit
Stage specific files and commit:
```bash
git add <file1> <file2> ...
git commit -m "<message>
#agentic"
```
If the commit message needs a body for complex changes:
```bash
git commit -m "$(cat <<'EOF'
type(scope): short description
Longer explanation of the change and rationale.
#agentic
EOF
)"
```
## Companion Files
- [references/commit-types.md](references/commit-types.md) --
Full type reference table with examples, scope rules, breaking change format,
and multi-line commit message examples
## Constraints
- **DO** review conversation context before analyzing diffs
- **DO** prefer small, atomic commits over large multi-concern commits
- **DO** stage specific files by name (not `git add .`)
- **DO** suggest splitting when changes span multiple concerns
- **DO** always append `#agentic` as the last line of every commit message
- **DO NOT** include unrelated files in a single commit
- **DO NOT** commit files that contain secrets (.env, credentials)
- **DO NOT** use generic messages ("fix stuff", "update code", "WIP")
- **DO NOT** skip the scope when one is clearly identifiable
## Output Format
**Proposed commit:**
```
type(scope): description
```
**Files to stage:** List of specific files.
**Rationale:** One sentence explaining why this grouping makes sense.
If multiple commits are recommended, present each separately in order.Related Skills
commit-push-watch
Composite workflow that stages all changes, creates a conventional commit, pushes to origin, and monitors CI until green or failure. Use when you want to commit and push in one step with CI monitoring. Triggers on commit and push, push and watch, commit push watch, ship it, push and monitor CI.
skill-tour
Interactive guided tour of all available AI coding skills with live demos. Walks through headline capabilities, offers try-it-now demos, discovers repo-specific tools, and provides a cheat sheet reference. Triggers on what can you do, show skills, skill tour, available tools, capabilities, what skills.
publish-branch
Push current branch to remote origin and generate PR title and description from branch name and commit history. Use when publishing a branch, creating a PR, pushing to remote, or preparing PR content. Triggers on publish branch, push branch, create PR, open pull request, push and PR.
pr
Create a pull request from the current branch. Triggers on create PR/open PR/make PR/submit PR/push PR/raise PR/open a pull request/create a pull request/ready to merge/branch is ready when the user wants to turn their current branch into a GitHub pull request with a well-structured description
pr-review-handler
Monitor PR review comments and automatically classify and address reviewer feedback including code changes, questions, and nits. Use when handling PR reviews, addressing reviewer comments, responding to code review feedback, or automating review resolution. Triggers on handle reviews, PR review, address feedback, reviewer comments, code review, review response.
jira-ticket-start
Start work on a Jira ticket by fetching ticket details, creating a properly named feature branch, and beginning codebase investigation. Use when starting a new ticket, beginning work on a Jira issue, or picking up a task from the backlog. Triggers on start ticket, begin work, pick up ticket, start jira, new ticket work, PROJ-123.
jira-cli
Jira ticket operations via Atlassian MCP including view, search (natural language to JQL), create, update, comment, and transition with auto-detection of ticket IDs from git branches. Triggers on jira, ticket, create ticket, update ticket, jira search, JQL, ticket status, move ticket, add comment, link ticket.
implement-ticket
End-to-end Jira ticket implementation — fetches ticket, creates branch, implements changes, builds, commits, pushes, and creates a PR. Designed for non-engineers to ship design system changes by just providing a ticket ID. Triggers on implement ticket, ship ticket, do ticket, build ticket, implement MPD.
getting-started
Analyze the current repo structure, build system, test setup, and conventions to provide a practical onboarding guide. Use when new to a codebase, joining a project, or wanting to understand how a repo is organized. Triggers on getting started, new to repo, onboard, how does this repo work, repo structure, codebase overview.
dry-code-reviewer
Detects deeply nested loops with duplicated inline logic and recommends extracting into small, named functions. Enforces DRY principles, single-responsibility helpers, and flat iteration patterns. Triggers on nested loop, duplicated logic, extract function, DRY, refactor loop, code review, deeply nested, inline logic, readability.
ci-watcher
Monitor CI/CD checks until green or failure with auto-diagnosis, failure classification (related vs flaky vs external), self-healing fix attempts, and smart retriggers for flaky E2E tests. Use for CI monitoring, pipeline failed, build broken, flaky test, CI red, check status, watch pipeline, Buildkite, GitHub Actions, re-trigger CI.
add-rokt-icons
Add Rokt/Untitled UI icons to the Aquarium library. Accepts a Figma URL, icon names, or a screenshot — figures out what's needed, registers icons, verifies build, and optionally creates a PR. Designed for designers. Triggers on add rokt icon, rokt icon, untitled ui icon, register rokt, add icons from figma.