Full-stack-skills stitch-ui-design-spec-vant
Vant 4 (Vue 3/Mobile) design spec for Stitch screen generation. Use when the user mentions Vant, vant4, or vant-ui in a Stitch design request. Outputs a hard-constraints prefix with Vant tokens (Primary #1989fa, van-button/van-field/van-nav-bar components, mobile-first 375px) or a CONTRACT_SELECTION_JSON_V1 selector.
install
source · Clone the upstream repo
git clone https://github.com/partme-ai/full-stack-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/stitch-skills/stitch-ui-design-spec-vant" ~/.claude/skills/partme-ai-full-stack-skills-stitch-ui-design-spec-vant && rm -rf "$T"
manifest:
skills/stitch-skills/stitch-ui-design-spec-vant/SKILL.mdsource content
Vant Design Spec (Vant 4 / Vue 3)
Constraint: Only use this skill when the user explicitly mentions "Stitch".
Purpose
This skill makes the Vant 4 design spec executable in two modes:
- Prefix mode: output a paste-ready Hard constraints prefix for Stitch
.[Context] - Selector mode: output
and then an assembled Stitch prompt that injects only the required component/state snippets.CONTRACT_SELECTION_JSON_V1
Trigger Keywords
Prefer this skill when the user request includes any of:
,vant
,vant4
,vant-uivant ui
Chinese trigger keywords (only for triggering):
vant 风格vant 组件库
Source of Truth
references/contract.mdreferences/examples.mdreferences/official.md
Output (STRICT)
Decide the mode by the user intent:
- If the user asks for beautify/polish/refine an existing screen, or asks for selector / JSON / contracts.include / states.include → use Selector mode.
- Otherwise → use Prefix mode.
Prefix mode
Return exactly one code block:
[Hard constraints prefix] - Framework: Vant 4 (Vue 3 / Mobile). - Design Tokens: - Colors: Primary=#1989fa (Blue), Success=#07c160, Warning=#ff976a, Danger=#ee0a24. - Background: Page=#f7f8fa, Card=#ffffff. - Typography: Base 14px. - Radius: sm=2px, md=4px, lg=8px. - Component Contracts: - Layout: Use <van-row>, <van-col span="...">. Container: <van-config-provider>. - List/Card: Use <van-cell-group inset> for card style groups. - Buttons: Use <van-button type="primary" round block>. - Forms: Use <van-form>, <van-field>, <van-search>, <van-picker>, <van-date-picker>. - Business: <van-card> (Product), <van-submit-bar>, <van-address-list>, <van-coupon-list>. - Navigation: <van-nav-bar>, <van-tabbar>, <van-sidebar>, <van-tabs>. - Feedback: <van-action-sheet>, <van-swipe-cell>, <van-empty>. - Layout Invariants: - Mobile First (375px base). - Use Flexbox for alignment. - Respect Safe Area.
Selector mode
Return exactly two code blocks, in this order, with no extra prose:
- Contract selection JSON:
{ "version": "CONTRACT_SELECTION_JSON_V1", "designSystem": "vant4", "mode": "selector", "contracts": { "include": [] }, "states": { "include": [] } }
- Final Stitch prompt:
[Context] (Paste Hard Constraints Prefix here) (Add "Layout Invariants" from contract.md if beautifying) [Layout] (Describe the macro layout structure, e.g., "Mobile Column Layout with Navbar") [Components] (Inject component snippets matching the JSON selection above)