ce-commit

Creates git commits with convention-following messages from working tree changes.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/Norfolk-Group/marcela-norfolk-ai --skill ce-commit-norfolk-group
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ce-commit
Source: https://github.com/Norfolk-Group/marcela-norfolk-ai/tree/main/skills/compound-engineering/skills/ce-commit
Command: npx skills add https://github.com/Norfolk-Group/marcela-norfolk-ai --skill ce-commit-norfolk-group

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Writing clear, consistent git commit messages is tedious and often inconsistent across a team. This Skill automates the entire commit workflow: gathering repository context, detecting existing message conventions, splitting unrelated changes into logical commits, and producing well-structured messages. ## Core Features & Use Cases - Convention Detection: Follows project instructions (AGENTS.md, CLAUDE.md), infers patterns from recent commit history, or defaults to conventional commit format (feat, fix, docs, refactor, and more). - Logical Commit Splitting: Scans changed files for distinct concerns and groups them into separate commits at the file level when changes are clearly unrelated. - Safety Guardrails: Warns before committing directly to main or the default branch, handles detached HEAD states, and stages specific files by name to avoid leaking sensitive files like .env. - Use Case: After finishing a bug fix plus an unrelated refactor, ask for a commit and receive two separate, properly typed conventional commits with meaningful subject lines and bodies. ## Quick Start Ask the assistant to commit my current changes with a clear message following the repo's conventions.

Frequently Asked Questions about ce-commit

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

FAQPage Schema
How do I write a conventional commit message automatically?

Stage or modify your changes, then invoke the commit workflow. It inspects your git status, diff, and recent history, then generates a conventional commit message in the format type(scope): description, choosing the most precise type such as fix or feat.

How to split unrelated changes into separate git commits?

The workflow scans changed files for naturally distinct concerns and groups them at the file level into two or three logical commits. It stages each group by filename and commits separately, without splitting hunks inside individual files.

Can I commit changes while on the main branch?

The workflow detects when the current branch is main, master, or the remote default branch and asks whether to continue or create a feature branch first. If you choose a branch, it derives a name from the change content and runs git checkout -b.

What happens if the repository is in detached HEAD state?

When git branch --show-current returns empty, the workflow explains that a branch is required and asks whether to create a feature branch. If declined, it proceeds with the commit on the detached HEAD.

Does it follow my repo's existing commit message style?

Yes. It first checks loaded project instructions like AGENTS.md or CLAUDE.md for documented conventions, then examines the ten most recent commits for patterns such as ticket prefixes or emoji, and only falls back to conventional commits when no pattern exists.