kubell Creator's Note

株式会社kubellのエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

業務中に見つけたセキュリティリスクを OSS に還元した話

はじめに

こんにちは、kubell でバックエンドエンジニアをしている tomoikey です。

突然ですが、GraphQL サーバーを触っていてこんなエラーメッセージを見たことはありませんか?

{
  "errors": [
    {
      "message": "Cannot query field \"usre\" on type \"Query\". Did you mean \"user\"?"
    }
  ]
}

開発中は「おっ、タイポ教えてくれるじゃん!便利!」となるこの機能。でも、これがプロダクション環境で動いているとセキュリティ上かなりマズいことになります。

今回は、この問題に気づいてから Go の GraphQL パーサーライブラリ gqlparsergqlgen にコントリビュートするまでの話をしていきます。

続きを読む

チームの開発を「航海日誌」で残す:Claude Codeセッションの自動記録と週次レポート通知

こんにちは。認証チームのいまひろです。

直近の記事では、Claude Codeをチームでより効果的に活用するための2つの取り組みを紹介しました。

前者は、開発で得た知見をチームの資産として蓄積・再利用する知識の永続化。後者は、チームの開発規約やプロセスをプラグインとして定義し、誰が作業しても同じ品質が再現される開発プラクティスのコード化。どちらも、Claude Codeが実装の中心を担う開発をより速く・より質高く回すための仕組みです。

今回は少し異なる角度からの取り組みを紹介します。「Claude Codeが何をしたかを記録し、チームで共有する」という、純粋な開発の加速よりも、開発チームとしての可視性や連続性を支える仕組みです。プラグインのカスタムコマンドとGitHub Actionsを組み合わせることで、各セッションの作業記録を自動蓄積し、週次レポートとしてチームに届ける仕組みを構築しました。

続きを読む

『React Tokyoフェス2026』にスタンダードスポンサーとして参加します!

こんにちは🐧 株式会社kubellでフロントエンド領域のEMをしている末竹です。

kubellはきたる 2026年2月28日 に初開催の『React Tokyoフェス2026』にスタンダードスポンサーとして参加します

2026年2月28日 港区浜松町にて開催決定!

react-tokyo.vercel.app

個人的に月一ほどに開催をしているReact Tokyoに何度か参加させていただいておりましたが、この度ありがたいことに初開催の大型イベントのReact Tokyoフェス2026にスポンサーとして参加させていただくこととなりました!

続きを読む

超人気 GraphQL ライブラリにパフォーマンス改善 PR を送ってマージされた話

はじめに

こんにちは。kubell の tomoikey と申します。そろそろ新卒入社から3年が経ちます。

今回 Go の GraphQL ライブラリとして広く使われている gqlgen (GitHub Star 10.6k) にパフォーマンス改善の PR を送り、無事マージされました🎉

https://github.com/99designs/gqlgen/pull/3874

この記事ではどのような問題を発見してどうやって解決したのかを解説します。

発見した問題

gqlgen には GraphQL クエリで要求されたフィールドを収集する CollectFields という関数があります。

これは「どのフィールドが要求されているか」を計算するために使われる関数です。

問題は配列型のフィールドを JSON にマーシャリングする際に配列の各要素に対して CollectFields毎回呼び出されていたことです。

query {
  users {    # 10,000件のユーザー
    field1
    field2
    # ... 20フィールド
  }
}

このようなクエリの場合、同じ SelectionSet (field1, field2, ...) に対して CollectFields10,000回 呼び出されていました。でも結果は毎回同じです。これは明らかに無駄な計算ですよね。

続きを読む

Claude Codeプラグインで実現する「開発プラクティスのコード化」

こんにちは。認証チームのいまひろです。

これまで認証チームでは、Claude Codeを活用した開発の仕組み化について、複数の記事で紹介してきました。

これらの取り組みを続ける中で、私たちが構築・運用してきたプラグインの本質は何なのかを改めて考えてみました。今回は、その結果として見えてきた「開発プラクティスのコード化(Development Practices as Code)」という概念について紹介したいと思います。

続きを読む

Claude Codeプラグインと知識ベースで実現するチーム標準化と知識の永続化

こんにちは。認証グループ改め認証チームのいまひろです。

これまで認証チームでは、Claude Codeを活用したJiraのチケット駆動開発について、複数の記事で紹介してきました。

今回は、Claude Codeを活用したJiraのチケット駆動開発について、認証チームにおける現在地をまとめてご紹介したいと思います。

続きを読む

分析エージェントの設計:なぜ「職種別」にエージェントを分けるのか?Snowflake Intelligenceでの実践事例

こんにちは。
プロダクトDivでデータアナリスト・アナリティクスエンジニアをしているタダケンです。

前回の記事では、Snowflake Intelligence(以下、SI)における「コンテキスト(Semantic View)の育て方」についてお話ししました。

今回は、そのコンテキストを利用する側である「分析エージェント自体の設計」について、kubellでの実践事例を交えて紹介します。

「全社員向けの万能エージェント」を作るべきか、それとも「特定用途のエージェント」を作るべきか。現在進行系で検証を進めている私たちの解は、「エンドユーザーの職種(ユースケース)ごとにエージェントを立てる」というアプローチです。

続きを読む