pencil-ui-design-spec-generator
Pencil UI Design Spec Generator
Constraint: Only use this skill when the user explicitly mentions "Pencil" or when orchestrating a Pencil design task (e.g. "use Pencil to draw", "initialize design system with Pencil").
Purpose
This skill acts as a planner. It takes a high-level user request (e.g. "create a login form in Pencil", "init layui design system with Pencil") and outputs a PENCIL_PLAN: a strict sequence of steps, each step specifying which Pencil MCP tool to call and with what intent/parameters. The Agent then executes the plan by calling Pencil MCP tools in order; this skill does not call any MCP tool.
Input
- User request: e.g. "Create a login form with Pencil", "Initialize uView Pro design system in Pencil", "Draw a dashboard layout in Pencil".
Output format (STRICT)
Return a PENCIL_PLAN as a numbered list. Each step must specify:
- Tool (MCP tool name, e.g.
mcp__pencil__open_document,mcp__pencil__set_variables,mcp__pencil__batch_design,mcp__pencil__get_screenshot). - Intent: What this step achieves.
- Key parameters: Minimal parameter summary (e.g.
filePathOrTemplate: 'new',variables: { primary: '#1890ff', ... },operations: "root=I(document, ...)").
Example:
PENCIL_PLAN
Step 1: mcp__pencil__open_document
Intent: Create a new design document.
Parameters: filePathOrTemplate: 'new'
Step 2: mcp__pencil__get_editor_state
Intent: Get current document root and reusable components.
Parameters: include_schema: false
Step 3: mcp__pencil__set_variables
Intent: Initialize design system color palette.
Parameters: variables: { primary: '#1890ff', ... }, replace: false
Step 4: mcp__pencil__batch_design
Intent: Create "Components Overview" frame with Basic/Form/Data sections.
Parameters: operations: "root=I(document, { type: 'frame', layout: 'vertical', name: 'Components Overview' }) ..."
Step 5: mcp__pencil__get_screenshot
Intent: Verify the generated layout.
Parameters: nodeId: <root-id from Step 4>
Logic rules
- New document: If the user asks to "create" or "init" and no file is open, start with
open_document('new')and optionallyget_editor_state. - Design system init: If the user asks to "init XXX design system", include
set_variables(from the corresponding pencil-ui-design-system-* skill) andbatch_designfor component overview; optionally callget_guidelines(topic: 'design-system')first. - Single screen / form: Plan
batch_designoperations (insert frames, text, components); keep each call to at most ~25 operations; thenget_screenshotto verify. - No execution: This skill only outputs the PENCIL_PLAN. The Agent (or user) executes by calling the listed MCP tools in order.
Integration with Pencil path
- PRD or user request → this skill outputs PENCIL_PLAN.
- pencil-ui-design-system-* skills provide the concrete variables and component structure for a given design system; the generator may reference them when building the plan.
- Agent calls pencil-mcp-* skills (or MCP tools directly) to execute each step.
Keywords
English: PENCIL_PLAN, Pencil plan, action-level plan, design spec, Pencil steps, MCP tool sequence, plan generator
中文关键词: PENCIL_PLAN、Pencil 计划、动作级计划、设计规范、Pencil 步骤、MCP 工具序列、计划生成
References
- Pencil MCP 工具说明 — 各 MCP 方法参数与用法。
- Pencil MCP — 官方 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