Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Claude Codeチーム活用の現在地 〜小さな実践と今後の展望〜 / Current St...
Search
shuntaka
September 08, 2025
8.9k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Claude Codeチーム活用の現在地 〜小さな実践と今後の展望〜 / Current State of Claude Code Team Adoption - Small Practices and Future Prospects
shuntaka
September 08, 2025
More Decks by shuntaka
See All by shuntaka
GitHub Copilot CLI が マッスルに馴染むまで / Until GitHub Copilot CLI Becomes Second Nature
shuntaka
1
15k
Claude Code活用時のつらみと隙間を埋めるツール / Tools to bridge the gaps and pains of using Claude Code
shuntaka
0
15k
CloudFront OAC × Lambda Function URLs で作る認証付き簡易サイト / Simple Authenticated Website Built with CloudFront OAC and Lambda Function URLs
shuntaka
0
4.2k
顧客体験を加速させるチャットボットで始めるAIエージェント入門 / Introduction to AI Agents: Starting with Chatbots to Accelerate Customer Experience
shuntaka
1
4.2k
AI SDKで作るチャットボット開発 / Chatbot Development with AI SDK
shuntaka
0
1.9k
Claude Codeをdotfiles管理しよう! / Let's Manage Claude Code with Dotfiles!
shuntaka
8
22k
個人プロジェクトをKiroベースに 乗り換えてみた / I Tried Migrating My Personal Project to Kiro-based
shuntaka
0
3k
AI駆動開発がもたらす革新と実践 / Innovation and Practice Brought by AI-Driven Development
shuntaka
2
2.4k
リモートMCP + MCP業務取り組み例 / Remote MCP + MCP Business Initiative Examples
shuntaka
0
2.4k
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Mobile First: as difficult as doing things right
swwweet
225
10k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
58k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
The Language of Interfaces
destraynor
162
27k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
Mind Mapping
helmedeiros
1
350
Six Lessons from altMBA
skipperchong
29
4.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
2025/09/08 髙橋 俊⼀ (a.k.a shuntaka) Claude Codeチーム活⽤の現在地 〜⼩さな実践と今後の展望〜
⾃⼰紹介 2 • 2016年 ⾦融情報ベンダー⼊社 バックエンド ◦ 株価配信Web API開発 • 2019年 クラスメソッド⼊社
◦ CX/IoT事業部にてIoT案件を複数 • 2024年 製造ビジネステクノロジー部担当 ◦ R&D業務/サーバーサイド/RAG/AI Agent開発 • 部署 ◦ 製造ビジネステクノロジー部 • 名前(shuntaka) ◦ 髙橋 俊⼀ • 出⾝‧住まい ◦ 東京 詳細はhttps://shuntaka.dev/whoを⾒てね
⽬次 3 ‧チームで利⽤しているAIコーディングエージェント ‧Claude Codeのチーム活⽤ ‧今後試したい、取り組みたいこと ‧まとめ ※ Claude Codeは
v1.0.98の情報となります
チームで利⽤しているAIコーディングエージェント
前提: チームの規模 5 ・マルチテナントSaaSアプリケーション、アーキテクチャ刷新及び新機能開発 ・25年7月から開始、弊社は全体のデザインと管理系システム、AIチャットボット開発 ・弊社のエンジニアチーム体制はFE 3名 BE 1.5名体制
利⽤しているAIコーディングエージェント 6 AIコーディングエージェント(有償)は沢山ある 中、弊チームでは以下を利用。 ・Claude Code → 自律的なコード生成 ・Cursor →
Cursor Tab補完で小回りが効く 汎⽤ 特化 アシスタント ⾃律型 CLI, 定額 VSCode fork Devin Cline v0 Lovable CodeRabbit Amazon Q Kiro Windsurf Cursor Copilot AWSに強い CLI 仕様ドリブン開発 UI特化 PRレビュー特化 browser use ⾼い⾃律性
Claude Codeのチーム活⽤
チーム活⽤の課題 8 今回はチーム活用の第一歩というところで、導入しやすいものを紹介します!🔰 チーム共通適用可能なプラクティスを貯めるには検証に時間かかる... ・大規模言語モデルは不確実で汎用的に使えるのか検証が難しい ・副作用が強いプラクティスを共通化すると、人のスタイルと合わず逆に非効率な例がある 基本的には従来のアジャイル、スクラム開発にAIコーディングエージェントを導入して、効率化したスタイルと なります。
前提: モノリシックリポジトリ採⽤ 9 仕様、FE、BE共に同⼀リポジトリに ある。移植元のソースも同様に格納 インフラ設定で、ビルド設定や環境 変数の移し替えなど効率的に出来て いる。 /add-dir コマンドもあるが@シンボ
ル検索⾮対応ですし、あまり同列に 検索してくれない?マルチレポにし ないと厳しい場⾯は普通になるの で、ディレクトリルート変えるなど で対応は出来そう。 . ├── docs │ ├── legacy-app # 過去のアプリ │ └── source # 現状ドキュメント ├── apps │ ├── rest-api # BE │ ├── web # FE │ └── iac # インフラ定義 └── README.md
アプリ → インフラ設定反映を効率化 10 モノレポで、以下のような変更を効率的に できる。 1. アプリ側の環境変数の設定を変更 2. そのままecspressoのタスク定義変更
Slash commandsのリポジトリ共有 11 .claude ├── commands │ ├── check-code.md │
└── pr-template.md 王道。便利。 ‧使いたい⼈が使いたいときに利⽤可能 ‧洗練されていなくても問題ない ‧⾝近なトイル削減活動に繋がる 現在は2種類を使っている ‧PRテンプレート作成 ‧コードチェック
Slash commandsのリポジトリ共有 12 PRテンプレート作成の場合 以下のフローを⾃動化 ‧チームのテンプレートを適⽤ ‧PRサマリを作成 ‧⾃分をアサインしてDraftでPR作成 ‧PR画⾯を開く ⼩さいPRを作りやすい。GitHub周り
はCLIでおおよその操作が可能なので 業務に合わせて整えるのが良い。 ⼤きいPRは出⼒をレビューしてちゃ んと削ることを意識しないと負荷に なるので注意! https://youtu.be/lRd3TQPuPLE
Slash commandsのリポジトリ共有 13 コードチェックの場合、Claude Codeが よく勘違いする静的解析のお決まりの修 正パターン改善。 以下が揃ったらcode-checkコマンドにぶ ち込みましょう! ‧毎回やる静的解析結果の修正
‧Claude Codeがよく勘違いする スペルチェック解析ツールの場合 ⼩⽂字統⼀でいいのに毎回両⽅含めてき てしまう... npx cspell lint . --cache --gitignore | perl -nle 'print "\"$1\"," if /.*\((.*?)\).*/' | sort | tr '[:upper:]' '[:lower:]' | uniq 👈 👈これでもできるけど保守がつらい 😓
Slash commandsのリポジトリ共有 14 # ソースコードチェック ## コンテキスト `pnpm spell-check`を実行して、エラー内容を確認してくださ い
## Your task 結果を元に修正を行ってください。 ### スペルミスの場合 * ライブラリや技術的な用語は @cspell.json に 小文字で除 外設定をしてください * 単語はwordsで単語として成立していないハッシュのような 文字列はignoreWordsに記述してください * タイプミスの場合は、ソース側を正しい記述に変更してくださ い ### 最後に 修正が発生した場合、再度 `pnpm spell-check`を実行し、成功 することを確認してください https://youtu.be/lRd3TQPuPLE 👍 スラッシュコマンド の内容の⼀部抜粋
setting.local.json運⽤ 15 .claude ├── commands │ ├── check-code.md │ └──
pr-template.md ├── settings.local.json └── .settings.local.json .gitignore settings.jsonは共通で置いていない。 .setting.local.jsonをテンプレートとして⽤意 し、setting.local.jsonにコピーしてもらう。 試⾏錯誤しやすくかつ、おすすめ設定はテン プレ取り込みスタイルにした。 https://speakerdeck.com/shuntaka/lets-manage-claude-code-with-dotfiles MCPなど個⼈の設 定ファイル管理⽅ 法はこちら👉
.rgignoreを使った@シンボル検索調整 16 .gitignore # .rgignore !* # 全て除外しない .git #
.gitを除外 @シンボルファイル検索で余計なものが引っかかるノイズは.rgignoreで調整可能 過去dot付きファイルが検索できない問題の解消に使っていたが現在は、余計なフォルダを検索対象 から除外させる設定。プロジェクトごとに設定が良い。
.mcp.json 17 ⽤意する場合、こちらもテンプレートだ け⽤意するのが良い ‧ローカル環境の作り⽅の差異の吸収が 出来ない ‧クレデンシャルを利⽤する場合がある ⾃分はグローバルにGitHubやAWS KnowledgeのMCPサーバーを⼊れてい る。
. ├── $CLAUDE_CONFIG_DIR/ │ ├── .claude.json │ └── settings.json │ └── <repository_root>/ └── .mcp.json リポジトリルートのmcp.jsonと併用する場合 enableAllProjectMcpServers=trueが必要?
Claude Hooksのチーム活⽤模索 18 リポジトリルートのmcp.jsonと併用する場合 enableAllProjectMcpServers=trueが必要? 実装、修正 静的解析 ① Stopフック ②
解析結果を フィードバック
HooksのStopイベントで静的解析結果をフィードバック 19 ‧decision=block, reasonフィールド使う or ‧exit 2, stderrに書き込んで返却 exit 1
stderr stdout exit 1 stdout clippy exit 101 stderr cspell ruff
exit 1以上の結果をexit 2 stderrに書き込み直すラッパーCLIを書く 20 2 0 cspell ruff exit
1 stderr stdout exit 1 stdout clippy exit 101 stderr $ blocc -s "cspell lint ." { "message": "1 command(s) failed", "results": [ { "command": "cspell lint .", "exitCode": 1, "stderr": "CSpell: …", "stdout": "… Unknown word (oicd)" } ] } ※ brew install shuntaka9576/tap/blocc
21 ① Claude Codeが実装 完了する
22 ② Stop Hook発⽕ 循環複雑度エラーを認識 (gocyclo)
23 ③ ⾃動リファクタへ誘導
良さそうに⾒えるが... ‧静的解析ツールの出⼒が⼤きくてcontext lowになったり。stdio, stderrに本当に必要なものだけ出してくれれば良いが。。 ‧worktreeを使わず、コンフリクトしないようにClaude Codeを2 セッション⽴ち上げた場合、別セッションのエラーをフィードバック してしまうことがある ⾃分の開発スタイルとの結合度が⾼く、汎⽤化が難しい 😓
Claude CodeとSerena MCPの活⽤ 25 コードベースを直接操作できるセマンティックなコード解析・ 編集ツールを提供するMCPサーバー > IDE's capabilities LSPを使った検索で部分一致の検索より効率のよいコード
解析が可能 https://github.com/oraios/serena https://x.com/_mohansolo/status/1899630200780153274 ※ 全く別の文脈ですが、windsurf 元CEOもコード検索周りの話をして いたので参考まで...
LSPを使ったシンボル検索によりコンテキストを削減 26 =/ LSP検出 export class Calc { sum(a: number,
b: number) { return a + b; } } =/ コメントのCalc =/ Calc comment =/ 文字列のCalc const msg = "Calc"; === ripgrep === src/test-data/simple.ts:2 - export class Calc { src/test-data/simple.ts:8 - =/ コメントのCalc src/test-data/simple.ts:9 - =/ Calc comment src/test-data/simple.ts:11 - =/ 文字列のCalc src/test-data/simple.ts:12 - const msg = "Calc"; === LSP === src/test-data/simple.ts:2 - Calc (Class) https://github.com/shuntaka9576/rg-lsp-search-compare rgとLSP(workspace/symbol)の検索結果 上記の⽐較スクリプト:
Claude CodeのMCPコンテキスト管理 27 v1.0.86から/contextでコンテ キスト内訳が確認できるように 🥳 よくコンテキストオーバーに なる場合使うMCPを⾒なすと 少し改善する。著名なCLIは LLMが知識を持っているので
代⽤可能(例: ghコマンド)
今後試したい、取り組みたいこと
Clade Codeと⾃作リモートMCP 29 MCPはClaude Codeと対応している部分がある ‧Resources → Claude Codeの@シンボル検索 ‧Tools → ⼀般的に指す会話中で⾃律的に呼び出されるツール ‧Prompts → Slash コマンド
Clade Codeと⾃作MCP 30 今後マルチレポになったり、チームや、組織でノウハウを貯めるにはリモー トMCPで配信がおもしろそうと考える。呼び出し状況で⼈気も分かる。 ‧リポジトリ ‧チーム ‧組織
MCP(Resources)とClaude Codeの@シンボル検索 31 Resourcesは@シンボル検索の対象に。コンテキストに含めたいがローカルに落 とせない、リモート取得したい場合検討しても良いかも。(v1.0.27: 1⽉くらい)
MCP(Prompts)とClaude CodeのSlash Command 32 MCPのPromptsはClaude CodeではSlash Commandsに なる https://dev.classmethod.jp/articles/shuntaka-claude-code-slash-commands-mcp-publish/ →
ユーザー側で更新のコス トがなくなる 前述のresources含めて、 /mcp のcapabilitiesの対応 状況確認の確認が可能 /(MCPサーバー名):(プロンプト名)
リモートMCPの課題 33 ‧認証、認可 → IDaaSがDCR未対応な場合、APIキー認証になる。まだ枯れていない部分があ る。まずは汎⽤かつ公開可能なものに絞る ‧特定のToolsやPromptsの絞り込み機能がClaude Codeにない → 設定ファイルで対応
‧呼び出しのセキュリティ的な問題 → Toolsはやめておく(引数にセンシティブデータなど)。PromptsやResources は、get/readなのでサーバーに情報が送信されることはない。
レビュー負荷を下げる⽅向への活⽤ 34 作る⼒が上がった結果、レビュー量も多くなっ てくる。なるべくケアレスミスを減らすためにAI レビュー → AI修正のサイクルの導⼊は気になっ ている 👀 経験が浅めのメンバーは、⼀度レビューを受け
た内容をCLAUDE.mdやSlashコマンドに盛り込 んで抜け漏れ防⽌、効率化の試⾏錯誤している という話も⭐ https://x.com/jarredsumner/status/1962264204083433675
まとめ
まとめ 36 ‧Slash commands共有や設定ファイルのテンプレート化 ‧個⼈の開発スタイルとの衝突を避け、各⾃が使いたい機能を選択できる柔軟な 運⽤している段階... ‧リモートMCPでのノウハウ共有、AIレビューによる負荷軽減を検討