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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
dachi
July 31, 2026
Programming
520
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
59
社内オペレーション改善のための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
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
550
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
240
Building a Meta Ray-Ban display app
akkeylab
0
160
React本体のコードリーディング
high_g_engineer
1
140
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
270
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
670
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
800
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
560
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
190
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
240
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
460
Side Projects
sachag
455
43k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
350
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
How to build a perfect <img>
jonoalderson
1
5.9k
How STYLIGHT went responsive
nonsquared
100
6.2k
Un-Boring Meetings
codingconduct
0
390
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The untapped power of vector embeddings
frankvandijk
2
1.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
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.