git-commit skill
scriptsDiff dosyalarından conventional commit mesajları oluşturur ve git commit işlemlerini gerçekleştirir.
- GitHub yıldızları
- 8
- Dosyalar
- 4
- Son commit
- 28 Eki 2026
- Lisans
- MIT
- İzin verilen araçlar
- —
git-commit skill ne işe yarar?
git-commit bir agent skill'dir. Diff dosyalarından conventional commit mesajları oluşturur ve git commit işlemlerini gerçekleştirir.
Özet, skill'in SKILL.md dosyasından oluşturuldu.
git-commit skilli hakkında
Bu SKILL, terminal tabanlı ortamlarda çalışan geliştiriciler için standartlaştırılmış commit mesajlarının oluşturulmasını ve git commit işlemlerinin yürütülmesini otomatize eder. Bir agent değişiklikleri stage etmesi veya bir kod modifikasyonunu tamamlaması gerektiğinde, stage edilmiş veya edilmemiş diff'leri analiz etmek için bu aracı yükler. Her girişin bir tip, isteğe bağlı bir scope ve emir kipiyle yazılmış bir açıklama içermesini sağlayarak conventionalcommits.org spesifikasyonuna uygun conventional commit mesajları üretir.
Süreç, varsayımlarda bulunmak yerine mesajın gerçek kod değişikliklerini doğru bir şekilde yansıtmasını sağlamak için git status ve git diff çıktılarını okumaya dayanır. Kalite kontrollerinden geçemeyen commit'leri engellemek için npm, ruff, flake8 veya golangci-lint gibi projeye özel linter'ları otomatik olarak tespit edip çalıştıran bir pre-commit linting mekanizması içerir. Bu araç özellikle standart geliştirme commit'leri için tasarlanmıştır; release commit'leri oluşturmak veya branch-finish iş akışlarını yönetmek için kullanılmamalıdır.
Bir agent bununla neler yapabilir
- 1Conventional commit mesajları oluşturunBir AI agent, bir kod diff'inde bulunan spesifik değişikliklere dayanarak yapılandırılmış bir commit mesajı yazabilir.
- 2Breaking change'leri doğru şekilde yönetinGeliştiriciler, breaking change'leri gerekli ünlem işareti ve footer ile otomatik olarak formatlamak için bu aracı kullanabilirler.
- 3Karışık değişiklikleri commit'lere organize edinAgent, bir diff'in birbiriyle ilgisiz konular içerdiğini tespit edebilir ve bunları ayrı commit'lere bölmeyi önerebilir.
Skill'in SKILL.md dosyasından yazılmıştır. Her kullanım durumu oradaki bir alıntı ile kontrol edilir.
git-commit skill nasıl kurulur
Her komut, skill klasörünü istemcinin skills dizinine kopyalar. Yüklemek için istemciyi yeniden başlatın veya yeni bir oturum başlatın.git-commit skill'ini Eklenti uygulamasına kur
/plugin marketplace add mgiovani/cc-arsenal /plugin install cc-arsenal@cc-arsenal-marketplace
git-commit skill'ini Claude Code uygulamasına kur
~/.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commitgit-commit skill'ini Claude Code (project) uygulamasına kur
.claude/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit .claude/skills/git-commitgit-commit skill'ini Codex uygulamasına kur
~/.agents/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.agents/skills/git-commitgit-commit skill'ini Gemini CLI uygulamasına kur
~/.gemini/skills/git-commit/SKILL.md
$ npx degit mgiovani/cc-arsenal/skills/git-commit ~/.gemini/skills/git-commitgit-commit skill'ini Claude.ai uygulamasına kur
npx degit mgiovani/cc-arsenal/skills/git-commit git-commit && zip -r git-commit.zip git-commit # claude.ai → Customize → Skills → + → Create skill → Upload a skill → git-commit.zip
SKILL.md
GitHub'da görüntüleGit Commit
Generate a conventional commit message and create the commit.
Quality Guidelines
Base the message only on what the diff actually shows, not assumptions:
- Read
git statusandgit diff --staged(orgit diffif nothing is staged yet) before writing anything. - Check which files/modules changed before setting scope.
- Look for removed exports, changed signatures, deleted functions to catch breaking changes.
- If the purpose of a change is unclear, ask the user rather than guess.
Pre-commit Linting
In Claude Code, a PreToolUse hook runs before every git commit: it detects the project's
linter (Node's npm/bun/pnpm/yarn run lint, Python's ruff/flake8, make lint, rubocop,
golangci-lint) and blocks the commit if it fails. No linter configured means the commit
proceeds unblocked. Outside Claude Code (no hook support), run the project's lint command
yourself before committing. Never bypass a failing lint with --no-verify: fix the errors
and re-run the commit instead.
Workflow
- Run
git statusandgit diff --stagedto see what actually changed. - If the diff mixes unrelated concerns (e.g. a feature plus an unrelated fix plus docs),
split into separate commits by staging each group with
git add <files>and committing them one at a time. Otherwise, one commit is enough, don't force a split. - For each commit, pick the type:
feat: new featurefix: bug fixdocs: documentation onlystyle: formatting, no code meaning changerefactor: neither fixes a bug nor adds a featureperf: performance improvementtest: adding or correcting testsbuild: build system or dependency changesci: CI configuration/scriptschore: everything else that doesn't touch src or testsrevert: reverts a previous commit
- Format as
type(scope): description, scope optional, description imperative mood ("add" not "added"), max ~50 characters. Skip the body for a typo fix or a single dependency bump; add a wrapped body (why, not how) once the change alters behavior or touches multiple files. For breaking changes, append!after the scope and add aBREAKING CHANGE: ...footer.
Example formats
feat(auth): add OAuth2 login support
fix(api): resolve null pointer in user endpoint
docs: update installation instructions
chore(deps): bump lodash to 4.17.21
feat(shopping-cart)!: remove deprecated calculate method
BREAKING CHANGE: calculate has been removed, use computeTotal instead
Ask for confirmation before committing if the changes are complex or span multiple concerns; otherwise just commit.
Bu becerideki dosyalar
4git-commit skill soruları
git-commit skill'ini Claude Code uygulamasına nasıl kurarım?
npx degit mgiovani/cc-arsenal/skills/git-commit ~/.claude/skills/git-commit komutunu çalıştırın. Claude Code, skill'leri ~/.claude/skills (tüm projeler) veya .claude/skills (tek proje) konumundan yükler ve açıklaması görevle eşleştiğinde skill'i kullanır.
git-commit skill'ini hangi istemciler kullanabilir?
Agent Skills biçimini okuyan her istemci: Claude Code, Codex, Gemini CLI ve claude.ai (ZIP olarak yükleyin). Skill içindeki betikler yalnızca istemcinin kod çalıştırmaya izin verdiği yerlerde çalışır.
Projede bir linter yapılandırılmışsa ne olur?
Commit öncesinde bir PreToolUse hook'u çalışarak projenin linter'ını tespit eder ve eğer linting işlemi başarısız olursa commit işlemini engeller.
Birbirinden bağımsız birden fazla değişiklik içeren bir diff dosyasını nasıl yönetmeliyim?
Değişiklikleri git add <files> komutuyla her bir grubu ayrı ayrı stage ederek ve bunları tek tek commit'leyerek ayrı commit'lere bölmelisiniz.
Breaking change commit formatı nedir?
Breaking change durumları için scope kısmından sonra bir ünlem işareti eklemeli ve alt bilgi (footer) kısmına 'BREAKING CHANGE: ...' ibaresini dahil etmelisiniz.