🪄

Claude Code と Gemini CLI と Codex CLI のカスタムスラッシュコマンドを相互に変換、あるいは同期する

に公開

TLDR

(2025/10/10追記)

次の3つのコーディングエージェントの Custom Command を相互変換や同期できるコマンドラインツールになりました。

  1. Anthropic Claude Code の Custom slash commands
  2. Google Gemini CLI の Custom commands
  3. OpenAI Codex CLI の Custome prompt

https://github.com/hatappo/agent-command-sync

インストール

npm install -g agent-command-sync して aasync -h で使い始められます。

使用例

# Claude Code から Gemini CLI への変換
acsync -s claude -d gemini

# Gemini CLI から Codex CLI への変換
acsync -s gemini -d codex

# 適用せずに変更内容だけプレビュー
acsync -s claude -d codex --noop

使用イメージ


Gemini CLI のカスタムスラッシュコマンド

Gemini CLI にいつの間にかカスタムスラッシュコマンドがきていた。記事の日付は7/31だからもうけっこう前ですね。

https://cloud.google.com/blog/topics/developers-practitioners/gemini-cli-custom-slash-commands?hl=en

Claude Code のカスタムスラッシュコマンドとは書き方が異なる

お、 ~/.claude/commands から ~/.gemini/commands にシンボリックリンクしてやるか、と思ったけど仕様が似ているようで微妙に違いました。

https://x.com/hatappo/status/1952083575551275033

上記のリリース記事には toml に対するこだわりが感じられます。Markdown のフロントマターは Toml でも書けるし一緒では?という気がしますが、別に Claude Code のそれらと比べてとはもちろん書かれていません。

The .toml file provides a powerful and structured base on which to build extensive support for complex commands.

.toml ファイルは、複雑なコマンドに対する広範なサポートを構築するための強力で構造化された基盤を提供します。

Claude Code の資産をそのまま使いたい

なので Claude Code のカスタムコマンドを Gemini CLI のそれらにまとめて全部変換するスクリプトを書きました。だいぶ雑ではあるけど、手元のコマンドはひととおりうまく変換されて認識されてました。

Chezmoi

私は https://www.chezmoi.io/ でカスタムスラッシュコマンドを管理しているので run_onchange_ のスクリプトに登録しておくことで、変更があったら自動で適用されるようにできます、たぶん。(まだ試してない)

ドキュメント: https://www.chezmoi.io/user-guide/use-scripts-to-perform-actions/

おまけ

Open Code

Open Code にはまだカスタムスラッシュコマンドはないもよう。
Issue ではみんな「Claude Code みたいなの!」とドキュメントのリンクを貼って連呼してくれているので、機能追加されても今度は変換しなくて済みそうです。

https://github.com/sst/opencode/issues/299

https://github.com/sst/opencode/issues/1216

Grok CLI

リリースされたとき以来ぜんぜん触ってないんだけど、開発自体は粛々と続けられているようです。

カスタムスラッシュコマンドは Issue すらまだなさそうです。 https://github.com/superagent-ai/grok-cli/issues

Discussion