$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
お前も Gemini CLI extensions を作らないか?
Search
SatohJohn
October 20, 2025
Programming
0
130
お前も Gemini CLI extensions を作らないか?
Jagu'e'r クラウドネイティブ分科会 クラウドネイティブ × Gemini CLI のイベントで発表した資料になります
SatohJohn
October 20, 2025
Tweet
Share
More Decks by SatohJohn
See All by SatohJohn
NVIDIA NeMo Agent Tooklit を使ってみた
satohjohn
0
54
Gemini Enterprise を恐れない - Securityと監査-
satohjohn
0
130
進化の早すぎる生成 AI と向き合う
satohjohn
0
610
検索システムにおけるセキュリティ
satohjohn
0
83
Feature Flag 開発を標準化し、加速させる OpenFeature を導入する
satohjohn
4
2.5k
ADK Java が出たので AI Agent を作ろう
satohjohn
0
180
NotebookLM + Agentspace を使った(開発)体験
satohjohn
1
860
Open Feature 面白いぞ
satohjohn
0
120
Workforce Identity を使った 権限管理で Cloud Run を動かしてみた
satohjohn
0
800
Other Decks in Programming
See All in Programming
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
470
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
160
Cell-Based Architecture
larchanjo
0
140
Implementation Patterns
denyspoltorak
0
110
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
530
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
410
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
150
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.7k
愛される翻訳の秘訣
kishikawakatsumi
3
340
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
マスタデータ問題、マイクロサービスでどう解くか
kts
0
120
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
A better future with KSS
kneath
240
18k
Why Our Code Smells
bkeepers
PRO
340
57k
Navigating Weather and Climate Data
rabernat
0
50
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
31
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
88
Automating Front-end Workflow
addyosmani
1371
200k
Building Applications with DynamoDB
mza
96
6.8k
Ruling the World: When Life Gets Gamed
codingconduct
0
100
SEO for Brand Visibility & Recognition
aleyda
0
4.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
37
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.
まとめ