meta-command-creator について
再利用可能なスラッシュコマンドやスキルを設計するClaude Code向けスキルです。ファイル配置、引数、フロントマター、ツール制限、ワークフローの選び方を説明します。
主な機能
- 01プロジェクト用・個人用コマンドの配置
- 02引数とファイル参照の構文
- 03Bash出力の埋め込み
- 04フロントマター設定とツール制限
- 05コマンドの優先順位と命名
活用シーン
- 01再利用可能なチームワークフローの作成
- 02引数を受け取るコマンドの追加
- 03制御が必要な操作のツール制限
- 04コマンドとスキルの使い分け
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oakoss/ agent-skills --skill meta-command-creatorインストール後、Claude Code で/meta-command-creatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/arguments-and-refs.mdcommand-anatomy.mdtemplates.mdscripts/validate-command.py詳細
カスタムスラッシュコマンドの作成
概要
Claude Code のスラッシュコマンドは、再利用可能な /command ワークフローを作成する、任意の YAML フロントマターを含む Markdown ファイルです。コマンドとスキルは統合されており、.claude/commands/ ファイルと .claude/skills/ ディレクトリのどちらからもスラッシュコマンドを作成できます。追加ファイルに対応するなど、より多くの機能を備えているため、スキルの使用が推奨されますが、単一ファイルのコマンドも引き続き使用できます。
使用する場面: 繰り返し使うプロンプト、チームのワークフロー標準化、ガードレール付きの操作(デプロイ、コミット)、複数フェーズのタスク、bash の出力による動的なコンテキスト注入。
使用しない場面: 複数のファイルやスクリプトを必要とする複雑な機能(代わりにスキルのディレクトリ全体を使用)、一度限りのプロンプト、すでに存在する組み込みコマンド(/compact、/help、/init)。
クイックリファレンス
| 機能 | 構文/場所 | 主なポイント |
|---|---|---|
| プロジェクトコマンド | .claude/commands/name.md | /help に「(project)」と表示されます |
| プロジェクトスキル | .claude/skills/name/SKILL.md | コマンドより推奨され、追加ファイルに対応しています |
| 個人用コマンド | ~/.claude/commands/name.md | すべてのプロジェクトで使用できます |
| 個人用スキル | ~/.claude/skills/name/SKILL.md | すべてのプロジェクトで使用できます |
| プラグインコマンド | <plugin>/skills/name/SKILL.md | plugin-name:skill-name として名前空間が付与されます |
| サブディレクトリのコマンド | .claude/commands/git/commit.md | /help に「(project:git)」と表示されます |
| すべての引数 | $ARGUMENTS | 引数文字列全体 |
| 位置引数 | $0、$1、$2 または $ARGUMENTS[0] | 0 から始まるインデックス |
| Bash インジェクション | !`git status` | プロンプトの送信前に実行され、プレースホルダーが出力に置き換わります |
| ファイル参照 | @src/file.ts | ファイルの内容をプロンプトにインラインで挿入します |
| 拡張思考 | 内容に「ultrathink」を含める | より深い推論モードを起動します |
| セッション ID | ${CLAUDE_SESSION_ID} | ログ記録用の現在のセッション識別子 |
| フロントマターの説明 | description: What it does | /help の一覧表示と Skill ツールに必須です |
| ツールの制限 | allowed-tools: Read, Grep, Glob | 使用ごとの承認なしでツールを制限します |
| 手動呼び出しのみ | disable-model-invocation: true | Claude による自動起動を防ぎます |
| メニューから非表示 | user-invocable: false | Claude のみが読み込むバックグラウンド知識になります |
| 引数のヒント | argument-hint: [issue-number] | オートコンプリートに表示されます |
| モデルの上書き | model: claude-sonnet-4-20250514 | このコマンドで使用する特定のモデル |
| サブエージェントの実行 | context: fork | 分離されたコンテキストで実行します |
| サブエージェントの種類 | agent: Explore | context: fork の場合に組み込みまたはカスタムのエージェントを使用します |
優先順位
複数の階層に同じ名前のコマンドがある場合は、優先順位の高い場所が使用されます。
- エンタープライズ(管理対象の設定)
- 個人用(
~/.claude/) - プロジェクト(
.claude/)
プラグインコマンドには名前空間(plugin:name)が付与されるため、競合することはありません。スキルとコマンドの名前が同じ場合は、スキルが優先されます。
よくある間違い
| 間違い | 影響 | 正しいパターン |
|---|---|---|
コマンドファイルに name フィールドを追加する | .md コマンドでは無視されます | 名前はファイル名から推測されます |
description フロントマターがない | /help と Skill ツールに表示されません | 必ず description を含めてください |
category または tags フィールドを使う | 何も通知されず無視されます | 整理にはサブディレクトリを使ってください |
空の場合の処理をせずに $ARGUMENTS を使う | 予期しない動作が発生します | 空かどうかを確認し、デフォルト値を指定してください |
allowed-tools なしで !`bash` を使う | コマンドを実行できません | フロントマターに allowed-tools: Bash(...) を追加してください |
| プロジェクト側の設定が個人設定より優先されると想定する | 個人設定が優先されます | 個人コマンドが優先されるため、競合を避けるために名前を変更してください |
タスクなしで context: fork を使う | サブエージェントに実行可能な作業がありません | 明示的な手順を含むスキルだけをフォークしてください |
| 組み込みコマンド名を上書きする | 組み込みコマンドは上書きできません | 別の名前(/help ではなく /my-help)を使ってください |
委任
- コマンドパターンの調査:
Exploreエージェントを使って、.claude/commands/または.claude/skills/にある既存のコマンドを探します - 複雑なワークフロースキル:複数ファイルにまたがる機能には、
SKILL.mdと補助ファイルを含む完全なスキルディレクトリを作成します