mockuplm — Claude Code skill: what it does, how to install
Generates standalone HTML and CSS mockups to plan UI screens visually. It helps test interface layouts before writing production code.
npx skills add nimbalyst/nimbalyst --skill mockuplm -a claude-codeWhat mockuplm does
The skill generates .mockup.html files inside nimbalyst-local/mockups/. Every layout is written as a self-contained HTML document with inline CSS inside a <style> block, avoiding external dependencies. When modifying existing screens, the workflow requires creating a replica under nimbalyst-local/existing-screens/ first and editing only the copy in the mockups folder.
Visual verification relies on sub-agent tasks. The agent invokes mcp__nimbalyst__capture_editor_screenshot to inspect the rendered layout, fix broken styles, and verify updates. This screenshot mechanism is also how the agent detects user drawings, arrows, and highlights added directly in the editor.
This skill is strictly limited to visual planning. Do not use it for implementation, because mockups are isolated files that do not belong in production codebases.
What it helps with
- build visual mockups of new screens using clean HTML and CSS
- replicate existing screens to prototype interface changes safely
- interpret hand-drawn user annotations via editor screenshots
- refine layout hierarchy and responsiveness before engineering begins
Example prompts for the agent
- Create a checkout screen mockup in
nimbalyst-local/mockups/checkout-flow.mockup.html. - Take a screenshot of the settings layout and fix the misaligned grid elements.
- Check user annotations on the profile mockup and update the form fields accordingly.
How to install mockuplm
1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill mockuplm -a claude-code2Manually: put the files in place
~/.claude/skills/mockuplm/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/mockuplm/
1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill mockuplm -a codex2Manually: put the files in place
.agents/skills/mockuplm/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill mockuplm -a cursor2Manually: put the files in place
.cursor/skills/mockuplm/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install nimbalyst/nimbalyst mockuplm2Manually: put the files in place
.github/skills/mockuplm/SKILL.md1Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill mockuplm -a gemini-cli2Platform CLI
gemini skills install https://github.com/nimbalyst/nimbalyst --path packages/extensions/mockuplm/claude-plugin/skills/mockuplmManually: put the files in place
.devin/skills/mockuplm/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add nimbalyst/nimbalyst --skill mockuplm -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about mockuplm
How to install mockuplm in Claude Code?
Run npx skills add nimbalyst/nimbalyst --skill mockuplm -a claude-code in your terminal. You can also place the configuration file at ~/.claude/skills/mockuplm/SKILL.md.
What does mockuplm do?
It builds standalone .mockup.html files with inline styles for UI planning. The assistant iterates on layouts by taking screenshots and adjusting HTML elements.
How does the agent inspect user drawings on a mockup?
Drawings and arrows do not exist in the HTML markup. The assistant triggers mcp__nimbalyst__capture_editor_screenshot to capture the annotated screen and read your visual feedback.
Source text
SKILL.md · MIT
---
name: mockuplm
description: Create visual UX mockups using HTML/CSS files (.mockup.html). Use when the user wants to design UI, wireframes, visual layouts, or plan features visually.
---
# MockupLM - Visual Planning
MockupLM is Nimbalyst's visual mockup system for UI/UX design and planning. Create `.mockup.html` files with HTML and inline CSS to share and iterate on designs with users.
## When to Use MockupLM
- Planning new UI features or screens
- Designing layouts and visual hierarchy
- Creating wireframes or prototypes
- Visualizing proposed changes to existing screens
- Any situation where visual communication helps
**Do NOT use for implementation** - MockupLM is for planning only. If you're implementing actual code, don't create mockup files.
## File Format
- **Extension**: `.mockup.html`
- **Location**: `nimbalyst-local/mockups/` for new designs, `nimbalyst-local/existing-screens/` for replicas of existing UI
- **Structure**: Standalone HTML with inline CSS, no external dependencies
```html
<!DOCTYPE html>
<html>
<head>
<style>
/* Inline CSS here */
</style>
</head>
<body>
<!-- Mockup content -->
</body>
</html>
```
## Workflow
1. **Create mockup file** in `nimbalyst-local/mockups/[descriptive-name].mockup.html`
2. **Build the mockup** with HTML and inline CSS
3. **Verify visually** using the Task tool to spawn a sub-agent that will:
- Capture screenshot with `mcp__nimbalyst__capture_editor_screenshot`
- Analyze for layout/visual issues
- Fix with Edit tool if needed
- Re-capture and iterate until correct
## User Annotations
Users can draw directly on mockups in the editor (circles, arrows, highlights). These annotations are NOT in the HTML source.
**To see user annotations**: Use `mcp__nimbalyst__capture_editor_screenshot` to capture a screenshot that includes the annotations.
When the user draws on a mockup:
1. Capture a screenshot to see what they marked
2. Interpret their visual feedback
3. Update the mockup accordingly
## Design Guidelines
- **Realistic appearance**: Mockups should look like finished UI, not sketches
- **Clean HTML/CSS**: Use semantic HTML and minimal, well-organized CSS
- **Stable selectors**: When regenerating a mockup, preserve existing `id` and `class` values on elements that still represent the same UI; rename or remove them only when that element genuinely changes
- **Modern patterns**: Use flexbox, grid, CSS variables
- **Placeholder content**: Use realistic sample data (lorem ipsum, example names, etc.)
- **Responsive design**: Consider mobile breakpoints when appropriate
## For Existing Screens
When modifying existing UI:
1. Check `nimbalyst-local/existing-screens/` for cached replicas
2. If no replica exists, create a pixel-perfect HTML/CSS replica first
3. Copy to `nimbalyst-local/mockups/` and apply modifications there
4. Never modify the original in existing-screens directly
## File Naming
Use kebab-case with `.mockup.html` extension:
- `settings-page.mockup.html`
- `checkout-flow.mockup.html`
- `user-profile-card.mockup.html`
© nimbalyst · MIT · nimbalyst/nimbalyst