command-creator について
既存スキルを呼び出すスラッシュコマンドを作成する Claude Code 向けスキルです。コマンドファイルの形式、入力検証、カタログ更新、作成後の統合確認を説明します。
主な機能
- 01スラッシュコマンドファイルの作成
- 02コマンド名と対象スキルの検証
- 03コマンドカタログの更新
- 04作成後の統合チェック
- 05関連アーティファクトの確認
活用シーン
- 01スキル用ショートカットの作成
- 02ワークフロー向けの覚えやすいコマンド設定
- 03コマンド登録と対象スキルの確認
- 04既存コマンドファイルの更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill command-creatorインストール後、Claude Code で/command-creatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/command-creator.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/command-creator.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
コマンド作成
スキルに処理を委任するコマンドファイルを作成します。コマンドは .claude/commands/ に配置され、Claude Code によって /commandname として自動検出されます。
ステップ 0:既存のコマンドを確認する
作成する前に、コマンドがすでに存在するか確認します。
test -f .claude/commands/<command-name>.md && echo "EXISTS" || echo "NEW"
存在する場合 → Read を使用して現在のコマンドファイルを確認し、Edit を使用して直接変更を適用します。更新後に、作成後の統合手順(ステップ 4)を実行します。
新規の場合 → ステップ 0.5 に進みます。
ステップ 0.5:関連アーティファクトの確認
作成を進める前に、エコシステム内の関連アーティファクトを確認します。
.claude/lib/creators/companion-check.cjsのcompanion-check.cjsを使用しますcheckCompanions("command", "{command-name}")を呼び出して、関連アーティファクトを特定します- 関連アーティファクトのチェックリストを確認し、不足している必須項目と推奨項目を記録します
- このアーティファクトの作成後に、不足している関連アーティファクトを作成または確認する計画を立てます
- 作成後の統合メモに、関連アーティファクトの確認結果を記載します
このステップは情報提供のみを目的としており(作成を妨げるものではありません)、アーティファクトのエコシステム全体を考慮するためのものです。
使用する場面
- スキルを呼び出す、ユーザー向けのショートカットを作成する場合
- 複雑なスキルの呼び出しを簡素化する場合
- よく使うワークフローに覚えやすいコマンド名を付ける場合
コマンドファイルの形式
すべてのコマンドは、次の形式を使用します。
---
description: Brief description of what this command does
disable-model-invocation: true
---
Invoke the {skill-name} skill and follow it exactly as presented to you
例:/tdd コマンド
---
description: Test-driven development workflow with Iron Laws
disable-model-invocation: true
---
Invoke the tdd skill and follow it exactly as presented to you
作成ワークフロー
ステップ 1:入力を検証する
// Validate command name (lowercase, hyphens only)
const commandName = args.name.toLowerCase().replace(/[^a-z0-9-]/g, '-');
// Validate target skill exists
const skillExists = await fileExists(`.claude/skills/**/${args.skill}/SKILL.md`);
if (!skillExists) {
throw new Error(`Target skill not found: ${args.skill}`);
}
ステップ 2:コマンドファイルを作成する
const commandPath = `.claude/commands/${commandName}.md`;
const description = args.description || `Invoke the ${args.skill} skill`;
const content = `---
description: ${description}
disable-model-invocation: true
---
Invoke the ${args.skill} skill and follow it exactly as presented to you
`;
await writeFile(commandPath, content);
ステップ 3:コマンドカタログを更新する
const catalogPath = '.claude/context/artifacts/catalogs/command-catalog.md';
const catalogContent = await readFile(catalogPath, 'utf-8');
// Add entry to catalog
const newEntry = `| /${commandName} | ${description} | ${args.skill} |`;
// Insert alphabetically
ステップ 4:作成後の統合を実行する
const {
runIntegrationChecklist,
queueCrossCreatorReview,
} = require('.claude/lib/creators/creator-commons.cjs');
await runIntegrationChecklist('command', commandPath);
await queueCrossCreatorReview('command', commandPath, {
artifactName: commandName,
createdBy: 'command-creator',
});
作成後の統合
コマンドの作成後、統合チェックリストを実行します。
const {
runIntegrationChecklist,
queueCrossCreatorReview,
} = require('.claude/lib/creators/creator-commons.cjs');
// 1. Run integration checklist
const result = await runIntegrationChecklist('command', '.claude/commands/<command-name>.md');
// 2. Queue cross-creator review
await queueCrossCreatorReview('command', '.claude/commands/<command-name>.md', {
artifactName: '<command-name>',
createdBy: 'command-creator',
});
// 3. Review impact report
// Check result.mustHave for failures - address before marking complete
統合の確認:
- コマンドが command-catalog.md に追加されている
- 対象のスキルが存在し、有効である
- コマンドファイルに適切な YAML フロントマターがある
-
/commandnameでコマンドを検出できる
使用例
TDD コマンドを作成する
Skill({
skill: 'command-creator',
args: '--name tdd --skill tdd --description "Test-driven development workflow"',
});
Debug コマンドを作成する
Skill({
skill: 'command-creator',
args: '--name debug --skill debugging --description "Systematic debugging workflow"',
});
関連スキル
skill-creator- コマンドが処理を委任するスキルを作成しますskill-updater- コマンドが処理を委任する既存のスキルを更新します
メモリプロトコル(必須)
開始前:
.claude/context/memory/learnings.md を読みます
完了後:
- 新しいコマンドパターン →
.claude/context/memory/learnings.md - コマンド作成に関する問題 →
.claude/context/memory/issues.md - 委任に関する判断 →
.claude/context/memory/decisions.md
中断されることを前提にしてください。メモリに記録されていなければ、実行されていないものとして扱います。
相互参照:クリエイターエコシステム
このスキルはクリエイターエコシステムの一部です。調査で不足が判明した場合は、適切な関連クリエイターを呼び出してください。
| 発見された不足 | 必要な成果物 | 呼び出すクリエイター | 呼び出すタイミング |
|---|---|---|---|
| ドメイン知識を再利用可能なスキルにする必要がある | skill | Skill({ skill: 'skill-creator' }) | 不足がスキル領域全体に及ぶ場合 |
| 既存スキルのカバー範囲が不完全である | skill update | Skill({ skill: 'skill-updater' }) | 類似するスキルが存在するが不完全な場合 |
| 専用エージェントが必要な機能がある | agent | Skill({ skill: 'agent-creator' }) | その機能を担うエージェントが必要な場合 |
| 既存エージェントに機能の更新が必要である | agent update | Skill({ skill: 'agent-updater' }) | 類似するエージェントが存在するが不完全な場合 |
| ドメインにコード/プロジェクトのひな形が必要である | template | Skill({ skill: 'template-creator' }) | 再利用可能なコードパターンが必要な場合 |
| 動作に実行前/実行後のガードが必要である | hook | Skill({ skill: 'hook-creator' }) | 強制適用する動作が必要な場合 |
| プロセスに複数フェーズのオーケストレーションが必要である | workflow | Skill({ skill: 'workflow-creator' }) | 複数ステップの調整が必要な場合 |
| 成果物に構造化された入出力の検証が必要である | schema | Skill({ skill: 'schema-creator' }) | 成果物の入出力に JSON スキーマが必要な場合 |
| ユーザーとのやり取りにスラッシュコマンドが必要である | command | Skill({ skill: 'command-creator' }) | ユーザー向けのショートカットが必要な場合 |
| 繰り返し使うロジックに再利用可能な CLI ツールが必要である | tool | Skill({ skill: 'tool-creator' }) | CLI ユーティリティが必要な場合 |
| 限定的/単一成果物のみの機能 | inline | この成果物内にのみ記載する | 汎用化するには特定性が高すぎる場合 |
エコシステム連携契約(必須)
このクリエイタースキルは、連携するクリエイターエコシステムの一部です。ここで作成する成果物はすべて、関連するクリエイターと連携し、その検証に合格する必要があります。
- 所有者と実行経路については
agent-creator - 機能のパッケージ化と割り当てについては
skill-creator - 実行可能な自動化の窓口については
tool-creator - 強制適用とガードレールについては
hook-creator - ポリシーと静的チェックについては
rule-creatorとsemgrep-rule-creator - 標準化されたひな形については
template-creator - オーケストレーションとフェーズ管理については
workflow-creator - ユーザー/オペレーター向けコマンド UX については
command-creator
クリエイター間のハンドシェイク(必須)
完了前に、関連するすべてのハンドシェイクを確認してください。
- 成果物のルートが
.claude/CLAUDE.mdと関連するルーティングドキュメントに存在すること。 - 検出/レジストリエントリーが更新されていること(該当するカタログ/インデックス/レジストリ)。
- 関連する成果物が作成されているか、理由を明示して免除されていること。
- 作成した成果物に対して
validate-integration.cjsが成功すること。 - スキルのメタデータを変更した場合は、スキルインデックスが再生成されていること。
Research Gate(Exa + arXiv — 両方必須)
新しいパターン、テンプレート、ワークフローを導入する場合は、調査が必須です。
- 実装パターンとエコシステムのパターンを調査するには、Exa を使用します。
mcp__Exa__web_search_exa({ query: '<topic> 2025 best practices' })mcp__Exa__get_code_context_exa({ query: '<topic> implementation examples' })
- 学術研究を調べるには、arXiv を検索します(AI/ML、エージェント、評価、オーケストレーション、メモリ/RAG、セキュリティでは必須です)。
- Exa 経由:
mcp__Exa__web_search_exa({ query: 'site:arxiv.org <topic> 2024 2025' }) - 直接 API:
WebFetch({ url: 'https://arxiv.org/search/?query=<topic>&searchtype=all&start=0' })
- Exa 経由:
- 決定事項、制約事項、対象外の事項を、成果物の参照先やドキュメントに記録します。
- 更新は最小限にとどめ、過剰な設計は避けます。
次のトピックに関わる場合、arXiv の調査は必須であり、代替手段ではありません: AI エージェント、LLM の評価、オーケストレーション、メモリ/RAG、セキュリティ、静的解析、または新たな方法論。
回帰に配慮したデリバリー
- 動作変更には、厳密に RED → GREEN → REFACTOR の手順を適用します。
- 変更したモジュールを対象にテストを実行します。
- 変更したファイルに対して、リンターとフォーマッターを実行します。
- コミットは関心事ごと(ロジック/ドキュメント/生成物)に分けます。