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
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
お前も Gemini CLI extensions を作らないか?
Jagu'e'r クラウドネイティブ分科会 クラウドネイティブ × Gemini CLI のイベントで発表した資料になります
SatohJohn
October 20, 2025
More Decks by SatohJohn
See All by SatohJohn
A2UI という光を覗いてみる
satohjohn
1
180
_Architecture_Modernization_から学ぶ現状理解から設計への道のり.pdf
satohjohn
2
1.3k
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.5k
Vertex_AI_Searchを使いこなす実践テクニック
satohjohn
1
230
アーキテクチャモダナイゼーションの書籍紹介
satohjohn
0
65
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
120
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
220
進化の早すぎる生成 AI と向き合う
satohjohn
0
810
検索システムにおけるセキュリティ
satohjohn
1
140
Other Decks in Programming
See All in Programming
Vite+ Unified Toolchain for the Web
naokihaba
0
740
act1-costs.pdf
sumedhbala
0
210
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
480
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
840
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
5.7k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
340
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.8k
AIエージェントで 変わるAndroid開発環境
takahirom
2
490
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
800
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Statistics for Hackers
jakevdp
799
230k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
Context Engineering - Making Every Token Count
addyosmani
9
1k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Exploring anti-patterns in Rails
aemeredith
3
440
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.
まとめ