Skip to content
Agentmart
Submit a tool

mockup

Builds one self-contained HTML file that looks like the real product and walks a proposed change through every state, interactively, before the change is built.

Skill by ptrandev

IndexedMIT★ 1
Write a review

Chalk Labs

Need help deploying mockup?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/ptrandev-mockup

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Builds one self-contained HTML file that looks like the real product and walks a proposed change through every state, interactively, before the change is built. Portable: send the file to anyone, no server, no build step. Use for "mock this up", "prototype this", "what will this look like", "show me before and after", or "I want to see it before we build it".

Use cases: frontend, backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/mockup

What's inside

Skill name
mockup
Description
Builds one self-contained HTML file that looks like the real product and walks a proposed change through every state, interactively, before the change is built. Portable: send the file to anyone, no server, no build step. Use for "mock this up", "prototype this", "what will this look like", "show me before and after", or "I want to see it before we build it".
License
MIT
Instructions
208 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (8)

  • SKILL.md
  • atllas-agents-portal.md · references/
  • document.md · references/
  • grounding.md · references/
  • implement.md · references/
  • neema-simple-hyzl.md · references/
  • shell.html · references/
  • sweep.js · references/

SKILL.md (first lines)

# mockup

One HTML file. Product-real tokens. Every state reachable by clicking. Opens from `file://`.

## Input

| Input | Meaning |
|---|---|
| `<TICKET-ID>` | Read the ticket. It is the source and the scope. |
| `<path.md>` | A plan file. Same. |
| free text | The change, described. |
| nothing | The change under discussion in this session. |
| `--variants=N` | Build N design directions instead of one. |
| `--out=<path>` | Where to write. Default: the scratchpad, named `<slug>.html`. |
| `--publish` | Also publish as an Artifact and return the URL. |

## Never

- **Never invent a colour, font size, weight, radius, spacing or shadow.** Every value traces to a
  token you read this run. An invented value is what makes a mockup look nearly right, and nearly
  right is the failure this skill exists to prevent.
- **Never rebuild a screen from memory of the product.** Read the components.
- **Never approximate the app shell.** The nav, the header, the drawer and the content offset are
  part of what the reader is judging, and they change at breakpoints the surface itself does not
  care about. Read the layout component that hosts the page.
- **Never disclose your way out of a gap.** "Not modelled" in the report is a defect you chose to
  ship, not a scope note. If the real behavior is in the codebase, reproduce it.
- **Never leave a button dead.** A control that does nothing teaches the wrong thing.
- **Never use lorem, `Item 1`, `Foo`, or `test@example.com`.** Seed realistic names, ids, amounts
  and dates. Wrapping and truncation are half of what the reader is judging.
- **Never require a server, a build step, or a network request for layout or content.**
- **Never style the walkthrough chrome with product tokens.** The scaffolding must read as
  scaffolding at a glance.
- **Never ship a state the reader cannot reach.** Chip, button, or both.
- **Never add a row to the walkthrough bar.** Two rows is the budget. New controls join the
  existing control row or move inside the frame.

## Design principles

These four decide every layout choice in Phase 3 and Phase 4. When two conflict, the earlier one
wins.

1. **Minimum surface.** Use the fewest words and the fewest elements that complete the user story.
   Cut every element that carries no reader decision. A label that repeats its value, a helper line
   that restates its label, an icon beside an already clear word: delete all three.
2. **One primary action per state.** Give each state exactly one obvious next action, styled the
   way the product styles a primary button. Demote the rest to secondary, to a link, or to one
   level down. **Never give two controls in one state the same visual weight.**
3. **Reuse before invention.** Build the change from components the product already has. A new
   component is a thing somebody must then build, so it needs a reason you state in Phase 6.
4. **Show data, not chrome.** Spend the space on content. Add a border, card, divider, or icon only
   when it carries a distinction the reader must see.

## Phase 1: scope the change

Read the source. Name the one surface the change lands on. Then pick the shape:

| The change | Shape |
|---|---|
| New states on one existing screen | `flow`: one frame, the states as steps |
| A journey across screens | `flow`: one step per screen |
| A restyle of a screen that exists | `before/after` toggle on the frame |
| The direction is not chosen yet | `variants`: N directions, grid then focus |
| One small region of a dense screen | `overlay`: real screenshot, HTML over the changed region |
| No screen at all (schema, pipeline, prompt) | **Stop.** Say there is nothing to show, offer `/diagram`. |

Shapes compose. A `variants` run can hold a `flow` per variant. Decide the shape yourself. Do not
ask the user a question the source already answers.

**Ask for reference images only when the shape is `variants`, or when the user says the current
look is wrong.** Ask them to paste screenshots or Dribbble shots. Read every one before designing.
When a reference is named but missing, stop and say which. Otherwise the product IS the reference.

## Phase 2: ground it in the real product

A cached product skips this phase's reads. **Read the one file this table names, and nothing
else.** Each cache owns its app's tokens, type, component rules, breakpoints and shell facts.

| The surface lives in | Read |
|---|---|
| `codebase/apps/agents-portal` | [references/atllas-agents-portal.md](references/atllas-agents-portal.md) |
| `neema-simple-hyzl/web` | [references/neema-simple-hyzl.md](references/neema-simple-hyzl.md) |
| anything else | [references/grounding.md](references/grounding.md) |

**Read [references/grounding.md](references/grounding.md) before writing any CSS for an uncached
product.** It owns token extraction, component geometry, and when to measure a running app instead
of reading the theme.

## Phase 3: storyboard the states

Write the state list before writing markup. Each state gets an id, a chip label, and one narration
line.

Cover, at minimum:

1. The entry state, as the screen looks today.
2. Every step of the proposed journey.
3. Every terminal outcome, including the unhappy ones: declined, expired, not enough data, ended
   early.
4. **The outcome where the change does not work.** The feature loses, the number comes back worse,
   the answer is no. It is the state most often skipped and the one a stakeholder most needs to
   see, because it is the honesty the rest of the design is asking them to trust.
5. The empty, loading and error state of every new surface, **including a slot embedded inside an
   existing component**. A permanent slot needs its own loading state: a slot that reads "none yet"
   for half a second in front of a user who has one is a lie the surface then has to take back.
6. The path where the user says no. A dismissed thing has to leave a way back.

Mark each state `main: true` when Next/Back must walk it in order. Alternate endings stay off the
main line and are reached by chip or by clicking through.

**The narration line is not a caption.** It says where the reader is, what changed, and what to
click next. Second person. It carries the intent the pixels cannot: write "End test early lives one
level down, deliberately" when that placement is the decision you want judged.

## Phase 4: build the file

**Read [references/document.md](references/document.md) and start from
[references/shell.html](references/shell.html).** Together they own the document contract: the file
layout, the chrome, the state machine, the click wiring, seed data, and deep links. Copy the shell,

From ptrandev/agent-skills, MIT.

More from ptrandev/agent-skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Sep 17, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ptrandev

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get mockup running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying mockup?

CallGet help
Cite this page

mockup skill. Agent Mart. https://agentmart.dev/skills/ptrandev-mockup (last updated 2026-10-24)