Claude CodeでVibe codingして作った、Claude Codeをコマンドラインから呼ぶためのsimonw/llmプラグイン

Claude CodeでVibe codingして作った、Claude Codeをコマンドラインから呼ぶためのsimonw/llmプラグイン

Event:

Claude Code Meetup Japan #1(Claude Code祭り!)

Presented:

2025/07/08 nikkie

お前、誰よ?(Python使い の自己紹介)

../_images/uzabase-white-logo.png

Simon Willison-sanによる llm が好き

uvx --with llm-gemini \
  llm -m gemini-2.0-flash 'Tell me fun facts about Mountain View'
  • llm コマンドを他のUnixコマンドと パイプ で繋げられる!

  • 自動ロギング(など)

simonw/llmのプラグインを 自作

uvx --with llm-devin llm -m devin \
  'このissue https://github.com/ftnext/playtest2-python/issues/4 に取り組んでみてください'
uvx --with llm-devin \
  llm -m deepwiki -o repository simonw/llm \
  "llmの主要な機能を教えて"

先日のDevin Meetup Japan #2

さて、Claude Codeには SDK がある

Claude Codeをコマンドラインから呼ぶためのsimonw/llmプラグインを作ろう!

ftnext/llm-claude-code

デモ

uvx --with llm-claude-code llm -m cc \
  '3月18日を1日目として今日が何日目かを数えるPythonスクリプトを書いてください'

結論:「それってClaude Codeでよくない?」

claude -p '3月18日を1日目として今日が何日目かを数えるPythonスクリプトを書いてください'
  • 反論のしようがございません!🎯🎯🎯

  • simonw/llmの多くの機能は Claude Codeにもある (他のコマンドとパイプ、自動ロギング)

本発表の意義:Claude CodeでVibe codingして作った

  • Vibe codingしての学びの共有

  • ProプランのClaude 4 Sonnet

CLAUDE.md

🏃‍♂️Claude 4 Opusへのプロンプト

simonw/llm のプラグインとして Claude Code SDK を使ってClaude Codeにpromptを送ってみたいです。
実装方法について調査し、仕様の不明点は私に質問して、CLAUDE.mdをまず作ってください

E2Eテストを用意する

  • コンテキストに必要なものは入れ、基本的にEnterを押し続ける

  • 作業が一区切りしたら コマンドを叩いて やりたいことが実現されたか確認だけした

uv run llm -m cc こんにちは

便利だったコマンド

  • !: シェルの コマンド打てる!! E2Eのコマンド実行に使用

  • Ctrl + R出力展開。エラーの確認など

人間の経験と噛み合った

def execute(self, prompt, stream, response, conversation=None):
  • simonw/llmの prompt 変数が Prompt 型と分かっていない様子のClaude Code

  • プラグイン開発経験から「prompt.prompt が文字列」と伝えたことで完成!

機能拡張には私がボトルネック

  • Claude Code SDKで 何ができるか 分かってない

  • 追加でやりたいこと、出てこない...(時間もないのでDevinに代わりにSDK触ってレポートしてもらってる)

まとめ🌯:Claude CodeでVibe codingしての学び

  • CLAUDE.md

  • !Ctrl + R を体得

  • E2Eテスト !uv run llm -m cc こんにちは

ご清聴ありがとうございました

Enjoy vibe coding!

https://github.com/ftnext/llm-claude-code