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
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-de...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
dachi
July 31, 2026
Programming
440
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi
July 31, 2026
More Decks by dachi
See All by dachi
良い機能を作るためにAIと壁打ちをしたら実装も快適になってしまった話 / ai-ideation-improves-implementation
dachi023
0
57
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
2
880
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
310
チーム開発を円滑に進めるためのOSS / Lightning TechTalks 20231102
dachi023
0
490
なぜその技術を使うのか? / Connehito marche online 20201112
dachi023
0
910
リモートワークの導入から3ヶ月 / Connehito marche online 20200311
dachi023
2
3.2k
急に大量のHTMLが必要になったこと、ありませんか? / BIT VALLEY INSIDE vol8
dachi023
0
8.2k
ママリのweb技術の今と未来 / mamari's front-end present and future
dachi023
2
1.5k
2年運用したサービスのフロントをReactで書き換えたい話
dachi023
5
2.1k
Other Decks in Programming
See All in Programming
数百円から始めるRuby電子工作
tarosay
0
140
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
170
5分で問診!Composer セキュリティ健康診断
codmoninc
0
970
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.6k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
460
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
510
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
470
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
400
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
260
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
410
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
A Modern Web Designer's Workflow
chriscoyier
698
190k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Facilitating Awesome Meetings
lara
57
7.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
WCS-LA-2024
lcolladotor
0
790
VelocityConf: Rendering Performance Case Studies
addyosmani
332
25k
The Language of Interfaces
destraynor
162
27k
We Have a Design System, Now What?
morganepeng
55
8.3k
Transcript
PRESENTATION SLIDES [ ver.01 2026.07 ] 実装をデザインガイドラインに 追従させるための取り組み 2026-07-31 #dip_mosh_design
MOSH develops and operates a platform that supports independent creators in selling their services online. © MOSH, Inc.
dachi 株式会社 MOSH Productivity / Technical Enablement フロントエンド基盤開発 技術負債の解消 開発組織の生産性向上
技術広報 @dachi_023 © MOSH, Inc.
今日話すこと 実装がデザインに追いつかない ズレを解消するためにやったこと © MOSH, Inc.
分じゃ話しきれない! 8 気になった部分あれば懇親会などで詳しい話をさせてください © MOSH, Inc.
実装がデザインに追いつかない © MOSH, Inc.
のデザインシステム MOSH デザインデータ: Figma(トークン、コンポーネント定義) ガイドライン: Notion(用途・使い分け、UXライティング、a11y) 実装: 社内向けUIコンポーネント群 + Storybook上でカタログ化
© MOSH, Inc.
課題 以下の可視化、検査、改善ができていない。 実装とデザインが揃っていない フォント、角丸、などがデザインファイル指定の値と異なる デザインガイドラインに記載されているルールを網羅していない 特にa11yなどは考慮漏れが発生している © MOSH, Inc.
なぜズレるのか? 情報がFigmaやNotionに分散、突き合わせコストが高い もともとがshadcn/uiそのままを利用するところから始まっている 最初からズレている、反映しきれていない デザイン反映が追いついていないことによる負の連鎖 className で拡張して特定のページ内だけデザインを揃える デザインが違うから共通コンポーネントが利用されない(プラットフォームの敗北) などの業を積み重ねていった ©
MOSH, Inc.
1. 実装とデザインの差分を検知 ズレを解消するためにやったこと © MOSH, Inc.
正しい状態を定義する 「デザイン通りに実装できているね!」を判断する実装上のゴールを定義。 スタイル: Figmaで定義されたトークン、コンポーネント定義に準拠 内部実装: ガイドライン同様のインタフェース(Props)、a11y設計 これをAI使ってサクッと検査できるようにしたい。 © MOSH, Inc.
/design-context 1. e.g. /design-context Button から各種情報を取得 対象コンポーネントのStory、FigmaとNotionのURL 3. デザインデータ、ガイドラインをFigma /
Notion MCP経由で取得 一旦は既存資産を活用 4. コードを検査、問題があれば修正を指示 2. Storybook MCP © MOSH, Inc.
実装 の に を記載しmetadataとしてMCP経由で取得可能にする。 コーディングエージェントにURLを取得させFigma / Notion MCP経由で取得。 stories.tsx JSDoc
URL /** * Figma: https://www.figma.com/design/... * Notion: https://app.notion.com/p/... */ const meta: Meta<typeof Button> = { // ... } ※ @storybook/addon-designs だと値が返ってこないのでJSDocに書いた © MOSH, Inc.
実行結果 Figma / Notion / 出力サンプル: コードの突き合わせ結果が出力される。 対象 あるべき値(Figma) 現状(実装)
差分 角丸 rounded-lg rounded-md 適用するクラスが異なる 枠線 #222222 #111827 色が異なる タッチ領域 最低48px 40px 8px不足 ここで検知した差分を実装に反映し、デザインと実装の足並みを揃える。 © MOSH, Inc.
による違反検知の強化 2. Lint ズレを解消するためにやったこと © MOSH, Inc.
でカスタムルールを定義 Biome のプラグイン機構(GritQL)で独自の違反チェッカーを実装。 Biome 例: 標準タグの禁止: <h1> 〜 <h6> ではなく
Heading を使用 className 上書きの禁止: variant などの専用propsを使用 今後違反が増えていくことを防止、修正に係るコストをこれ以上上げないようにする。 © MOSH, Inc.
ルールは少しずつ増やしている 影響範囲が大きい場合は、ルールを追加。 これまでに追加したルールの一部: 時期 追加したルール 2025-12 Text / Heading への
className 上書き禁止 2026-01 カラーパレットに定義のない bg-* / border-* の禁止 2026-03 <p> / <h1> 〜 <h6> への bg-* 指定禁止 © MOSH, Inc.
3. ひとつずつデザインを揃えていく ズレを解消するためにやったこと © MOSH, Inc.
足元を固める 前述したSkillで効率化、カスタムルールで再発防止。 Skill: コンポーネント単位で乖離を洗い出して修正する Lint: 直したパターンを二度と書けないようにする 特に再発防止のための仕組みはこの業を終わらせるためには必須。 © MOSH, Inc.
現在の体制 プロダクト開発の組織と並走しながら2名で分担しながら修正。 Storybookで各コンポーネントに / をつけて完了かどうかを管理 2026-07-31時点: 34ファイル (53%) / 30ファイル
(47%) © MOSH, Inc.
まとめ © MOSH, Inc.
まとめ コーディングエージェントが1つのデータソースから他を辿れるよう設計 どこの何を正とするか、を定義する Figmaのトークン・コンポーネント定義、Notionのガイドラインに合わせて修正 上記を前提とした差分検知の仕組み せっかく直したのに再発した、を無くすためのLintのカスタムルール 最小単位で地道にやる、コンポーネントごと、Propsごと、やりやすいやり方で © MOSH, Inc.
ありがとうございました #dip_mosh_design © MOSH, Inc.