{"slug":"lov-mobile-adapt","title":"lov-mobile-adapt","summary":"Adapt an existing web project for mobile devices: fix overflow, add responsive layouts, convert to multi-level page navigation with back support, handle notch/Dynamic Island safe areas, fix 100vh browser chrome issues, and optimize touch targets. Trigger when user says \"mobile ad","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-08T21:20:57.705074Z","repo":{"url":"https://github.com/lovstudio/skills","stars":67,"forks":17,"license":"MIT","updatedAt":"2026-09-14T03:52:41Z"},"bodyHtml":"<h1>移动适配师 · Mobile Fit</h1>\n<p><img src=\"https://img.shields.io/badge/version-0.2.0-CC785C\" alt=\"Version\"></p>\n<p>Scan and fix mobile adaptation issues in web projects: viewport, overflow, safe area, responsive layouts, 100vh pitfalls, touch targets, and multi-level page navigation.</p>\n<p>Independent source repository, also distributed through <a href=\"https://example.com/skills/dev-skills\">skill-publisher dev-skills</a> — by <a href=\"https://example.com\">example.com</a></p>\n<h2>Install</h2>\n<pre><code>npx skills add skill-publisher/mobile-adapt-skill --all -g\n</code></pre>\n<p>The aggregate bundle remains available:</p>\n<pre><code>npx skills add skill-publisher/dev-skills --all -g\n</code></pre>\n<p>Or through Claude Code plugin marketplace:</p>\n<pre><code>/plugin marketplace add skill-publisher/dev-skills\n/plugin install dev-tools@lov-dev\n</code></pre>\n<p>Requires: Python 3.8+ (no external dependencies)</p>\n<h2>What It Does</h2>\n<ol>\n<li><strong>Scans</strong> your project for mobile issues (overflow, viewport, safe area, touch targets)</li>\n<li><strong>Asks</strong> which categories to fix</li>\n<li><strong>Applies</strong> fixes following modern best practices (dvh, env(), container queries)</li>\n<li><strong>Restructures</strong> navigation into mobile page stack with back support (optional)</li>\n<li><strong>Verifies</strong> fixes by re-scanning</li>\n</ol>\n<h2>Scanner</h2>\n<pre><code>python3 ~/.claude/skills/lov-mobile-adapt/scripts/scan_mobile_issues.py /path/to/project\n</code></pre>\n<table>\n<thead>\n<tr>\n<th>Option</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>project</code></td>\n<td>(required)</td>\n<td>Path to project root</td>\n</tr>\n<tr>\n<td><code>--format</code></td>\n<td><code>text</code></td>\n<td>Output: <code>text</code> or <code>json</code></td>\n</tr>\n</tbody>\n</table>\n<p>Checks: viewport meta, overflow risks, 100vh usage, safe-area-inset, touch target sizes, responsive breakpoints, Tailwind-specific issues, text overflow.</p>\n<h2>Covered Issues</h2>\n<table>\n<thead>\n<tr>\n<th>Category</th>\n<th>What gets fixed</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Viewport</td>\n<td>Missing/incorrect meta viewport, viewport-fit=cover</td>\n</tr>\n<tr>\n<td>Overflow</td>\n<td>Fixed widths, horizontal scroll, image overflow, text overflow</td>\n</tr>\n<tr>\n<td>Viewport units</td>\n<td>100vh → 100dvh with fallback</td>\n</tr>\n<tr>\n<td>Safe area</td>\n<td>env(safe-area-inset-*) on fixed/sticky elements</td>\n</tr>\n<tr>\n<td>Touch targets</td>\n<td>Interactive elements below 44px minimum</td>\n</tr>\n<tr>\n<td>Responsive</td>\n<td>Missing breakpoints, mobile-first media queries</td>\n</tr>\n<tr>\n<td>Navigation</td>\n<td>Sidebar → mobile page stack with back button</td>\n</tr>\n<tr>\n<td>Browser chrome</td>\n<td>theme-color, status bar, input zoom, pull-to-refresh</td>\n</tr>\n</tbody>\n</table>\n<h2>License</h2>\n<p>MIT</p>\n","files":[{"path":"CHANGELOG.md","sizeBytes":300,"isText":true},{"path":".gitignore","sizeBytes":78,"isText":false},{"path":"LICENSE","sizeBytes":1072,"isText":false},{"path":"README.md","sizeBytes":2227,"isText":true},{"path":"references/mobile-patterns.md","sizeBytes":6765,"isText":true},{"path":"scripts/scan_mobile_issues.py","sizeBytes":14447,"isText":true},{"path":"SKILL.md","sizeBytes":6952,"isText":true},{"path":"skill.yaml","sizeBytes":838,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"notes-only","suspicious":0,"notes":2,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-08T21:21:26.619756Z","sha256":"BB5AA48150F594BFBFB3C600F596B0FA8AA8DE99BA20271C20089B40C941D58F","sizeBytes":13824},"review":null,"source":{"repositoryUrl":"https://github.com/lovstudio/skills","path":"skills/mobile-adapt","license":"MIT","commit":"703b37345d95ba06dd109763c7854c9f3b221db4","subtreeSha":"718AE36EF73108966666F33C927409DE20D1899205B5C75802CC8F3597DF0FF7","lastSyncedAt":"2026-09-18T13:47:20.398869Z"},"reviewedAt":"2026-09-08T21:21:43.254113Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/lovstudio/skills/tree/main/skills/mobile-adapt"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install lovstudio-skills@llmmart"},{"target":"git","command":"git clone https://github.com/lovstudio/skills.git"}]}