Skip to content

原文(日本語に翻訳)

カスタムの/commitコマンドを持たないユーザーに対して、Claudeが存在しないcommitスキルを呼び出して「Unknown skill: commit」を表示してしまう問題を修正しました。

原文(英語)

Fixed Claude calling a non-existent commit skill and showing "Unknown skill: commit" for users without a custom /commit command.

概要

Claude Code v2.1.111では、コミット作成を依頼した際にClaude Codeがカスタム/commitスラッシュコマンドが存在すると誤って判断し、「Unknown skill: commit」エラーを表示していた問題が修正されました。カスタムの/commitコマンドを設定していないユーザーでも、コミット関連のタスクを正常に実行できるようになります。

基本的な使い方

コミット作業の依頼(修正後)

# "コミットして"や"変更をコミット"と依頼する場合
"変更をコミットしてください"

# 変更前(バグ):
# → Claude が /commit スキルを呼び出そうとする
# → "Unknown skill: commit" エラーが表示される

# 変更後(修正済み):
# → Claude が直接 git commit コマンドを使用してコミットを作成する

カスタム/commitコマンドの有無による動作

# カスタム/commitコマンドがない場合(大多数のユーザー):
# → Claudeが通常のgit操作でコミットを実行(修正済み)

# カスタム/commitコマンドがある場合:
# → カスタムコマンドが使用される(変更なし)

実践例

通常のコミットワークフロー

bash
# ファイルを変更
echo "new feature" >> feature.py

# Claude Codeにコミットを依頼
claude --print "変更されたファイルをコミットしてください"

# 変更後:正常にコミットが作成される
# git add → git commit -m "..." の流れで処理される

コミットメッセージの生成とコミット

"この変更内容を適切なコミットメッセージでコミットしてください"

# 変更後:
# 1. Claudeが変更内容を確認
# 2. 適切なコミットメッセージを生成
# 3. git addとgit commitを実行
# エラーなし

複数ファイルの変更をコミット

# 複数ファイルを編集後
"機能Aの実装をすべてコミットしてください。
コミットメッセージはConventional Commits形式で"

# 変更後:
# feat: implement feature A
# のようなメッセージでコミットが作成される

カスタム/commitコマンドを設定する方法

bash
# カスタムコミットコマンドを使いたい場合は
# .claude/commands/commit.md(またはSKILL.md)に定義する

# ファイル作成例
mkdir -p .claude/commands
cat > .claude/commands/commit.md << 'EOF'
# Commit

変更内容を分析し、Conventional Commits形式でコミットしてください。
以下を自動的に実行してください:
1. git diff --staged で変更を確認
2. 適切なコミットタイプを選択(feat/fix/docs/refactor等)
3. 簡潔なコミットメッセージを作成
4. git commit -m "..." を実行
EOF

注意点

  • この修正はカスタムの/commitコマンドを設定していないユーザーに影響します
  • カスタム/commitコマンドを持っているユーザーには影響しません
  • Claude Codeは直接gitコマンドを使用してコミットを作成します。コミット前にgit statusとgit diffを確認して適切な変更のみをコミットするか確認することを推奨します
  • コミット前の確認プロンプトはパーミッション設定により変わります

関連情報