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
Claude Codeチーム活用の現在地 〜小さな実践と今後の展望〜 / Current St...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shuntaka
September 08, 2025
8.3k
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
12k
Claude Code活用時のつらみと隙間を埋めるツール / Tools to bridge the gaps and pains of using Claude Code
shuntaka
0
14k
CloudFront OAC × Lambda Function URLs で作る認証付き簡易サイト / Simple Authenticated Website Built with CloudFront OAC and Lambda Function URLs
shuntaka
0
3.3k
顧客体験を加速させるチャットボットで始めるAIエージェント入門 / Introduction to AI Agents: Starting with Chatbots to Accelerate Customer Experience
shuntaka
1
3.6k
AI SDKで作るチャットボット開発 / Chatbot Development with AI SDK
shuntaka
0
1.7k
Claude Codeをdotfiles管理しよう! / Let's Manage Claude Code with Dotfiles!
shuntaka
8
20k
個人プロジェクトをKiroベースに 乗り換えてみた / I Tried Migrating My Personal Project to Kiro-based
shuntaka
0
2.7k
AI駆動開発がもたらす革新と実践 / Innovation and Practice Brought by AI-Driven Development
shuntaka
2
2.2k
リモートMCP + MCP業務取り組み例 / Remote MCP + MCP Business Initiative Examples
shuntaka
0
2.3k
Featured
See All Featured
Design in an AI World
tapps
1
240
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
850
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Mobile First: as difficult as doing things right
swwweet
225
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Become a Pro
speakerdeck
PRO
31
6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
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レビューによる負荷軽減を検討