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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
dachi
July 31, 2026
Programming
77
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
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
140
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
280
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
580
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
700
Built Our Own Background Agent at LayerX
layerx
PRO
9
4.9k
源内ハンズオン概要編
hideg
0
100
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
590
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.3k
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
140
React本体のコードリーディング
high_g_engineer
1
140
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Faster Mobile Websites
deanohume
310
32k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
190
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
200
Practical Orchestrator
shlominoach
191
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
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.