stitch-ui-design-spec-element-plus
npx machina-cli add skill partme-ai/stitch-skills/stitch-ui-design-spec-element-plus --openclawElement Plus Design Spec (Element Plus / Vue 3)
Constraint: Only use this skill when the user explicitly mentions "Stitch".
Purpose
This skill makes the Element Plus 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:
element,element-plus,el-plus,element-ui
Chinese trigger keywords (only for triggering):
element 风格饿了么组件库后台管理系统(if context implies Element Plus)
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: Element Plus (Vue 3).
- Design Tokens:
- Colors: Primary=#409EFF (Blue), Success=#67C23A, Warning=#E6A23C, Danger=#F56C6C, Info=#909399.
- Typography: Font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif.
- Radius: Small=2px, Base=4px, Round=20px.
- Component Contracts:
- Layout: Use <el-row :gutter="20"> and <el-col :span="...">. Container: <el-container>, <el-header>, <el-main>.
- Buttons: Use <el-button type="primary" plain/round>.
- Forms: Use <el-form>, <el-form-item>, <el-input>, <el-select>, <el-switch>, <el-checkbox>.
- Data: <el-table>, <el-descriptions>, <el-timeline>, <el-carousel>, <el-empty>.
- Cards: Use <el-card shadow="hover"> with #header slot.
- Icons: Use <el-icon><Edit /></el-icon> (from @element-plus/icons-vue).
- Navigation: <el-menu>, <el-breadcrumb>, <el-tabs>, <el-steps>.
- Feedback: Use ElMessage.success() for JS feedback, <el-alert>, <el-dialog>, <el-drawer>.
- Layout Invariants:
- Always use 24-column grid system.
- Use el-space for inline spacing.
Selector mode
Return exactly two code blocks, in this order, with no extra prose:
- Contract selection JSON:
{
"version": "CONTRACT_SELECTION_JSON_V1",
"designSystem": "element-plus",
"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., "Admin Dashboard Layout with Sidebar")
[Components]
(Inject component snippets matching the JSON selection above)
References
Source
git clone https://github.com/partme-ai/stitch-skills/blob/main/skills/stitch-ui-design-spec-element-plus/SKILL.mdView on GitHub Overview
Creates Element Plus design specs for Stitch workflows. Depending on user intent, it outputs either a hard-constraints prefix or a CONTRACT_SELECTION_JSON_V1 plus an assembled Stitch prompt. This helps ensure consistent UI contracts and component usage in Stitch-driven dashboards.
How This Skill Works
Decides mode by user intent: prefix mode for paste-ready constraints, selector mode for JSON contracts and final prompt. In prefix mode, it returns exactly one code block with the hard constraints prefix; in selector mode, it returns two code blocks: the contract selection JSON and the final Stitch prompt with injected component/state snippets.
When to Use It
- You need a paste-ready hard constraints prefix for Stitch when working with Element Plus.
- You want a CONTRACT_SELECTION_JSON_V1 and a compiled Stitch prompt for refining an existing screen.
- You are designing a layout that employs Element Plus components (el-row, el-col, el-card, el-form, etc.) and need explicit contracts.
- You are documenting a Vue 3 project using Element Plus tokens (colors, typography, radii) for Stitch.
- You want to trigger Stitch design spec automation by mentioning Stitch and element-plus keywords in a brief.
Quick Start
- Step 1: Mention Stitch and Element Plus in your request.
- Step 2: Decide the mode: Prefix for hard constraints or Selector for JSON + prompt; provide context.
- Step 3: Paste the resulting blocks into the Stitch workflow.
Best Practices
- Mention Stitch explicitly and use Element Plus trigger keywords to activate correctly.
- Choose Prefix mode for hard constraints; choose Selector mode for contract JSON and prompts.
- Align components with Element Plus syntax (e.g., <el-form>, <el-table>, <el-card>).
- Include layout invariants like the 24-column grid and el-space usage.
- Double-check the CONTRACT_SELECTION_JSON_V1 structure and ensure include/state lists are ready for integration.
Example Use Cases
- Admin dashboard wireframe using el-row, el-col, and el-card; selector mode to assemble required JSON and prompt.
- New login screen: prefix mode to produce a hard constraints prefix.
- Polished profile/settings screen: selector mode to generate contract JSON and final prompt.
- Form-heavy UI with el-form, el-input, el-select; specify relevant contracts.
- Navigation-rich layout with el-menu and el-breadcrumb; use prefix mode for constraints.