mcpField

pencil-renderer

github.com/phrazzldDesign & UI111 installs
Repository

About pencil-renderer

pencil-renderer is a skill for design orchestrators that deterministically turns aesthetic DNA codes into Pencil .pen frames, returning a frame ID and screenshot. It requires Pencil MCP and does not handle interviews or iteration.

Key features

  1. 01Maps DNA axes to Pencil properties
  2. 02Supports eight component templates
  3. 03Creates frames with batch design operations
  4. 04Captures screenshots for review

Use cases

  1. 01Generate page components from supplied DNA
  2. 02Create Pencil frames through a design orchestrator

MCP support

The skill uses Pencil MCP to check editor state, read style guides, create designs in batches, and capture screenshots. It fails fast when Pencil MCP is unavailable.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/phrazzld/claude-config --skill pencil-renderer

After installing, type/pencil-rendererin Claude Code to confirm it loaded.

Bundled filesreferences/batch-design-patterns.mdreferences/dna-to-pencil.md

Details

From the project README

Pencil Renderer

Translate aesthetic DNA codes into Pencil .pen frames via MCP.

Interface

Input:

  • DNA code: [layout, color, typography, motion, density, background]
  • Component type: hero | card | form | nav | footer | section | button | input
  • Optional: Name, dimensions, parent frame ID

Output:

  • Frame ID in .pen file
  • Screenshot of rendered frame

Workflow

1. Ensure Document Ready
// Check if editor open
mcp__pencil__get_editor_state({ include_schema: false })

// If no editor, open or create
mcp__pencil__open_document({ filePathOrTemplate: "new" })
2. Get Style Foundation
// Get available style guide tags
mcp__pencil__get_style_guide_tags()

// Get style guide matching DNA mood
// Map DNA to relevant tags:
// - dark color → ["dark-mode", "moody"]
// - light color → ["light", "clean"]
// - spacious density → ["airy", "whitespace"]
// etc.
mcp__pencil__get_style_guide({ tags: [mapped_tags] })
3. Translate DNA to Pencil Properties

Reference: references/dna-to-pencil.md

DNA axis → Pencil property mapping is deterministic. Example: centered layout → alignItems: "center", symmetric padding

4. Execute Design Operations

Reference: references/batch-design-patterns.md

mcp__pencil__batch_design({
  filePath: "<path>.pen",
  operations: `
    frame=I(document, {type: "frame", name: "Hero-Brutalist", ...properties})
    heading=I(frame, {type: "text", content: "Headline", ...typography})
    // ... additional operations
  `
})
5. Capture Result
// Screenshot for visual verification
mcp__pencil__get_screenshot({ nodeId: "frameId" })
6. Return
Frame ID: [id]
DNA: [layout, color, typography, motion, density, background]

Plus screenshot image.

Component Templates

TypeStructure
heroContainer + headline + subhead + CTA buttons
cardContainer + image area + content + actions
formContainer + labels + inputs + submit
navContainer + logo + links + actions
footerContainer + columns + links + legal
sectionContainer + heading + content grid
buttonFrame + text + icon slot
inputFrame + label + field + validation

DNA Translation Quick Reference

DNA AxisKey Pencil Properties
Layout: centeredalignItems: "center", equal padding
Layout: asymmetricOffset positions, varied gaps
Layout: bentoGrid with varied spans
Color: darkDark fill, light foreground
Color: gradientfill: {type: "linear", stops: [...]}
Typography: display-heavyLarge heading sizes, high contrast
Typography: minimalRestrained scale, single family
Density: spaciousgap: 24-48, generous padding
Density: compactgap: 8-16, tight padding
Background: solidSingle fill color
Background: texturedG() for patterns/images

Constraints

  • Single concern: Render DNA → frame. No interview, no iteration.
  • Pencil MCP required: Fails fast if unavailable
  • Deterministic mapping: Same DNA always produces same structure
  • Composable: Called by orchestrators, not users directly

References

  • references/dna-to-pencil.md — Complete axis mapping
  • references/batch-design-patterns.md — Common operation sequences
  • aesthetic-system/references/dna-codes.md — DNA axis definitions

Integration

Called by:

  • design-exploration orchestrator (when Pencil backend available)

Composes:

  • aesthetic-system (for DNA interpretation)

Comments

Markdown supported