Skills Plugins MCP Prompt Model 博客 我的中心
Lifestyle & Tools #design #mcp #web #mobile

penpot-uiux-design

Comprehensive guide for creating professional UI/UX designs in Penpot using MCP tools. Use this skill when: (1) Creating new UI/UX designs for web, mobile, or desktop applications, (2) Building design systems with components and tokens, (3) Designing dashboards, forms, navigation, or landing pages, (4) Applying accessibility standards and best practices, (5) Following platform guidelines (iOS, Android, Material Design), (6) Reviewing or improving existing Penpot designs for usability. Triggers: "design a UI", "create interface", "build layout", "design dashboard", "create form", "design landing page", "make it accessible", "design system", "component library".

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=github-awesome-copilot-skills-penpot-uiux-design-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name penpot-uiux-design description Comprehensive guide for creating professional UI/UX designs in Penpot using MCP tools. Use this skill when: (1) Creating new UI/UX designs for web, mobile, or desktop applications, (2) Building design systems with components and tokens, (3) Designing dashboards, forms, navigation, or landing pages, (4) Applying accessibility standards and best practices, (5) Following platform guidelines (iOS, Android, Material Design), (6) Reviewing or improving existing Penpot designs for usability. Triggers: "design a UI", "create interface", "build layout", "design dashboard", "create form", "design landing page", "make it accessible", "design system", "component library". Penpot UI/UX Design Guide Create professional, user-centered designs in Penpot using the penpot/penpot-mcp MCP server and proven UI/UX principles. Available MCP Tools Tool Purpose mcp__penpot__execute_code Run JavaScript in Penpot plugin context to create/modify designs mcp__penpot__export_shape Export shapes as PNG/SVG for visual inspection mcp__penpot__import_image Import images (icons, photos, logos) into designs mcp__penpot__penpot_api_info Retrieve Penpot API documentation MCP Server Setup The Penpot MCP tools require the penpot/penpot-mcp server running locally. For detailed installation and troubleshooting, see setup-troubleshooting.md . Before Setup: Check If Already Running Always check if the MCP server is already available before attempting setup: Try calling a tool first : Attempt mcp__penpot__penpot_api_info - if it succeeds, the server is running and connected. No setup needed. If the tool fails , ask the user: "The Penpot MCP server doesn't appear to be connected. Is the server already installed and running? If so, I can help troubleshoot. If not, I can guide you through the setup." Only proceed with setup instructions if the user confirms the server is not installed. Quick Start (Only If Not Installed) # Clone and install git clone https://github.com/penpot/penpot-mcp.git cd penpot-mcp npm install # Build and start servers npm run bootstrap Then in Penpot: Open a design file Go to Plugins → Load plugin from URL Enter: http://localhost:4400/manifest.json Click "Connect to MCP server" in the plugin UI VS Code Configuration Add to settings.json : { "mcp" : { "servers" : { "penpot" : { "url" : "http://localhost:4401/sse" } } } } Troubleshooting (If Server Is Installed But Not Working) Issue Solution Plugin won't connect Check servers are running ( npm run start:all in penpot-mcp dir) Browser blocks localhost Allow local network access prompt, or disable Brave Shield, or try Firefox Tools not appearing in client Restart VS Code/Claude completely after config changes Tool execution fails/times out Ensure Penpot plugin UI is open and shows "Connected" "WebSocket connection failed" Check firewall allows ports 4400, 4401, 4402 Quick Reference Task Reference File MCP server installation & troubleshooting setup-troubleshooting.md Component specs (buttons, forms, nav) component-patterns.md Accessibility (contrast, touch targets) accessibility.md Screen sizes & platform specs platform-guidelines.md Core Design Principles The Golden Rules Clarity over cleverness : Every element must have a purpose Consistency builds trust : Reuse patterns, colors, and components User goals first : Design for tasks, not features Accessibility is not optional : Design for everyone Test with real users : Validate assumptions early Visual Hierarchy (Priority Order) Size : Larger = more important Color/Contrast : High contrast draws attention Position : Top-left (LTR) gets seen first Whitespace : Isolation emphasizes importance Typography weight : Bold stands out Design Workflow Check for design system first : Ask user if they have existing tokens/specs, or discover from current Penpot file Understand the page : Call mcp__penpot__execute_code with penpotUtils.shapeStructure() to see hierarchy Find elements : Use penpotUtils.findShapes() to locate elements by type or name Create/modify : Use penpot.createBoard() , penpot.createRectangle() , penpot.createText() etc. Apply layout : Use addFlexLayout() for responsive containers Validate : Call mcp__penpot__export_shape to visually check your work Design System Handling Before creating designs, determine if the user has an existing design system: Ask the user : "Do you have a design system or brand guidelines to follow?" Discover from Penpot : Check for existing components, colors, and patterns // Discover existing design patterns in current file const allShapes = penpotUtils. findShapes ( () => true , penpot. root ); // Find existing colors in use const colors = new Set (); allShapes. forEach ( s => { if (s. fills ) s. fills . forEach ( f => colors. add (f. fillColor )); }); // Find existing text styles (font sizes, weights) const textStyles = allShapes . filter ( s => s. type === 'text' ) . map ( s => ({ fontSize : s. fontSize , fontWeight : s. fontWeight })); // Find existing components const components = penpot. library . local . components ; return { colors : [...colors], textStyles, componentCount : components. length }; If user HAS a design system: Use their specified colors, spacing, typography Match their existing component patterns Follow their naming conventions If user has NO design system: Use the default tokens below as a starting point Offer to help establish consistent patterns Reference specs in component-patterns.md Key Penpot API Gotchas width / height are READ-ONLY → use shape.resize(w, h) parentX / parentY are READ-ONLY → use penpotUtils.setParentXY(shape, x, y) Use insertChild(index, shape) for z-ordering (not appendChild ) Flex children array order is REVERSED for dir="column" or dir="row" After text.resize() , reset growType to "auto-width" or "auto-height" Positioning New Boards Always check existing boards before creating new ones to avoid overlap: // Find all existing boards and calculate next position const boards = penpotUtils. findShapes ( s => s. type === 'board' , penpot. root ); let nextX = 0 ; const gap = 100 ; // Space between boards if (boards. length > 0 ) { // Find rightmost board edge boards. forEach ( b => { const rightEdge = b. x + b. width ; if (rightEdge + gap > nextX) { nextX = rightEdge + gap; } }); } // Create new board at calculated position const newBoard = penpot. createBoard (); newBoard. x = nextX; newBoard. y = 0 ; newBoard. resize ( 375 , 812 ); Board spacing guidelines: Use 100px gap between related screens (same flow) Use 200px+ gap between different sections/flows Align boards vertically (same y) for visual organization Group related screens horizontally in user flow order Default Design Tokens Use these defaults only when user has no design system. Always prefer user's tokens if available. Spacing Scale (8px base) Token Value Usage spacing-xs 4px Tight inline elements spacing-sm 8px Related elements spacing-md 16px Default padding spacing-lg 24px Section spacing spacing-xl 32px Major sections spacing-2xl 48px Page-level spacing Typography Scale Level Size Weight Usage Display 48-64px Bold Hero headlines H1 32-40px Bold Page titles H2 24-28px Semibold Section headers H3 20-22px Semibold Subsections Body 16px Regular Main content Small 14px Regular Secondary text Caption 12px Regular Labels, hints Color Usage Purpose Recommendation Primary Main brand color, CTAs Secondary Supporting actions Success #22C55E range (confirmations) Warning #F59E0B range (caution) Error #EF4444 range (errors) Neutral Gray scale for text/borders Common Layouts Mobile Screen (375×812) ┌─────────────────────────────┐ │ Status Bar (44px) │ ├─────────────────────────────┤ │ Header/Nav (56px) │ ├─────────────────────────────┤ │ │ │ Content Area │ │ (Scrollable) │ │ Padding: 16px horizontal │ │ │ ├─────────────────────────────┤ │ Bottom Nav/CTA (84px) │ └─────────────────────────────┘ Desktop Dashboard (1440×900) ┌──────┬──────────────────────────────────┐ │ │ Header (64px) │ │ Side │──────────────────────────────────│ │ bar │ Page Title + Actions │ │ │──────────────────────────────────│ │ 240 │ Content Grid │ │ px │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │ │Card │ │Card │ │Card │ │Card │ │ │ │ └─────┘ └─────┘ └─────┘ └─────┘ │ │ │ │ └──────┴──────────────────────────────────┘ Component Checklist Buttons Clear, action-oriented label (2-3 words) Minimum touch target: 44×44px Visual states: default, hover, active, disabled, loading Sufficient contrast (3:1 against background) Consistent border radius across app Forms Labels above inputs (not just placeholders) Required field indicators Error messages adjacent to fields Logical tab order Input types match content (email, tel, etc.) Navigation Current location clearly indicated Consistent position across screens Maximum 7±2 top-level items Touch-friendly on mobile (48px targets) Accessibility Quick Checks Color contrast : Text 4.5:1, Large text 3:1 Touch targets : Minimum 44×44px Focus states : Visible keyboard focus indicators Alt text : Meaningful descriptions for images Hierarchy : Proper heading levels (H1→H2→H3) Color independence : Never rely solely on color Design Review Checklist Before finalizing any design: Visual hierarchy is clear Consistent spacing and alignment Typography is readable (16px+ body text) Color contrast meets WCAG AA Interactive elements are obvious Mobile-friendly touch targets Loading/empty/error states considered Consistent with design system Validating Designs Use these validation approaches with mcp__penpot__execute_code : Check Method Elements outside bounds penpotUtils.analyzeDescendants() with isContainedIn() Text too small (<12px) penpotUtils.findShapes() filtering by fontSize Missing contrast Call mcp__penpot__export_shape and visually inspect Hierarchy structure penpotUtils.shapeStructure() to review nesting Export CSS Use penpot.generateStyle(selection, { type: 'css', includeChildren: true }) via mcp__penpot__execute_code to extract CSS from designs. Tips for Great Designs Start with content : Real content reveals layout needs Design mobile-first : Constraints breed creativity Use a grid : 8px base grid keeps things aligned Limit colors : 1 primary + 1 secondary + neutrals Limit fonts : 1-2 typefaces maximum Embrace whitespace : Breathing room improves comprehension Be consistent : Same action = same appearance everywhere Provide feedback : Every action needs a response
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。