Skip to content
Back to skills

High Quality Commit

ASecurity

コード変更を適切なgitコミット戦略でgit commitします。基本的には既存のgitコミットへのsquash戦略を採用し、必要に応じてブランチ全体のgitコミット履歴を再構成します。実装完了時やユーザーがgit commitを依頼した時に使用します。

  • 416 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 7, 2026
code-qualitybashgit

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add aiskillstore/marketplace --skill high-quality-commit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of High Quality Commit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for High Quality Commit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiskillstore-high-quality-commit/badge)](https://www.skillsdirectory.com/skills/aiskillstore-high-quality-commit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: high-quality-commit
description: コード変更を適切なgitコミット戦略でgit commitします。基本的には既存のgitコミットへのsquash戦略を採用し、必要に応じてブランチ全体のgitコミット履歴を再構成します。実装完了時やユーザーがgit commitを依頼した時に使用します。
---

# High Quality Commit

このスキルは、コード変更を高品質なgitコミットとして記録するための包括的なガイダンスを提供します。

## Instructions

### ステップ1: ブランチとgitコミット履歴の確認

以下のコマンドで現在の状態を確認:

```bash
git status
git log --oneline --graph origin/main..HEAD
```

確認事項:
- 現在のブランチ名
- mainブランチから何gitコミット進んでいるか
- 各gitコミットの内容と粒度

### ステップ2: gitコミット戦略の判断

以下の基準でgitコミット戦略を選択:

#### 戦略A: Squash(基本戦略)

以下の条件を満たす場合、既存のgitコミットにsquashします:

- ブランチに既にgitコミットが存在する
- 変更内容が既存のgitコミットと同じテーマ・機能に関連している
- gitコミットを分ける合理的な理由がない

**実行方法:**

```bash
git add -A
git commit --amend
```

gitコミットメッセージを適切に更新してください。

#### 戦略B: 新規gitコミット

以下の場合は新規gitコミットを作成:

- ブランチに初めてのgitコミット
- 既存のgitコミットとは異なる独立した変更
- gitコミットを分けることで履歴がより理解しやすくなる

**実行方法:**

```bash
git add -A
git commit
```

#### 戦略C: Interactive Rebase(gitコミット再構成)

以下の場合はブランチ全体のgitコミットを再構成:

- 複数の小さなgitコミットを論理的なまとまりに整理したい
- gitコミットの順序を変更したい
- 不要なgitコミットを削除したい
- gitコミット履歴を意味のある単位に再編成したい

**実行方法:**

```bash
git rebase -i origin/main
```

エディタで以下の操作を実行:
- `pick`: gitコミットをそのまま維持
- `squash`または`s`: 前のgitコミットと統合
- `reword`または`r`: gitコミットメッセージを変更
- 行の順序を変更してgitコミット順を変更

### ステップ3: gitコミットメッセージのガイドライン

gitコミットメッセージは以下の形式で記述:

```
<type>: <subject>

<body>

<footer>
```

**Type:**
- `feat`: 新機能
- `fix`: バグ修正
- `refactor`: リファクタリング
- `test`: テスト追加・修正
- `docs`: ドキュメント変更
- `chore`: ビルドプロセスやツールの変更

**Subject:**
- 50文字以内
- 命令形で記述(例: "add"ではなく"Add")
- 末尾にピリオドを付けない

**Body(オプション):**
- 変更の理由と背景を説明
- 何を変更したかではなく、なぜ変更したかを記述
- 72文字で折り返す

**Footer(オプション):**
- Issue番号への参照(例: `Closes #123`)
- Breaking changesの記述

### ステップ4: git commit後の確認

git commit後、以下を確認:

```bash
git log -1 --stat
git status
```

- gitコミットが正しく作成されたか
- 意図したファイルがすべて含まれているか
- gitコミットメッセージが適切か

## 重要な注意事項

1. **mainブランチでは実行しない**: mainブランチで直接git commitしないでください
2. **コメントは残さない**: コード内の説明コメントは削除してください
3. **原子的なgitコミット**: 各gitコミットは独立して意味を持つようにしてください
4. **一貫性**: プロジェクトの既存のgitコミットスタイルに従ってください

## 戦略選択のフローチャート

```
ブランチにgitコミットがある?
  ├─ No → 新規gitコミット作成
  └─ Yes → 変更は既存のgitコミットと同じテーマ?
      ├─ Yes → Squash(git commit --amend)
      └─ No → gitコミットを分ける合理性がある?
          ├─ Yes → 新規gitコミット作成
          └─ 履歴を整理したい → Interactive Rebase
```

Files in this skill

  • SKILL.md4.3 KB
  • examples.md7.8 KB
  • reference.md6.2 KB
  • skill-report.json8.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…