Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
お前も Gemini CLI extensions を作らないか?
Search
SatohJohn
October 20, 2025
Programming
0
110
お前も Gemini CLI extensions を作らないか?
Jagu'e'r クラウドネイティブ分科会 クラウドネイティブ × Gemini CLI のイベントで発表した資料になります
SatohJohn
October 20, 2025
Tweet
Share
More Decks by SatohJohn
See All by SatohJohn
検索システムにおけるセキュリティ
satohjohn
0
73
Feature Flag 開発を標準化し、加速させる OpenFeature を導入する
satohjohn
4
2.3k
ADK Java が出たので AI Agent を作ろう
satohjohn
0
160
NotebookLM + Agentspace を使った(開発)体験
satohjohn
1
820
Open Feature 面白いぞ
satohjohn
0
110
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた
satohjohn
0
740
Gemini + Vertex AI を使って作業を自動化「していく」
satohjohn
0
99
Cloud_Run_GPU___Gemma_2_を使った_LLM_アプリケーション開発のススメ.pdf
satohjohn
0
38
Firebase Authenticationのセッション管理術
satohjohn
2
2.5k
Other Decks in Programming
See All in Programming
KoogではじめるAIエージェント開発
hiroaki404
1
430
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
400
業務でAIを使いたい話
hnw
0
260
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
8
3.6k
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
36
11k
Introducing RemoteCompose: break your UI out of the app sandbox.
camaelon
2
540
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
MCPサーバー「モディフィウス」で変更容易性の向上をスケールする / modifius
minodriven
7
1.4k
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
950
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4k
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
230
チーム開発の “地ならし"
konifar
4
3.1k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Statistics for Hackers
jakevdp
799
220k
Music & Morning Musume
bryan
46
6.9k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
A Tale of Four Properties
chriscoyier
161
23k
KATA
mclloyd
PRO
32
15k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
It's Worth the Effort
3n
187
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Transcript
お前も Gemini CLI extensions を作らないか? クラウドネイティブ × Gemini CLI 株式会社スリーシェイク
佐藤慧太 Copyright © 3-shake, Inc. All Rights Reserved.
自己紹介 佐藤 慧太@SatohJohn • 2023/1 株式会社スリーシェイク入社 • Google Cloud Partner
Top Engineer ’24、’25 選出 • お客様の労苦 <Toil>を減らす • 娘のお世話を精一杯やっています
目次 1. Gemini CLI の Extensions の機能のまとめ 2. Extensions の作り方
3. こういうことに使えるかもの紹介
Gemini CLI の Extensions 01 Copyright © 3-shake, Inc. All
Rights Reserved.
extensions https://geminicli.com/docs/extensions/
extensions https://geminicli.com/extensions/ https://github.com/gemini-cli-extensions
作りかた 02 Copyright © 3-shake, Inc. All Rights Reserved.
gemini extensions new {extension名} {template} https://geminicli.com/docs/extensions/getting-started-extensions/ ※バージョン 0.9で試しています
gemini extensions link . ※バージョン 0.9で試しています
# My First Extension Instructions You are an expert developer
assistant. When the user asks you to fetch posts, use the `fetch_posts` tool. Be concise in your responses. ※バージョン 0.9で試しています
gemini extensions uninstall {gemini-extension.jsonのname} ※バージョン 0.9で試しています
Template の種類 https://github.com/google-gemini/gemini-cli/tree/main/packages/cli/src/commands/extensions/examples
mcp-server
mcp-server { "name": "mcp-server-example", "version": "1.0.0", "mcpServers": { "nodeServer": {
"command": "node", "args": ["${extensionPath}${/}dist${/}example.js"], "cwd": "${extensionPath}" } } } インストールされる extension の名前 インストールされる tool 類 複数登録可能
npm run build gemini extensions link . ※バージョン 0.9で試しています
Github へ push しているやつ gemini extensions link https://github.com/{レポジト リ} ※バージョン
0.9で試しています バージョン の更新の検知までしてくれる
使い方 03 Copyright © 3-shake, Inc. All Rights Reserved.
利用用途 特定の Kubernetes への作業を実施する(縛る) • gcloud mcp tool と組み合わせる •
namespace の固定 • 既存 MCP にある使わない設定 ◦ exclude tool でも同じようなことはできる 特定のAPI に対してラップして利用、検証する • MCP 対応したくない、できない系のパターン • 認証周りとかのコード自体を埋め込む形 https://github.com/gemini-cli-extensions/gcloud
利用用途 server.registerTool( 'weather-fetcher', { description: 'Fetches weather information from a
public API.' }, async () => { const appId = "client-id" const apiResponse = await fetch( `https://map.yahooapis.jp/weather/V1/place?appid=${appId}&coordinates=139.6500,35.6764&output=json`,{ method: "GET", } ); const data = await apiResponse.json(); return { content: [ { type: 'text', text: JSON.stringify(data), }, ], }; }, );
まとめ 04 Copyright © 3-shake, Inc. All Rights Reserved.
まとめ