GitHub - ThatXliner/x-commit: Xliner's Commit Skill · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
ThatXliner
x-commit
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>38 Commits<br>38 Commits
.claude-plugin
.claude-plugin
.claude
.claude
.github/workflows
.github/workflows
README.md
README.md
SKILL-fun.md
SKILL-fun.md
SKILL.md
SKILL.md
install.sh
install.sh
View all files
Repository files navigation
x-commit
I created this because I didn't like how Claude committed files when I simply asked it to "create atomic commits." This skill codifies all the things I want.
Features
Gitmoji + Conventional Commits — combines visual emoji shortcodes (:bug:, :sparkles:) with machine-parseable types (fix, feat) in one format
Atomic commit enforcement — splits changes by code dependency, not just "logical grouping," so git revert and git bisect always work cleanly
Why-not-what messaging — teaches the agent to explain motivation in subjects and bodies instead of restating the diff
Pre-commit checklist — lints, documentation updates, and AI plan file cleanup (never commit Superpowers docs) before every commit
Full gitmoji reference — 30+ commonly used gitmoji with type pairings, plus a link to the complete spec
Installation
Via Plugin System (recommended)
claude plugin marketplace add ThatXliner/claude-plugins<br>claude plugin install x-commit
Via Script
One-liner (clones the repo and optionally installs the global hook guard):
bash curl -fsSL https://raw.githubusercontent.com/ThatXliner/x-commit/main/install.sh)
Manual Clone
git clone https://github.com/ThatXliner/x-commit.git ~/.claude/skills/x-commit
The skill is automatically discovered by Claude Code on next conversation start.
Hook guard (recommended)
The skill includes a PreToolUse hook that validates commit messages follow the x-commit format before allowing them through. This prevents Claude from bypassing the skill when confirming a commit with a short reply like "yes".
The install script will offer to set this up for you. To install it manually, add this to your ~/.claude/settings.json:
// ...existing settings...<br>"hooks": {<br>"PreToolUse": [<br>"matcher": "Bash",<br>"hooks": [<br>"type": "prompt",<br>"if": "Bash(git commit:*)",<br>"prompt": "Check if this git commit command follows the x-commit skill conventions. The commit message MUST use the format `:gitmoji: type(scope): imperative description` (e.g. `:bug: fix(auth): prevent crash when session expires`). If the message does NOT match this format, block it and tell the model to invoke the x-commit skill first with /x-commit. If it DOES match, allow it. Here is the command: $ARGUMENTS",<br>"statusMessage": "Validating commit format..."
Usage
The skill activates automatically when Claude is writing commit messages, staging changes, or reviewing commits. You can also trigger it explicitly with:
/x-commit
License
MIT
About
Xliner's Commit Skill
Resources
Readme
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
star
Watchers
watching
Forks
forks
Report repository
Releases
No releases published
Packages
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Shell<br>100.0%
You can’t perform that action at this time.