Use when changes are ready to commit - generates conventional commit messages with scope detection and validation.
73%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/commit/SKILL.mdGenerate and execute conventional commits with automatic scope detection and pre-commit validation.
Override: $ARGUMENTS
git status --porcelain
git diff --stat
git diff --cached --statDetermine:
Type detection from file patterns:
| Changed Files | Type |
|---|---|
src/components/*, src/pages/* | feat or fix |
tests/*, *.test.*, *.spec.* | test |
docs/*, *.md | docs |
.github/*, docker*, *.yml | ci or chore |
*.config.*, tsconfig*, package.json | chore |
| Rename/move only | refactor |
| Delete only | chore |
Scope detection from paths:
src/modules/auth/* -> scope: authsrc/components/Button/* -> scope: buttonsrc/services/* -> scope: servicesType from diff content:
featfixrefactorperfFormat: type(scope): description
Rules:
feat, fix, refactor, test, docs, chore, perf, ci, style)If $ARGUMENTS provided, use it as description override but still validate format.
# Check for secrets/sensitive files
git diff --cached --name-only | grep -E '\.(env|pem|key)$'
# Check for debug artifacts
git diff --cached | grep -E '(console\.log|debugger|TODO.*HACK)'
# Check for large files
git diff --cached --stat | awk '{print $NF}' | head -5Warn if:
.env or credential files stagedconsole.log / debugger statements in diff# Stage if not staged
git add [relevant files]
# Commit
git commit -m "type(scope): description"If commit message needs body:
git commit -m "type(scope): description" -m "body with more details"──── /commit ────
Type: feat
Scope: auth
Message: feat(auth): add JWT refresh token rotation
Files: 4 changed (+120 / -15)
Warnings: none
✓ Committed: abc1234──── /commit ────
⚠ WARNINGS:
- console.log found in src/service.ts:42
- .env.local is staged (contains secrets?)
Proceed anyway? Showing commit preview:
fix(api): handle timeout in payment service
Files: 2 changed (+8 / -3)| Excuse | Reality |
|---|---|
| "I'll write a proper message later" | You won't. The context is fresh NOW. A bad commit message is permanent. |
| "It's just a small fix, message doesn't matter" | git log is the project's history book. Every entry matters. |
| "I'll squash before merging anyway" | Squash doesn't fix the habit. Good messages help during review too. |
| "Validation slows me down" | A leaked secret or committed console.log slows the whole team down. |
fernandezbaptiste/specialist-agent
cd716d9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.