paper-design
Skill41 starsChanged 7 months agoMITView on GitHub
Design and prototype in Paper Design (app.paper.design) — read/write designs via MCP, convert to React/Tailwind code, import HTML/CSS, sync design tokens. Also covers Paper Shaders (@paper-design/shaders-react) — 30+ shader React components (mesh gradient, fluted glass, liquid metal, god rays, halftone, grain gradient, pulsing border). Pairs with minoan-frontend-design for creative direction. Triggers on Paper Design, paper.design, design-to-code, artboard, Paper Shaders, Paper MCP, prototype.
- Installs packages
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 2 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Read and write designs in Paper via MCP.
- Very specific: line 21
Use Paper for design-to-code, code-to-design, and rapid prototyping (native DOM).
- Distinctive: line 33
Every Paper interaction follows four phases: Orient, Create, Verify, Export.
- Very specific: line 37
Read document state before making changes.
- Very specific: line 60
Call get_screenshot after every write operation to verify visual results.
- Very specific: line 74
When minoan-frontend-design is active, use it for creative direction (aesthetic, typography, color, spatial composition), then translate …
- Very specific: line 76
When shadcn is active, extract Paper design tokens via get_computed_styles and map them to shadcn's OKLCH CSS variables.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Read and write designs in Paper via MCP. Paper is a DOM-based design tool — designs are HTML/CSS structures that Claude reads and writes natively.
Prerequisites
Paper Desktop must be running before starting Claude Code. The app auto-starts an MCP server at http://127.0.0.1:29979/mcp. Run python3 ~/.claude/skills/paper-design/scripts/health-check.py to verify connection. If the MCP server is not registered, run bash ~/.claude/skills/paper-design/scripts/setup.sh.
Paper vs Pencil
Use Paper for design-to-code, code-to-design, and rapid prototyping (native DOM). Use Pencil for reusable design systems, existing .pen files, and presentations. Full comparison: references/paper-vs-pencil.md
Paper Shaders
Paper also ships a standalone React shader library — @paper-design/shaders-react — used independently of the MCP workflow. Install with npm i @paper-design/shaders-react and import named components like MeshGradient, FlutedGlass, LiquidMetal, HalftoneCMYK, GodRays. 30+ shaders across three categories (Image Filters, Logo Animations, Effects). Zero dependencies beyond React.
Reach for Paper Shaders when the goal is to use a designer-tuned effect as a React component with named props. Reach for threejs-particle-canvas, grainient, or rocaille-shader when the goal is custom particle systems, grainient.supply-style page aesthetics, or pointer-reactive DOM distortion — those skills have different strengths. Shaders authored in Paper-the-tool export as the matching React component via get_jsx; prop names map 1:1 onto the sliders in each shader panel.
Full catalog, per-category tables, and integration notes: references/shaders.md.
Workflow
Every Paper interaction follows four phases: Orient, Create, Verify, Export.
1. Orient
Read document state before making changes. Call get_basic_info for file name, page name, artboard list. Call get_tree_summary with an optional depth limit for structure overview. Call get_selection when the user says "this element" or "the selected thing."
2. Create
Two paths depending on direction:
Design from scratch:
find_placement— find empty canvas space for new artboardcreate_artboard— common sizes: Desktop (1440x900), Tablet (768x1024), Mobile (375x812)start_working_on_nodes— lock the artboard (shows progress indicator to user)write_html— write semantic HTML with inline styles or Tailwind classesfinish_working_on_nodes— release the lock
Modify existing design:
get_node_infoorget_children— understand the target node's structurestart_working_on_nodes— lock before modifyingwrite_html(replace content),update_styles(targeted CSS changes), orset_text_content(text-only)finish_working_on_nodes— release the lock
write_html replaces the entire content of the target node. To update part of a design, target a specific child node, not the artboard root.
3. Verify
Call get_screenshot after every write operation to verify visual results. DOM correctness does not guarantee visual correctness. Scale options: 1x (default) or 2x for detail inspection.
4. Export
Design to code: get_jsx exports a node as React + Tailwind JSX. Post-process if the project uses plain CSS. Combine with get_computed_styles to extract design tokens (colors, spacing, typography). Check get_font_family_info to verify font availability before shipping. In Paper itself, Alt T copies the selection as Tailwind JSX and Alt R copies it as React CSS — useful when the user is driving Paper manually and pasting directly into code without an MCP round trip.
Responsive variants: duplicate_nodes to clone a desktop artboard, then resize and adjust layout for tablet/mobile breakpoints.
Working Indicators
start_working_on_nodes and finish_working_on_nodes are locks, not advisories. Starting prevents the user from editing those nodes simultaneously. Forgetting to call finish_working_on_nodes locks the user out. Always pair them. Call finish even if an error occurs mid-workflow.
Integration
When minoan-frontend-design is active, use it for creative direction (aesthetic, typography, color, spatial composition), then translate that direction into Paper artboards via write_html. The design lives in Paper; the code lives in the project. get_jsx bridges them.
When shadcn is active, extract Paper design tokens via get_computed_styles and map them to shadcn's OKLCH CSS variables. Or reverse: read the project's shadcn theme, apply as Paper styles via update_styles.
References
Consult references/ on demand:
tool-reference.md— All 21 MCP tools with usage patterns and gotchas. Read for any Paper MCP operation.workflow-patterns.md— 7 detailed workflow recipes. Read when starting a multi-step design task.paper-vs-pencil.md— Decision matrix across 10 dimensions. Read when choosing between design tools.shaders.md— Catalog of 30+ Paper Shaders (@paper-design/shaders-react) with categories, common props, and integration notes. Read when installing, selecting, or exporting a shader.
Troubleshooting
When MCP tools return connection errors or hallucinate parameters, the first fix is to restart the Claude Code session — long-running sessions are the most common failure mode, and Paper Desktop itself can stay running. Verify the local MCP endpoint with python3 scripts/health-check.py. Keep Paper Desktop current via About > Check for updates; Mar 10, 2026 was the first shipping build, and prop names on shaders like FlutedGlass have changed between releases.
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- langchain-ai/design-agent★ 535same name
- parkjui92/socsci-paper-kit★ 5same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository99 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- agents-md-managerSkill
- architecture-md-builderSkill
- autoresearchSkill
- claude-agent-sdkSkill
- claude-md-managerSkill
- claude-usageSkill
- dag-typesafeSkill
- fableSkill
- glossarySkill
- openrouter-usageSkill
- react-best-practicesSkill
- skill-optimizerSkill
- stop-slopSkill
- tamarruSkill
- test-harness-auditorSkill
- user-model-builderSkill
- atmosphere-shaderSkill
- component-gallerySkill
- conductor-motionSkill
- design-auditSkill
- design-critiqueSkill
- design-mdSkill
- design-polishSkill
- gemini-claude-resonanceSkill
- gemini-forgeSkill
- gpt-atelierSkill
- grainientSkill
- image-forgeSkill
- image-wellSkill
- meshySkill
- mindnode-uiSkill
- minoan-frontend-designSkill
- nano-banana-proSkill
- overwatch-slidedeckSkill
- particle-swarm-simSkill
- pellicolaSkill
- photo-to-slack-emojiSkill
- pretextSkill
- recordlySkill
- rocaille-shaderSkill
- scroll-cinemaSkill
- shadcnSkill
- shapeSkill
- smolvlmSkill
- speak-responseSkill
- sprite-forgeSkill
- threejs-particle-canvasSkill
- vellum-editorialSkill
- webgpu-threejs-tslSkill
- agent-browserSkill
- beautiful-mermaidSkill
- classical-887Skill
- claude-peersSkill
- cloudflareSkill
- codex-ctoSkill
- codex-orchestratorSkill
- disc-forgeSkill
- figma-mcpSkill
- linkedin-exportSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

