MCPInstall

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".

Installs
12.8K
Last 24h
—
Trending rank
—
Security
Warn

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/github/awesome-copilot --skill penpot-uiux-design
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads penpot-uiux-design automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

Security audits

Independent scans of the skill's instructions and bundled files.

Gen Agent Trust Hub PassSAFE ·The skill provides a comprehensive guide for using Penpot for UI/UX design via an official MCP server. It includes installation instructions for the server, UI/UX design principles, and detailed reference documents for accessibility standards and component patterns. All external resources and tools identified are standard for the tool's functionality and originate from well-known sources.
Socket PassNo alerts
Snyk PassLOW ·Risk: LOW · No issues
Runlayer WarnMEDIUM ·5/5 files flagged
ZeroLeaks PassNONE ·Score: 93/100 · 2 sections analyzed

SKILL.md

The instructions your agent reads when the skill is triggered.

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

ToolPurpose
mcp__penpot__execute_codeRun JavaScript in Penpot plugin context to create/modify designs
mcp__penpot__export_shapeExport shapes as PNG/SVG for visual inspection
mcp__penpot__import_imageImport images (icons, photos, logos) into designs
mcp__penpot__penpot_api_infoRetrieve 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:

  1. Try calling a tool first: Attempt mcp__penpot__penpot_api_info - if it succeeds, the server is running and connected. No setup needed.

  2. 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."

  3. 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:

  1. Open a design file
  2. Go to Plugins → Load plugin from URL
  3. Enter: http://localhost:4400/manifest.json
  4. 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)

IssueSolution
Plugin won't connectCheck servers are running (npm run start:all in penpot-mcp dir)
Browser blocks localhostAllow local network access prompt, or disable Brave Shield, or try Firefox
Tools not appearing in clientRestart VS Code/Claude completely after config changes
Tool execution fails/times outEnsure Penpot plugin UI is open and shows "Connected"
"WebSocket connection failed"Check firewall allows ports 4400, 4401, 4402

Quick Reference

TaskReference File
MCP server installation & troubleshootingsetup-troubleshooting.md
Component specs (buttons, forms, nav)component-patterns.md
Accessibility (contrast, touch targets)accessibility.md
Screen sizes & platform specsplatform-guidelines.md

Core Design Principles

The Golden Rules

  1. Clarity over cleverness: Every element must have a purpose
  2. Consistency builds trust: Reuse patterns, colors, and components
  3. User goals first: Design for tasks, not features
  4. Accessibility is not optional: Design for everyone
  5. Test with real users: Validate assumptions early

Visual Hierarchy (Priority Order)

  1. Size: Larger = more important
  2. Color/Contrast: High contrast draws attention
  3. Position: Top-left (LTR) gets seen first
  4. Whitespace: Isolation emphasizes importance
  5. Typography weight: Bold stands out

Design Workflow

  1. Check for design system first: Ask user if they have existing tokens/specs, or discover from current Penpot file
  2. Understand the page: Call mcp__penpot__execute_code with penpotUtils.shapeStructure() to see hierarchy
  3. Find elements: Use penpotUtils.findShapes() to locate elements by type or name
  4. Create/modify: Use penpot.createBoard(), penpot.createRectangle(), penpot.createText() etc.
  5. Apply layout: Use addFlexLayout() for responsive containers
  6. 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:

  1. Ask the user: "Do you have a design system or brand guidelines to follow?"
  2. 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)

TokenValueUsage
spacing-xs4pxTight inline elements
spacing-sm8pxRelated elements
spacing-md16pxDefault padding
spacing-lg24pxSection spacing
spacing-xl32pxMajor sections
spacing-2xl48pxPage-level spacing

Typography Scale

LevelSizeWeightUsage
Display48-64pxBoldHero headlines
H132-40pxBoldPage titles
H224-28pxSemiboldSection headers
H320-22pxSemiboldSubsections
Body16pxRegularMain content
Small14pxRegularSecondary text
Caption12pxRegularLabels, hints

Color Usage

PurposeRecommendation
PrimaryMain brand color, CTAs
SecondarySupporting actions
Success#22C55E range (confirmations)
Warning#F59E0B range (caution)
Error#EF4444 range (errors)
NeutralGray 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

  1. Color contrast: Text 4.5:1, Large text 3:1
  2. Touch targets: Minimum 44×44px
  3. Focus states: Visible keyboard focus indicators
  4. Alt text: Meaningful descriptions for images
  5. Hierarchy: Proper heading levels (H1→H2→H3)
  6. 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:

CheckMethod
Elements outside boundspenpotUtils.analyzeDescendants() with isContainedIn()
Text too small (<12px)penpotUtils.findShapes() filtering by fontSize
Missing contrastCall mcp__penpot__export_shape and visually inspect
Hierarchy structurepenpotUtils.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

  1. Start with content: Real content reveals layout needs
  2. Design mobile-first: Constraints breed creativity
  3. Use a grid: 8px base grid keeps things aligned
  4. Limit colors: 1 primary + 1 secondary + neutrals
  5. Limit fonts: 1-2 typefaces maximum
  6. Embrace whitespace: Breathing room improves comprehension
  7. Be consistent: Same action = same appearance everywhere
  8. Provide feedback: Every action needs a response

FAQ

What does the penpot-uiux-design skill do?

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".

How do I install penpot-uiux-design?

Run npx skills add https://github.com/github/awesome-copilot --skill penpot-uiux-design in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/penpot-uiux-design/ (personal) or .claude/skills/penpot-uiux-design/ (project).

Which AI agents can use penpot-uiux-design?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is penpot-uiux-design safe to install?

Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk passed; Runlayer flagged items to review; ZeroLeaks passed. As with any skill, read the SKILL.md and bundled scripts before installing.

Who maintains penpot-uiux-design?

It is published by github in github/awesome-copilot, and it is an official skill from the maker of the technology it covers. It has 12,800 recorded installs.

More from github/awesome-copilot

View all →

git-commit

github/awesome-copilot

Use this skill when the user wants to make a Git commit or split changes into more than one commit. Also use it when the user types "/commit" or asks for a conventional commit. The skill examines the diff, stages the related files, writes a Conventional Commits message, and runs git commit. Do not use it when the user wants only a commit message and no commit. Do not use it to push, open a pull request, rebase, or change the commit history.

OfficialCode Quality & Workflow47.4K installs

excalidraw-diagram-generator

github/awesome-copilot

Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.

OfficialDocs & Writing31.9K installs

multi-stage-dockerfile

github/awesome-copilot

Create optimized multi-stage Dockerfiles for any language or framework

Official29.8K installs

documentation-writer

github/awesome-copilot

Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.

OfficialDocs & Writing27.9K installs

prd

github/awesome-copilot

Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.

Official24.1K installs

refactor

github/awesome-copilot

Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.

OfficialCode Quality & Workflow22.4K installs

Popular frontend & design skills

View category →

setup-matt-pocock-skills

mattpocock/skills

Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.

Frontend & Design1.1M installs

frontend-design

anthropics/skills

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

OfficialFrontend & Design1M installs

hyperframes-animation

heygen-com/hyperframes

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.

prototype

mattpocock/skills

Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.

Frontend & Design999.2K installs

hyperframes-core

heygen-com/hyperframes

The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.

Frontend & Design930.5K installs

vercel-react-best-practices

vercel-labs/agent-skills

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

OfficialFrontend & Design843.1K installs