mcpField
C
caveman-commit

caveman-commit

github.com/rheinmir開発10263 回インストール3 週間前に更新
リポジトリ

caveman-commit について

caveman-commitは、Conventional Commits形式の簡潔なコミットメッセージを作成するエージェントスキルです。変更理由を重視し、必要に応じて背景を加えますが、Git操作は行いません。

主な機能

  1. 01Conventional Commits形式
  2. 02簡潔で命令形の件名
  3. 03重大・自明でない変更の背景説明
  4. 04貼り付け可能なコードブロック出力

活用シーン

  1. 01diffからのメッセージ作成
  2. 02重大な変更の説明
  3. 03セキュリティ修正や移行の背景補足

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rheinmir/setup --skill caveman-commit

インストール後、Claude Code で/caveman-commitを入力して読み込まれたか確認します。

詳細

簡潔かつ正確なコミットメッセージを書いてください。Conventional Commits 形式を使用します。余計な文言は不要です。何をしたかではなく、なぜ行ったかを記します。

ルール

件名行:

  • <type>(<scope>): <命令形の要約> — <scope> は省略可
  • 種別:feat、fix、refactor、perf、docs、test、chore、build、ci、style、revert
  • 命令形を使用します:「add」「fix」「remove」。「added」「adds」「adding」は使用しません
  • 可能であれば50文字以内、上限は72文字
  • 末尾にピリオドを付けません
  • コロンの後の大文字・小文字はプロジェクトの慣習に合わせます

本文(必要な場合のみ):

  • 件名だけで内容が明確な場合は省略します
  • 次の場合にのみ本文を追加します:自明でない 理由、破壊的変更、移行に関する注意、関連する Issue
  • 72文字で折り返します
  • 箇条書きには * ではなく - を使います
  • Issue/PR への参照は末尾に記載します:Closes #42、Refs #17

絶対に含めないもの:

  • 「This commit does X」「I」「we」「now」「currently」— diff を見れば分かります
  • 「As requested by...」— Co-authored-by トレーラーを使います
  • 「Generated with Claude Code」や、AI に関する帰属表記
  • 絵文字(プロジェクトの慣習で必要な場合を除く)
  • scope にすでに記載されているファイル名の繰り返し

例

Diff:ユーザープロフィール用の新しいエンドポイント。本文で理由を説明

  • ❌ "feat: add a new endpoint to get user profile information from the database"
  • ✅
    feat(api): add GET /users/:id/profile
    
    Mobile client needs profile data without the full user payload
    to reduce LTE bandwidth on cold-launch screens.
    
    Closes #128
    

Diff:API の破壊的変更

  • ✅
    feat(api)!: rename /v1/orders to /v1/checkout
    
    BREAKING CHANGE: clients on /v1/orders must migrate to /v1/checkout
    before 2026-06-01. Old route returns 410 after that date.
    

自動的な明確化

次の場合は必ず本文を含めます:破壊的変更、セキュリティ修正、データ移行、以前のコミットを取り消す変更。これらを件名だけに詰め込まないでください。後からデバッグする人に背景情報が必要です。

範囲

生成するのはコミットメッセージのみです。git commit の実行、ファイルのステージング、コミットの amend は行いません。貼り付けて使えるコードブロックとしてメッセージを出力します。「stop caveman-commit」または「normal mode」と指示された場合は、冗長なコミットスタイルに戻します。


出力レポート

スキルの主なタスクがすべて完了した後、wiki にドラフト案を作成します。

手順

1. ファイル名を作成します:

  • 形式:DDMMYY-<ten>.md
  • DDMMYY = 今日の日付(例:2026年6月2日の場合は 020626)
  • <ten> = 実施内容を要約する、kebab-case の2~4語(例:landing-page-coteccons、brand-kit-fintech、ingest-auth-spec)

2. llmwiki/wiki/draft/cave/DDMMYY-<ten>.md を書きます:

# DDMMYY-<ten>
**Type:** draft
**Status:** proposed
**Tags:** <skill-name>, output-report
**Proposed:** YYYY-MM-DD

## What
<One sentence — what this skill invocation produced or decided>

## Output
<Key artefacts, files created/modified, or decisions made>

## Files
| File | Action |
|------|--------|
| `path/to/file` | created / modified |

## Notes
- Invoked via: `/<skill-name>` skill

## Origin
- **Draft:** `wiki/draft/cave/DDMMYY-<ten>.md`
- **Commit:** _(filled by verify-before-commit)_
- **Date promoted:** _(filled by verify-before-commit)_

3. wiki のインデックスとログを更新します:

  • llmwiki/wiki/index.md — 次の行を1行追加します:| [DDMMYY-<ten>](draft/cave/DDMMYY-<ten>.md) | draft | YYYY-MM-DD |
  • llmwiki/wiki/log.md — 次を追加します:## YYYY-MM-DD — <skill-name> — <ten>

スキルによって成果物も判断事項も一切生じない場合(例:/caveman-stats のような表示のみのモード)に限り、スキップします。

コメント