commit

作成者: microsoft

ステージング済みまたは未ステージングの変更を、リポジトリの既存のコミットスタイルに合ったAI生成のコミットメッセージと共にコミットします。ユーザーが「コミット」と依頼した場合に使用します。

npx skills add https://github.com/microsoft/vscode --skill commit

Commit Changes

Help the user commit code changes with a well-crafted commit message derived from the diff, following the conventions already established in the repository.

Guidelines

  • Never amend existing commits without asking.
  • Never force-push or push without explicit user approval.
  • Never skip pre-commit hooks (do not use --no-verify).
  • Never skip signing commits (do not use --no-gpg-sign).
  • Never revert, reset, or discard user changes unless the user explicitly asked for that.
  • Check for obvious secrets or generated artifacts that should not be committed. If something looks risky - ask the user.
  • When in doubt about staging, convention, or message content — ask the user.

Workflow

1. Discover the repository's commit convention

Run the following to sample recent commits and the user's own commits:

# Recent repo commits (for overall style)
git log --oneline -20

# User's recent commits (for personal style)
git log --oneline --author="$(git config user.name)" -10

Analyse the output to determine the commit message convention used in the repository (e.g. Conventional Commits, Gitmoji, ticket-prefixed, free-form). All generated messages must follow the detected convention.

2. Check repository status

git status --short
  • If there are no changes (working tree clean, nothing staged), inform the user and stop.
  • If there are staged changes, proceed with those and do not stage any unstaged changes.
  • If there are only unstaged changes, stage everything (git add -A), and proceed with those.

3. Generate the commit message

Obtain the full diff of what will be committed:

git diff --cached --stat
git diff --cached

Using the diff and the commit convention detected in step 1, draft a commit message with:

  • A subject line (≤ 72 characters) that summarises the change, following the repository's convention.
  • An optional body that explains why the change was made, only when the diff is non-trivial.
  • Reference issue/ticket numbers when they appear in branch names or related context.
  • Focus on the intent of the change, not a file-by-file inventory.

4. Commit

Construct the git commit command with the generated message.

Execute the commit:

git commit -m "<subject>" -m "<body>"

5. Confirm

After the commit:

  • Run git status --short to confirm the commit completed.
  • Run git log --oneline -1 to show the new commit.
  • If pre-commit hooks changed files or blocked the commit, summarize exactly what happened.
  • If hooks rewrote files after the commit attempt, do not amend automatically. Tell the user what changed and ask whether they want you to stage and commit those follow-up edits.

microsoftのその他のスキル

oss-growth
microsoft
OSS成長ハッカーのペルソナ
official
accessibility-aria-expert
microsoft
React/Fluent UIのWebビューにおけるアクセシビリティ問題を検出・修正します。スクリーンリーダー互換性のコードレビュー時、ARIAラベルの修正時、および…の確認時に使用します。
official
generate-canvas-app
microsoft
[DEPRECATED — 代わりに canvas-app を使用してください] 完全なPower Appsキャンバスアプリを生成します。
official
django
microsoft
Djangoウェブ開発のベストプラクティス(モデル、ビュー、テンプレート、テストを含む)
official
github-issue-creator
microsoft
生のメモ、エラーログ、音声入力、スクリーンショットを、簡潔なGitHub Flavored MarkdownのIssueレポートに変換します。ユーザーがバグ情報やエラーを貼り付けた際に使用します。
official
python-package-management
microsoft
依存関係管理にuvを使用し、タスク自動化にpoethepoetを使用します。
official
runtime-validation
microsoft
移行アプリケーションのランタイム検証 — テスト戦略(計画フェーズ)とテスト実行(検証フェーズ)をカバー:起動検証、…
official
azure-postgres-ts
microsoft
pg(node-postgres)パッケージを使用してAzure Database for PostgreSQL Flexible Serverに接続し、パスワード認証とMicrosoft Entra ID(パスワードレス)認証をサポートします。
official