pen-design

Design and manipulate Pencil (.pen) files using MCP tools. Use this skill when (1) creating UI screens, dashboards, or layouts in .pen format, (2) reading or modifying existing .pen designs, (3) working with design system components, (4) generating code from .pen files, or (5) understanding PEN file structure, tokens, or schema.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "pen-design" with this command: npx skills add altshiftstudio/skills/altshiftstudio-skills-pen-design

Pencil Design

Create and manipulate .pen design files using Pencil MCP tools.

Workflow

1. Orientation

get_editor_state     → Check active file and selection
get_guidelines       → Load topic-specific rules (landing-page, design-system, table, code, tailwind)
batch_get            → Read file structure or find components

2. Design (if creating from scratch)

get_style_guide_tags → Browse available visual styles
get_style_guide      → Load style guide for inspiration
open_document        → Create new file if needed

3. Build

batch_design         → Insert, update, copy, replace, move, delete nodes (max 25 ops/call)
get_screenshot       → Verify visual output after changes
snapshot_layout      → Debug layout issues or find clipping problems

4. Refine

get_variables        → Read design tokens and themes
set_variables        → Update tokens for consistent styling
replace_all_matching_properties → Bulk property updates

Quick Reference

Element Types

TypePurposeKey Properties
frameContainer/layoutlayout, gap, padding, children, reusable
textTypographycontent, fontFamily, fontSize, fontWeight
rectangleShapewidth, height, fill, cornerRadius
refComponent instanceref (source ID), descendants (overrides)
icon_fontIconiconFontName, iconFontFamily ("lucide")
pathVectorgeometry (SVG path data)

Layout

PropertyValues
layout"none" (absolute), "horizontal", "vertical"
justifyContentstart, center, end, space_between
alignItemsstart, center, end, stretch
width/height360, "fill_container", "fill_container(360)", "fit_content"
padding16, [12, 24], [8, 16, 8, 16]

Tokens

Prefix: $--

CategoryExamples
Colors$--primary, $--foreground, $--background, $--border
Semantic$--color-success, $--color-warning, $--color-error
Typography$--font-primary, $--font-secondary
Radii$--radius-none, $--radius-m, $--radius-pill

Operations (batch_design)

Operations use JavaScript-like syntax. Every Insert/Copy/Replace needs a binding.

OpSyntaxUse
Ibtn=I(parent, {type: "frame", ...})Insert node
UU(path, {content: "New"})Update properties
Ccopy=C(sourceId, parent, {...})Copy node
Rnew=R(path, {type: "text", ...})Replace node
MM(nodeId, newParent, index?)Move node
DD(nodeId)Delete node
GG(nodeId, "stock", "office")Apply image fill

Component Instances

// Insert instance and override text
card=I(container, {type: "ref", ref: "CardComp"})
U(card+"/titleText", {content: "New Title"})

// Replace slot content
newContent=R(card+"/slot", {type: "text", content: "Custom"})

Critical Rules

  1. IDs auto-generate — never set id in node data
  2. Bindings required — every I/C/R must have name=...
  3. Max 25 ops — split larger designs across calls
  4. Copy descendants — use descendants property, not separate U() calls
  5. Verify visually — call get_screenshot after modifications

Reference Files

FileWhen to Read
mcp-operations.mdDetailed operation syntax, examples, and edge cases
patterns.mdElement creation examples, styling patterns, theming
schema.jsonAuthoritative property definitions for validation

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

creativity

No summary provided by upstream source.

Repository SourceNeeds Review
General

obsidian-canvas

No summary provided by upstream source.

Repository SourceNeeds Review
General

design-brief

No summary provided by upstream source.

Repository SourceNeeds Review
General

context-snapshot

No summary provided by upstream source.

Repository SourceNeeds Review