stitch-uview-components
Stitch to uni-app + uView 2.0 Components
Constraint: Only use this skill when the user explicitly mentions "Stitch" and converting Stitch screens to uni-app + Vue 2 + uView 2.0 (pages/, components/, .vue, u-* components).
You are a frontend engineer turning Stitch designs into clean, modular uni-app + uView 2 code. Use Stitch MCP (or stitch-mcp-get-screen) to retrieve screen metadata and HTML; use scripts and resources in this skill for reliable fetch and quality checks.
Prerequisites
- Stitch MCP Server (https://stitch.withgoogle.com/docs/mcp/guide/)
- uni-app / HBuilderX or Vue CLI for uni-app (Vue 2)
- Stitch project and screen IDs — two ways: (1) From a Stitch design URL: parse projectId (path) and screenId (
node-idquery). (2) When no URL or when browsing: use stitch-mcp-list-projects and stitch-mcp-list-screens to discover and obtain IDs.
Official Documentation
- uView 2.0 (Vue 2): Official · Guide / Demo · Components · GitHub
- Full links and usage: references/official.md
Retrieval and Networking
- Discover Stitch MCP prefix: Run
list_toolsto find the prefix (e.g.mcp_stitch__stitch:). - Fetch screen metadata: Call
[prefix]:get_screenwithprojectIdandscreenId(numeric IDs) to get design JSON,htmlCode.downloadUrl,screenshot.downloadUrl, dimensions, deviceType. - High-reliability HTML download: AI fetch tools can fail on Google Cloud Storage URLs. Use Bash to run the skill script:
Ensure the URL is quoted.bash scripts/fetch-stitch.sh "<htmlCode.downloadUrl>" "temp/source.html" - Visual reference: Use
screenshot.downloadUrlto confirm layout and details.
Architectural Rules
- Modular pages/components: Split the design into pages under
pages/and shared components undercomponents/; avoid one giant page. - Logic isolation: Put event handlers and mixins/utils in appropriate modules.
- Data decoupling: Move static text, image URLs, and lists into
data/or page data. - uView 2 only (use framework components when available): Use
u-*components per references/contract.md. Card-like blocks → u-cell-group + u-cell or u-text; hints/tips → u-text; dividers → u-line / u-divider. Do not use view/text + custom class (.card, .card-title, .label-optional, .tips-text, .unit). - Project-specific: Omit third-party license headers from generated pages/components.
Execution Steps
- Environment: Ensure uni-app project has uView 2 installed and configured (main.js, uni.scss).
- Data layer: Create or update data sources (e.g.
data/mockData.js) from the design content. - Page drafting: Use
resources/page-template.vueas base; replace placeholder with real page name and uView 2 tags per contract. - Wiring: Register pages in
pages.json; add tabBar or navigation as needed. - Quality check: Verify against
resources/architecture-checklist.md; run in HBuilderX or CLI to confirm on simulator/device.
Integration with This Repo
- Get screen: Use stitch-mcp-get-screen with projectId and screenId. Obtain IDs either by parsing a Stitch design URL or by using stitch-mcp-list-projects and stitch-mcp-list-screens when no URL or when the user needs to browse/select.
- Design spec: If Stitch was generated with stitch-ui-design-spec-uview constraints, map to uni-app pages and uView 2 components. If converting from Stitch HTML (e.g. get_screen htmlCode), use references/tailwind-to-uview.md for Tailwind utility → rpx/theme, then references/contract.md for component API.
- Design system: If the project has DESIGN.md (from stitch-design-md), align colors and spacing with that system when mapping to uView tokens.
Troubleshooting
- Fetch errors: Quote the URL in the bash command; ensure
scripts/fetch-stitch.shis executable. - Component mapping: Follow references/contract.md for layout (u-row, u-col), forms (u-form, u-input), nav (u-navbar, u-tabs), list (u-swipe-action), feedback (u-toast, u-modal).
Example: Stitch HTML to uView 2 Page
Stitch HTML with Tailwind card and button:
<div class="bg-white rounded-lg shadow p-4"><h2 class="text-lg font-bold">Profile</h2><button class="bg-blue-500 text-white px-4 py-2 rounded">Save</button></div>
Converted uView 2 page:
<template>
<view class="page">
<u-navbar title="Profile" :autoBack="true" />
<u-cell-group>
<u-cell title="Profile" />
</u-cell-group>
<u-button type="primary" text="Save" @click="handleSave" />
</view>
</template>
Key mapping: div.rounded-lg.shadow becomes <u-cell-group>, raw <button> becomes <u-button type="primary">, Tailwind px maps to rpx.
References
- Examples
- Scripts
- Component index (per-component doc links)
- Tailwind → uView 2 — Tailwind utility → rpx/theme when converting Stitch HTML.
- Contract (uView 2 mapping)
- Component API (props/events quick reference)
- Official documentation
- Architecture checklist
- Page template
- Stitch API / MCP
More from partme-ai/full-stack-skills
vite
Guidance for Vite using the official Guide, Config Reference, and Plugins pages. Use when the user needs Vite setup, configuration, or plugin selection details.
68element-plus-vue3
Provides comprehensive guidance for Element Plus Vue 3 component library including installation, components, themes, internationalization, and API reference. Use when the user asks about Element Plus for Vue 3, needs to build Vue 3 applications with Element Plus, or customize component styles.
63vue3
Guidance for Vue 3 using the official guide and API reference. Use when the user needs Vue 3 concepts, patterns, or API details to build components, apps, and tooling.
54electron
Build cross-platform desktop applications with Electron, covering main/renderer process architecture, IPC communication, BrowserWindow management, menus, tray icons, packaging, and security best practices. Use when the user asks about Electron, needs to create desktop applications, implement Electron features, or build cross-platform desktop apps.
51uniapp-project
Provides per-component and per-API examples with cross-platform compatibility details for uni-app, covering built-in components, uni-ui components, and APIs (network, storage, device, UI, navigation, media). Use when the user needs official uni-app components or APIs, wants per-component examples with doc links, or needs platform compatibility checks.
40ascii-cli-logo-banner
Entry point for ASCII CLI banners that routes to the Python built-in font skill or figlet.js/FIGfont skill. Use when the user wants a startup banner, ASCII logo, terminal welcome screen, or CLI branding for a service.
38