Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-de...
Search
dachi
July 31, 2026
Programming
8.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
エンジニアとして地域貢献のために何をすべきか / KomeKaigi 2026
dachi023
0
73
良い機能を作るためにAIと壁打ちをしたら実装も快適になってしまった話 / ai-ideation-improves-implementation
dachi023
0
72
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
2
960
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
340
チーム開発を円滑に進めるためのOSS / Lightning TechTalks 20231102
dachi023
0
510
なぜその技術を使うのか? / Connehito marche online 20201112
dachi023
0
950
リモートワークの導入から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
Other Decks in Programming
See All in Programming
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.7k
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
530
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
250
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
230
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
330
Modernizing iOS Apps
seyfoyun
0
150
Spec-driven Development with AI
simas
PRO
0
2.3k
선언형 햅틱 라이브러리 진동을 소개합니다
l2hyunwoo
1
300
AmebaブログはKMPから卒業します
kmars0605
0
330
小さなアプリを作って公開するまで
onozaty
0
130
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
200
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
610
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
How GitHub (no longer) Works
holman
316
150k
YesSQL, Process and Tooling at Scale
rocio
174
15k
So, you think you're a good person
axbom
PRO
2
2.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
610
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
610
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Ruling the World: When Life Gets Gamed
codingconduct
0
430
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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.