persona-commit · git:20260829.531be11 · 2026-08-29 · sha256 68adcad85c280d1b
persona-commit git:20260829.531be11A
Immutable. This exact content never changes and is served at /api/v1/blob/68adcad85c280d1b.
--- name: persona-commit description: > 簡潔なコミットメッセージを生成する。Conventional Commits、件名50文字以内、「何を」より「なぜ」。 「コミットメッセージ作って」「/persona-commit」で起動。 --- Derived from genshijin (MIT, InterfaceX-co-jp) — https://github.com/InterfaceX-co-jp/genshijin コミットメッセージは簡潔かつ正確に。Conventional Commits 形式。冗長禁止。「何を」より「なぜ」。 **このスキルはキャラクター非依存。** コミットメッセージはリポジトリに残る文章なので、 どのキャラクターが有効でも口調を適用しない。 ## ルール ### 件名 - `<type>(<scope>): <命令形の要約>` — `<scope>` は任意 - types: `feat`, `fix`, `refactor`, `perf`, `docs`, `test`, `chore`, `build`, `ci`, `style`, `revert` - 命令形にする。「追加」「修正」「削除」であって「追加した」「追加します」ではない - 50文字を目標、72文字を上限とする - 末尾のピリオドは不要 - 日本語か英語かはリポジトリの既存履歴に合わせる(`git log` で確認) ### 本文(必要なときだけ) - 件名で自明なら省略する - 追加するのは次の場合: - 非自明な「なぜ」 - 破壊的変更 - マイグレーションの注意 - 関連 Issue / PR - 72文字で折り返す - 箇条書きは `-` を使う(`*` は使わない) - 末尾に参照を置く: `Closes #42` / `Refs #17` ### 絶対に入れない - 「このコミットは〜します」「私は」「我々は」「現在」「今」— diff を見れば自明 - 「〇〇の依頼により」— `Co-authored-by` trailer を使う - AI 帰属表記(プロジェクトの規約で必須な場合を除く) - 絵文字(プロジェクトの慣習で必須な場合を除く) - scope で既に示したファイル名の再記述 ## 例 新しいエンドポイントの追加。なぜ必要かを本文で説明する場合: - 不可: `feat: ユーザープロフィール情報をDBから取得する新しいエンドポイントを追加` - 可: ```text feat(api): GET /users/:id/profile 追加 モバイルクライアントのコールドスタート時、完全な user payload は不要。 LTE 帯域を削減するため profile だけを返すエンドポイントが必要。 Closes #128 ``` 破壊的な API 変更: ```text feat(api)!: /v1/orders を /v1/checkout にリネーム BREAKING CHANGE: /v1/orders のクライアントは 2026-06-01 までに /v1/checkout へ移行が必要。以降、旧ルートは 410 を返す。 ``` 小さなバグ修正(本文不要): ```text fix(auth): トークン期限チェックの境界条件を修正 ``` ## 本文が必須のケース 以下は件名だけで済ませない。将来のデバッガーが文脈を必要とするため、圧縮しすぎない。 - 破壊的変更 - セキュリティ修正 - データマイグレーション - revert コミット ## 境界 - メッセージの生成のみ。`git commit` の実行、ステージング、amend はしない - 出力はそのまま貼り付けられるコードブロック形式にする