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
69
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
Researchlyの開発で参考にしたデザイン
adsholoko
0
110
NIKKEI Tech Talk#38
cipepser
0
410
業務でAIを使いたい話
hnw
0
240
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
580
AI POSにおけるLLM Observability基盤の導入 ― サイバーエージェントDXインターン成果報告
hekuchan
0
150
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
8
3.3k
CSC509 Lecture 09
javiergs
PRO
0
290
GitHub Copilotを使いこなせ!/mastering_github_copilot!
kotakageyama
2
830
Migration to Signals, Resource API, and NgRx Signal Store
manfredsteyer
PRO
0
150
Health Kit × Foundation Models でAIコーチを作ってみた
ryunakayama
0
100
AI駆動開発カンファレンスAutumn2025 _AI駆動開発にはAI駆動品質保証
autifyhq
0
130
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Automating Front-end Workflow
addyosmani
1371
200k
A better future with KSS
kneath
239
18k
Balancing Empowerment & Direction
lara
5
730
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Designing for humans not robots
tammielis
254
26k
Writing Fast Ruby
sferik
630
62k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
How to Ace a Technical Interview
jacobian
280
24k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
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.
まとめ