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
dachi
July 31, 2026
Programming
7.8k
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
62
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
2
900
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
320
チーム開発を円滑に進めるためのOSS / Lightning TechTalks 20231102
dachi023
0
500
なぜその技術を使うのか? / Connehito marche online 20201112
dachi023
0
920
リモートワークの導入から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
Introducing Stack Pull Request in GitHub
kkamegawa
0
110
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
250
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
340
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
120
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.8k
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
450
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
440
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
2.1k
Hono + Inertia + React で LP を構築した話
oukayuka
2
170
メールのエイリアス機能を履き違えない
isshinfunada
0
260
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
360
リアルな遅延を測る仕様
kota_yata
1
130
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The Cult of Friendly URLs
andyhume
79
7k
How to Talk to Developers About Accessibility
jct
2
530
Color Theory Basics | Prateek | Gurzu
gurzu
0
440
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Automating Front-end Workflow
addyosmani
1369
210k
A Tale of Four Properties
chriscoyier
163
24k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
Google's AI Overviews - The New Search
badams
0
1.6k
Believing is Seeing
oripsolob
1
200
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Navigating Weather and Climate Data
rabernat
0
490
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.