MCPを使って何かやらせるのではなく、CLIツールを使わせる、というアイデアがめちゃくちゃいいなと思った。
いいところ
- CLIツールをインストールすれば何でもできる
- (例えばghコマンドのように)ユーザ側で認証がしてあれば、ユーザの権限でCLIツールが利用できる
- ツールの使い方をユーザが知っていなくてもなんとかなりがち
わるいところ
- ユーザの権限でCLIツールが使われるので、どこかにおいて自動実行、はちょっと危険な匂い
- CLIツールを準備しないといけない
どうやってやるのか
例えばこういう感じでやると仕上がってしまう。
bqコマンドを使って、20:00〜20:30にリクエストされたユーザのうち、xx機能を使ったユーザを抽出して、result.mdにまとめてください。
- GCPプロジェクト: xxxx
- テーブルスキーマ
- 現在のリポジトリの schema/bq.sql を参照
チームで使うならスキル化してリポジトリに置けば優勝する。claude code君にちゃんと書いてもらったほうがうまく動くと思うが、めちゃくちゃシンプルにはこういう感じ。
---
name: bq-data-analyze
description: Analyzing data using bq command
---
bqコマンドを使ってデータ分析をします。結果をresult.mdにまとめてください。
- GCPプロジェクト: xxxx
- テーブルスキーマ
- 現在のリポジトリの schema/bq.sql を参照
どのようなデータを分析するかはユーザの入力に従ってください。
ghも、gcloudも、kubectlも、terraformも、なんでも使える。
明示的なものはMakefile等でタスクをもりもり書くのがいいと思うが、ある程度、LLM解釈で柔軟にやりたいようなものは、claude skillsにしちゃうのが良さそうだな〜と思った。
claude code以外ではどうしたらいいんだろうか
こういう感じでおよそうまく動くんじゃないだろうか。
ワークフローは .claude/skills に定義されています。
SKILL.mdの先頭を読み取って適切に利用してください。
.cursor/rulesでも同じような感じの気がする。 AGENTS.mdもそうなんだけど、統一されたフォーマットでよしなになるといいなあ。