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
57
お前も Gemini CLI extensions を作らないか?
Jagu'e'r クラウドネイティブ分科会 クラウドネイティブ × Gemini CLI のイベントで発表した資料になります
SatohJohn
October 20, 2025
Tweet
Share
More Decks by SatohJohn
See All by SatohJohn
検索システムにおけるセキュリティ
satohjohn
0
68
Feature Flag 開発を標準化し、加速させる OpenFeature を導入する
satohjohn
3
2.2k
ADK Java が出たので AI Agent を作ろう
satohjohn
0
150
NotebookLM + Agentspace を使った(開発)体験
satohjohn
1
780
Open Feature 面白いぞ
satohjohn
0
110
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた
satohjohn
0
700
Gemini + Vertex AI を使って作業を自動化「していく」
satohjohn
0
98
Cloud_Run_GPU___Gemma_2_を使った_LLM_アプリケーション開発のススメ.pdf
satohjohn
0
36
Firebase Authenticationのセッション管理術
satohjohn
2
2.5k
Other Decks in Programming
See All in Programming
Devoxx BE 2025 Loom lab
josepaumard
0
110
XP, Testing and ninja testing ZOZ5
m_seki
3
750
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
580
スキーマ駆動で、Zod OpenAPI Honoによる、API開発するために、Hono Takibiというライブラリを作っている
nakita628
0
250
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
260
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
230
理論と実務のギャップを超える
eycjur
0
170
株式会社 Sun terras カンパニーデック
sunterras
0
380
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
290
CSC509 Lecture 03
javiergs
PRO
0
340
AI Agent 時代的開發者生存指南
eddie
3
2k
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Designing for Performance
lara
610
69k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
600
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Code Reviewing Like a Champion
maltzj
526
40k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Practical Orchestrator
shlominoach
190
11k
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.
まとめ