Skip to content
Agentmart
Submit a tool

boxel-ui-guidelines

Use when IMPLEMENTING or REVIEWING UI in Boxel templates (writing a template, or reviewing a change, diff or pull request that touches one) — applying…

Skill by cardstack

IndexedMIT★ 1
Write a review

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/cardstack-boxel-ui-guidelines

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

Use when IMPLEMENTING or REVIEWING UI in Boxel templates (writing a template, or reviewing a change, diff or pull request that touches one) — applying var(--*) theme tokens in <style scoped>, choosing between @fields and @model, using Pret UI components (Button, Chip, Avatar, Select) and the boxel-ui components Pret UI does not have yet (FittedCard, KanbanPlane, FilterList), controlling embedded-card chrome, or fixing layout/overflow issues. This is the template-implementation layer. Visual-language decisions belong to boxel-design; the Theme card artifact itself belongs to boxel-theme-development.

Use cases: design, writing

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

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/boxel-ui-guidelines

What's inside

Skill name
boxel-ui-guidelines
Description
Use when IMPLEMENTING or REVIEWING UI in Boxel templates (writing a template, or reviewing a change, diff or pull request that touches one) — applying var(--*) theme tokens in <style scoped>, choosing between @fields and @model, using Pret UI components (Button, Chip, Avatar, Select) and the boxel-ui components Pret UI does not have yet (FittedCard, KanbanPlane, FilterList), controlling embedded-card chrome, or fixing layout/overflow issues. This is the template-implementation layer. Visual-language decisions belong to boxel-design; the Theme card artifact itself belongs to boxel-theme-development.
License
MIT
Instructions
45 lines in SKILL.md · view on GitHub

Files (15)

  • SKILL.md
  • checklist.md · references/
  • delegated-render-control.md · references/
  • field-rendering-fields-vs-model.md · references/
  • font-loading-theme-card-owns-imports.md · references/
  • prefer-component-apis-write-new-components-when-needed.md · references/
  • prevent-content-overflow.md · references/
  • print-and-published-output.md · references/
  • style-budget.md · references/
  • template-patterns.md · references/
  • theme-token-contract.md · references/
  • ui-review-procedure.md · references/
  • use-boxel-design-tokens-for-theming.md · references/
  • use-boxel-ui-components.md · references/
  • use-container-queries-not-viewport-units.md · references/

SKILL.md (first lines)

# Boxel UI Guidelines

_Ensures Pret UI components (and boxel-ui where Pret UI has no equivalent) are used in templates and theming guidelines are followed_

You are a Boxel UI specialist. Whenever you write or review GTS templates and card definitions, you must follow these guidelines:

## Pair with

- **`boxel`** — for the underlying CardDef/FieldDef and `@fields` vs `@model` rules.
- **`boxel-design`** — for the visual decisions these templates implement.
- **`source-code-editing`** — for the actual template edits.

## Don't use for

- Visual design choices (color, mood, typography) — that's `boxel-design`.
- Field schema decisions (`contains` vs `linksTo`) — that's `boxel`.

---

## Sections (load on demand)

- `references/theme-token-contract.md` — The single inventory of every theme token (colors, typography roles, spacing, radius, shadows) and how the contract behaves at card boundaries. Other skills point here instead of listing tokens.
- `references/use-boxel-design-tokens-for-theming.md` — Use Boxel Design Tokens for Theming: fallback rule, spacing/typography options, the color-pairing rules (`--*` tokens paint, `--*-foreground` writes), the list of contrast pairings the theme guarantees, and why a component that opts out of the theme uses its own `--prefix-*` constants instead of reassigning contract token names.
- `references/font-loading-theme-card-owns-imports.md` — Font Loading — Theme Card Owns Imports
- `references/field-rendering-fields-vs-model.md` — Field Rendering: @fields vs @model
- `references/template-patterns.md` — Template Patterns. Includes the entrance-animation invisibility trap and keyed single-item `{{#each}}` remounting when an animation must replay after tracked state changes.
- `references/print-and-published-output.md` — Multi-page host-mode printing, ancestor unclipping, SVG semantic marks, cross-browser fill rules, and PDF verification.
- `references/use-container-queries-not-viewport-units.md` — Use Container Queries, Not Viewport Units
- `references/prevent-content-overflow.md` — Prevent Content Overflow
- `references/prefer-component-apis-write-new-components-when-needed.md` — Prefer Component APIs; Write New Components When Needed
- `references/use-boxel-ui-components.md` — Use Pret UI components first, with the boxel-ui-to-Pret UI replacement table; boxel-ui only for components Pret UI does not have yet
- `references/style-budget.md` — Style budget — keep `<style>` blocks ≤40% of file, deduplicate across formats
- **`references/delegated-render-control.md`** — How the host wraps `<@fields.X @format='...' />` chrome (CardContainer + field-component classes) and how the parent shapes it via the theme cascade, a `class` on the field, or `@displayContainer={{false}}` — not `:deep()`. **Critical reading when embedding child cards in a parent that has its own design language.** Covers:
  - **Divider strategy is binary** — parent draws lines (AND passes `@displayContainer={{false}}` on the items), OR child halo IS the boundary (no parent borders). Both at once = "drop shadow fighting a thin border."
  - **Picking the format** — fitted vs embedded by who owns the cell size (the most common rendering bug is fitted-with-short-content leaving empty box space).
  - **Plural-field wrapper trap** — the one-tag render inserts `.plural-field` + per-item wrappers between your grid and the cards; loop `{{#each @fields.plural as |Item|}}<Item class='…' />{{/each}}` instead, so the classed cards are the grid's children.
  - **Atom alignment & surfaces** — `class` on the atom field for baseline/padding; `@displayContainer={{false}}` for plain inherited-color text, or a classed chip recolored to match the surface.
  - **Stagger animations** — `:nth-child` on the looped, classed cards sets `--stagger-d`; `animation-delay` reads it.
  - **Embedded MarkdownDef preview** — MarkdownDef uses the shared FileDef shells; tune the renderer with the `--md-preview-background` / `--md-preview-foreground` / `--md-preview-padding` custom properties. A framework-driven embedded render takes no component args, so an inherited custom property is the cross-boundary lever.
  - Embedded grids, isolated previews, corners (the wrapper follows the theme's `--radius`; the interact ring copies the CardContainer's radius, so a one-off change goes on the field's class and nowhere else), and what NOT to override (child container queries, fitted's width/height, wrapper `overflow`).
  - The child-side contract — what every format MUST NOT decorate on its outermost element.
- **`references/ui-review-procedure.md`** — The ordered procedure for reviewing or updating a template's UI: grep the mechanical tells, fix the theme posture, then colors, typography, spacing, geometry, child-card chrome, components, markup, and verify. Run it whole on every UI review; the checklist is its final tick list.
- `references/checklist.md` — Checklist

From cardstack/boxel-skills, MIT.

More from cardstack/boxel-skills

Signals

Stars
1
Forks
0
Open issues
0
Last commit (this folder)
Oct 20, 2026 (8 days ago)
Last release
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026).

Details

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

More from cardstack

Cite this page

boxel-ui-guidelines skill. Agent Mart. https://agentmart.dev/skills/cardstack-boxel-ui-guidelines (last updated 2026-10-24)