agentsclimarketplace

Wiremark

Skill Blackburn-Labs/wiremark/site/static/skills/wiremark

Read and write wiremark, the text-based wireframe DSL rendered from fenced wireframe code blocks and .wiremark files. Use when creating, editing, or interpreting wireframes, screen sketches, screen flows, or low-fidelity UI mockups in markdown documents.From its SKILL.md

Install
npx -y skills add Blackburn-Labs/wiremark --skill wiremark

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

wiremark

wiremark is a plain-text wireframe format: an indented outline of component names that renders to a hand-drawn SVG sketch. Source lives in a fenced code block tagged wireframe (or a standalone .wiremark file).

Wireframe #login mobile
  Stack column gap=2
    Typography h4 "Sign in"
    TextField "Email" type=email
    TextField "Password" type=password
    Button "Sign in" contained to=#dashboard

Before using a component not shown above, check reference.md in this skill folder -- it lists every component with its props, enum values, and defaults. Do not invent components.

Rules

  • Every line is Component [keyless-value | key=value]*. Components are PascalCase names (Stack, Card, TextField, AppBar, ...). Many feel familiar from UI libraries, but the vocabulary is wiremark's own -- never guess a name; check reference.md.
  • Indentation is containment: a line indented under another is its child. Two spaces per level, never tabs. Only components marked [c] in reference.md take children -- children under a leaf are dropped silently.
  • Quoted = drawn text, and quoting it is mandatory (TextField "Email", never TextField Email). Bare = setting: enum value (outlined), boolean flag (checked), sizing token, number, or icon name. Never quote a setting: variant="outlined" and gap="2" are hard errors. No bare text lines -- wrap text in its owner (Typography "...").
  • Keyless values resolve by type/value alone, in any order: TextField "Email" outlined == TextField label="Email" variant=outlined.
  • Sizing is width height, in that order, bare tokens only (no width= key), on components marked [w h]: 240px (pixels), 30%, * (fill), bare number (flex weight). Box 240px * is a fixed-width, full-height rail. Omit for natural content size.
  • Defaults do the work: bare Img draws a placeholder image, bare Button reads "Button". For placeholder text give a filler amount token on a component marked [~]: ~3 (sentences/lines), ~5w (words), ~2l (lines), or _/__/___. Filler style: filler=squiggle|lorem|blocks on the Wireframe root.
  • Comments are // to end of line.
  • Frames: Wireframe #id mobile|landscape|portrait (or both w= and h=), one or more per document. visible=false hides a shared-shell frame; background=#shell composes it underneath another frame; Anchor #region
    • anchor=#region places foreground content inside the shell (drop the preset when using anchor=); direction=TD|LR orients multi-frame flow.
  • Every element accepts to=#frame-id, making it a link; the navigation graph is inferred from those links (frames only, no deep links). Multiple visible frames render as a flow chart automatically.
  • Icon props take Material icon names, forgivingly spelled (Icon Search, Button "Save" startIcon=Check); unknown names degrade to a placeholder.
  • Hard errors (must fix): tabs, unquoted text, quoted enum/number, unknown component/prop, bad enum value. Soft warnings (still renders): missing background/anchor target, unknown icon. Silent (check yourself): a to= link to a nonexistent frame, children nested under a leaf component.
  • Out of scope: styling (style=/sx=/colors), breakpoints, x/y coordinates.

Gotchas

Button variants are text|outlined|contained (use contained for a primary action, never primary); Typography body variants are body1/body2 (not body); checkboxes/switches are Control checkbox / Control switch (+ checked); companion components you may know from UI libraries do not exist (no DialogTitle/DialogContent, IconButton, Menu, Container, Paper, ListItemText -- nest content directly, use a bare Icon, quote the ListItem label).

Checking your work

After writing or editing a wireframe, validate it: save the source as x.wiremark and run npx @wiremark/cli x.wiremark -o x.svg (Node 18+). Hard errors exit non-zero with a line number; warnings print to stderr while the SVG is still written. Dead to= links and children under leaf components are silent -- re-read those yourself.

Further reading: https://docs.wiremark.dev (human docs), https://docs.wiremark.dev/reference/icons (icon gallery).

What ships with it: 1 file

6.7 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,852. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.