パラメータと変数
$ARGUMENTSでユーザー入力を受け取り、シェル展開でライブデータを注入——スキルを動的で柔軟にするパラメータ化技法。
プレミアムコースコンテンツ
このレッスンはプレミアムコースの一部です。Proにアップグレードすると、すべてのプレミアムコースとコンテンツを利用できます。
- すべてのプレミアムコースを利用
- 1,000以上のAIスキルテンプレート付き
- 毎週新しいコンテンツを追加
🔄 前回のおさらい: レッスン2でスキルフォルダの作成、SKILL.mdの構築、テストのイテレーションを実践しました。ここではスキルを動的にする——ユーザー入力とシステムデータを活用する方法を学びます。
$ARGUMENTS:ユーザー入力の受け取り
$ARGUMENTSはスキル呼び出し時にユーザーが提供するテキストを格納する変数です:
/translate Hello world
→ $ARGUMENTS = "Hello world"
命令本文で$ARGUMENTSを参照することで、スキルがユーザー入力に応じて動的に動作します。
シェル展開:ライブデータの注入
!command構文でシステムコマンドの出力をスキルに注入できます:
| 構文 | 展開結果 |
|---|---|
!date -u | 現在のUTCタイムスタンプ |
!cat config.json | ファイルの内容 |
!git log --oneline -5 | 最新5コミットの要約 |
シェル展開はAIに送信される「前」にローカルで実行されます。
呼び出し制御
disable-model-invocation: true
エージェントの自動呼び出しを防止。副作用を持つスキル(ファイル変更、API呼び出し)に推奨。
user-invocable: false
ユーザーから直接呼び出し不可にする。バックグラウンド知識やヘルパースキル向け。
テンプレートファイルの活用
assets/フォルダにテンプレートを配置し、SKILL.md本文を簡潔に保つ:
my-skill/
├── SKILL.md
└── assets/
├── template.md
└── examples.md
✅ 確認クイズ: user-invocable: falseはどんなスキルに適している?→他のスキルから内部的に参照されるヘルパースキルや、プロジェクト固有の知識ベースとして機能するバックグラウンドスキルに適しています。
まとめ
- $ARGUMENTSでユーザー入力を受け取り、スキルを動的に動作させる
- シェル展開(!command)でファイル内容やタイムスタンプなどのライブデータを注入
- disable-model-invocation: trueで副作用のあるスキルの安全性を確保
- assets/フォルダでテンプレートを管理し、SKILL.md本文を簡潔に保つ
次のレッスン: 外部API連携——認証情報の安全な管理とAPI呼び出しのベストプラクティスを学びます。
理解度チェック
まず上のクイズを完了してください
レッスン完了!