Skip to content

原文(日本語に翻訳)

/skill-a /skill-b do XYZ のように連続してスラッシュスキルを呼び出した場合、最初の1個だけでなく、先頭から最大5個までのスキルがすべて読み込まれるようになりました。

原文(英語)

Stacked slash-skill invocations like /skill-a /skill-b do XYZ now load all leading skills (up to 5), not just the first

概要

これまでメッセージの先頭に複数のスラッシュスキルを並べて書いても、実際に読み込まれるのは最初の1個だけで、2個目以降は文字通りの引数テキストとして扱われていました。v2.1.199からは、メッセージ冒頭に連続して置かれたスキルが最大6個(最初の1個+スタックされた5個)まで一括で読み込まれ、末尾に残ったテキストが各スキルに $ARGUMENTS として渡されます。

基本的な使い方

メッセージの先頭にスキルを連続して並べるだけです。

text
/code-review /fix-issue 123

この場合、code-reviewfix-issue の両方のスキルが読み込まれ、末尾の 123 が両方のスキルに $ARGUMENTS として渡されます。v2.1.199より前は code-review だけが読み込まれ、/fix-issue 123 はそのまま code-review への引数テキストとして扱われていました。

実践例

複数のレビュー観点を一度のメッセージで適用する

コードレビュー用スキルとセキュリティチェック用スキルを同時に走らせたい場合、2つのスキルを並べて呼び出せます。

text
/code-review /security-check src/api/payments.ts

code-reviewsecurity-check の両方が読み込まれ、src/api/payments.ts が共通の $ARGUMENTS として両スキルに渡されます。

個別の引数を $ARGUMENTS[N] で使い分ける

スタックされた各スキルが同じ引数テキストを受け取る点を利用し、スキル側で位置引数として個別に取り出すこともできます。

yaml
---
name: migrate-component
description: Migrate a component from one framework to another
---

Migrate the $ARGUMENTS[0] component from $ARGUMENTS[1] to $ARGUMENTS[2].
Preserve all existing behavior and tests.

/migrate-component SearchBar React Vue のように呼び出すと、$ARGUMENTS[0]SearchBar$ARGUMENTS[1]React$ARGUMENTS[2]Vue に置き換わります(短縮形の $0 $1 $2 も利用可能)。スタックした複数のスキルそれぞれで、この位置引数の仕組みを使い分けられます。

スタックが途切れる条件を把握しておく

展開は「インラインでユーザーが直接呼び出せるスキルではないトークン」に到達した時点で止まります。たとえば、サブエージェントとしてフォーク実行されるスキルや、/loop のように引数自体がスラッシュコマンドのように見えるトークンに当たると、そこでスタックの展開が終わり、それ以降の文字列はすべてのスキルへの引数テキストになります。

text
/deploy /loop 5m check status

この場合、deploy は読み込まれますが /loop はスキルとして展開されず、/loop 5m check status がそのまま deploy への引数テキストとして渡されます。

注意点

  • 展開されるのは最初の1個+スタックされた最大5個、合計最大6個までです。
  • フォークされたサブエージェントとして実行されるスキルに到達すると、その時点でスタックの展開が止まります。
  • スキル本体に $ARGUMENTS が含まれていない場合、Claude Codeが自動的に ARGUMENTS: <入力内容> をスキル内容の末尾に追加します。
  • v2.1.199より前のバージョンでは最初のスキルのみが読み込まれ、2個目以降はリテラルな引数文字列として扱われていました。

関連情報