Constraint: Only use this skill when the user explicitly mentions "Stitch".
Contract ownership
This skill maintains the component, token, and state contracts of the target framework, and is used to generate constraint inputs before design; it does not generate business page code. Product specifications and the final prompt pattern are uniformly maintained by stitch-design-spec . The prefix/selector assembly prompt below is a framework example and must be compiled by the unified entry point in combination with the current page and the inline/applied-system/targeted-edit modes, and must not directly override the applied system or the scope of local modifications.
Use by name stitch-design-spec; installation instructions:npx skills add full-stack-skills/stitch-skills --skill stitch-design-spec, do not install automatically. Real code conversion uses the corresponding components skill; framework-style mockups cannot replace code verification.
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
CONTRACT_SELECTION_JSON_V1and then an assembled Stitch prompt that injects only the required component/state snippets.
Trigger Keywords
Prefer this skill when the user request includes any of:
vant,vant4,vant-ui,vant 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)
References
When to use
Load this skill when the user needs to select and execute a verifiable, recoverable professional workflow for the current request . First extract the goal, inputs, constraints, delivery format, and acceptance criteria from the request; the description summary is: Vant 4 design spec for Stitch. Outputs hard-constraints prefix or selector JSON and assembled prompt.
Rules
- Read before write: first confirm the current state and actual capabilities, then perform actions that change external state.
- Least privilege: use only the files, tools, accounts, and network scope required to complete the current step.
- Evidence first: when run results, resource IDs, versions, hashes, or test output are missing, explicitly mark them as
NOT_VERIFIED。 - Idempotency first: retain request identifiers and phase state; when results are unclear, query first and do not retry blindly.
- Privacy and security: logs, examples, receipts, and error messages must not contain tokens, cookies, keys, or personally sensitive data.
Workflow
Step 1: Clarify intent
Confirm whether this skill matches the goal; if it is only an adjacent need, hand it off to a more precise skill.
Step 2: Perform pre-check
Confirm the goal, inputs, constraints, available tools, success criteria, and failure boundaries; if any key condition is unknown, stop at the read-only stage.
Step 3: Form a plan
List the tools to be called, the objects that will change, the success criteria, and the safe exit method after failure.
Step 4: Execute actions
Execute in minimal sufficient steps, and record evidence at key state changes; retain an associable state or receipt for each external call.
Step 5: Verify delivery
Output the results, verification evidence, unfinished items, risks, and clear next steps, and state facts, inferences, and unverified items separately.
Validation checklist
- The skill trigger conditions are consistent with the user's intent, and no adjacent task has been misrouted to this skill.
- Inputs, target objects, versions, and output locations are all clear, and no guessed values have been used to replace required values.
- All write, paid, publish, or irreversible actions are within the scope authorized by the user.
- The results have been verified with independent checks; "command succeeded" or "file exists" alone does not count as complete acceptance.
- The output contains actual evidence, failed/skipped items, remaining risks, and executable next steps.
Gotchas
- Mistaking the plan for the result: documentation or prompts are not the same as real execution; the actual execution level must be indicated.
- Retrying on error: a timeout or lost response may already have produced remote state; query first before deciding whether to retry.
- Implicit scope expansion: batch, full-scale, publish, overwrite, and paid operations are not natural extensions of ordinary reads and writes.
- Version drift: When citing external resources, record the version, tag, or commit; do not treat a mutable branch as release evidence.
- Stale evidence: Caches, old screenshots, and historical tests cannot prove the current environment; refresh key evidence before delivery.
Non-applicability and boundaries
Do not exceed the scope given by the user; writes, payments, publishing, and irreversible actions require explicit authorization. If a request requires another skill, do not copy its body text; hand off by skill name and preserve the current task context.
Progressive disclosure
- When inputs/outputs, states, and authorization points need to be determined, read
references/workflow-contract.md。 - When pre-delivery self-checks are needed, read
references/validation-checklist.md。 - When encountering timeouts, partial success, or recovery scenarios, read
references/error-recovery.md。 - For first runs, refusal of privilege escalation, and failure recovery, refer respectively to
examples/happy-path.md、examples/boundary-refusal.md、examples/failure-recovery.md。