少なくとも Claude Code では 2 つは統合されて、同じ扱いで呼び出すことができるようになっている。
Skill に寄せておくと他の Agent から使いたい場合に便利そうなので、必要なものを変換したい。
Custom Slash Command に互換のある、「ユーザーが呼び出すことができ、Agent が自動的に使用しない」という状態にするには、 Frontmatter で disable-model-invocation: true を指定する。
---
allowed-tools: Bash(git push), Bash(git diff), Bash(git log), Bash(gh pr create), Bash(which gh)
description: Create a pull request with structured format
user-invocable: true
disable-model-invocation: true
---
Create a pull request following the structured format. Analyze the current branch changes and generate appropriate content.
....
user-invocable: true はデフォルト値なので指定する必要がないが、自分は明示的に書いてしまっている。これらのフラグを逆にすると「Agent が自動的に使用することだけ許可」された Skill を作ることができる、そちらも用途はありそう。