artifact-design
Design fundamentals for project artifacts - palette, typography, layout, both themes, and how to avoid templated AI-looking pages.
Skill by FrauH0lle
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/frauh0lle-artifact-design
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.
About
Use cases: design, frontend, writing
Reviews
Write a reviewNo 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 and code. 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/artifact-design
What's inside
- Skill name
artifact-design- Description
- Design fundamentals for project artifacts - palette, typography, layout, both themes, and how to avoid templated AI-looking pages. Attached automatically by the artifact skills; read it before writing any artifact HTML rather than invoking it on its own.
- License
- GPL-3.0
- Instructions
- 207 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Artifact design
Approach this as the design lead at a small studio known for their
versatility, giving every client a visual identity pitched at the treatment the
task actually calls for. Make deliberate choices about palette, typography, and
layout that are specific to this subject, and avoid templated designs.
## Read the request first
Calibrate the treatment, not whether to design at all.
Many requests call for a utilitarian treatment: a plan, a memo, a status page.
Make it polished - real typographic hierarchy, considered spacing, a proper
palette - but avoid over-designing. Most pages do not need a flashy, gigantic
hero. Keep flourishes tasteful and limited.
Some requests call for an editorial treatment: a pitch, a landing page, a
prototype the user will keep or show to someone.
When unsure: a well-composed page is never the wrong answer; an over-designed
visual identity sometimes is.
A Markdown artifact is the right format when the content is plain prose the
reader only needs to read. Everything below applies the moment you author HTML.
## Fundamentals
**Honor what's already there.** Look for an existing design system first -
`AGENTS.md`, a tokens or theme file, existing component styles in the
repository. When one exists, apply it; everything below fills gaps and never
overrides. Precedence is always the user's own words, then the project's
existing system, then your choices.
**Ground it in the subject.** If the subject isn't already clear, pin it: one
concrete subject, its audience, and the page's single job. The subject's own
world - its materials, instruments, vernacular - is where distinctive choices
come from. Build with real content throughout, never lorem.
**Type is system fonts, chosen deliberately.** The artifact sandbox blocks
every font host, so there is no Google Fonts link and no webfont URL - a remote
face does not fall back gracefully, it silently never loads. Build character
from the stacks that are already on the machine, and treat the choice as a real
one: a transitional serif (`Charter, "Bitstream Charter", "Sitka Text",
Cambria, Georgia, serif`), a geometric humanist sans (`Optima, Candara,
"Noto Sans", source-sans-pro, sans-serif`), a grotesque
(`Inter, Roboto, "Helvetica Neue", Arial, sans-serif`), a mono
(`ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace`), or
the system stack (`system-ui, -apple-system, "Segoe UI", sans-serif`). Pair two
with contrast - a display role and a body role - and always declare the full
fallback chain. Embedding a face as an `@font-face` `data:` URI works but costs
real bytes against the size budget; reserve it for a page where the typeface
genuinely is the design.
Keep running text near 65 characters wide; set a type scale and stay on it;
give headings `text-wrap: balance`, body text room to breathe, and uppercase
labels a touch of letter-spacing.
**Write every line of CSS and JS into the page.** No CDN scripts, no external
stylesheets, no remote images, no runtime `fetch`. The sandbox's
Content-Security-Policy blocks all of it, so an external reference does not
degrade - it breaks, silently and completely. When a page genuinely needs
behavior, hand-write it; the libraries you would normally reach for are not
available at any URL. This is the single biggest difference from artifacts you
may have built elsewhere, and it means most pages should need no library at
all. Images embed as `data:` URIs, and every embedded byte counts against the
page's size budget.
**Choose neutrals, don't default to them.** A pure mid-grey reads as
unconsidered; a grey with a slight hue bias toward the page's accent reads as
chosen. Pure white and near-black are fine grounds when they suit the subject -
the point is that the neutral was picked, not inherited.
**Design both themes.** The artifact renders in its own sandboxed document
and can observe two theme signals: the OS preference through
`prefers-color-scheme`, and the viewer's explicit choice, which the viewer
forwards as `data-theme="light"` or `"dark"` on the artifact's root element
(absent when the viewer follows the system). Structure the CSS at the token
level so both axes resolve the same way: the bare `:root` block defines the
complete light palette; `@media (prefers-color-scheme: dark) {
:root:where(:not([data-theme="light"])) { ... } }` redefines only those tokens
for a dark OS unless the viewer pinned light; `:root[data-theme="dark"]`
repeats the same dark values so the toggle wins on a light OS; and
`:root[data-theme="light"] { color-scheme: light; }` pins the UA chrome. The
`:where()` wrapper keeps the media block at `:root` specificity, so the
attribute scopes beat it in either direction. Style every component through
the tokens, never with a color declared directly inside a theme block - a
color whose only definition sits there never applies in the other theme, and
the page renders one theme's text on the other theme's ground. Scan the
finished stylesheet for that before publishing; it is the classic
unreadable-artifact bug.
The bundled templates share one token vocabulary - `--bg`, `--card`, `--ink`,
`--ink-soft`, `--rule`, `--rule-strong`, `--accent`, `--accent-soft` - and one
default palette of warm neutrals with a blue accent. Keep the names when you
restyle so diagrams and components from one artifact read correctly in
another; derive `--accent-soft` from `--accent` with `color-mix()` so tuning
the accent alone keeps the tint in step.
Categorical data needs its own palette: use distinct hues for unrelated series
or categories, not several tints of the page accent. These data colors are
separate from decorative accents and semantic good/bad colors. Define them as
tokens in light, both dark scopes, and print; use the same colors in marks and
their legend. Prefer solid fills. Use labels, position, and line styles to add
identification beyond color; reserve hatching for a specific encoding that
needs it, rather than applying it to every bar or slice.
Two rules keep each theme resolving as a set. `body` must set an explicit
`background` from a token: the page is composited inside a frame whose own
ground you do not control, and a transparent body borrows it. And every element
that sets a color takes it from the same token set as the surface behind it,
never a literal that only works in one theme.
Give the second theme the same care as the first - don't naively invert; keep
contrast legible and the accent working on both grounds. A design that
deliberately commits to one visual world (a neon arcade screen, a letterpress
invitation) may stay single-theme - then skip the media query entirely, but
still paint the background and every color explicitly. Make it a choice, not an
omission.From FrauH0lle/mevedel, GPL-3.0.
More from FrauH0lle/mevedel
- 0.640score
review-improve
FrauH0lle
Run a bounded corrective review of cumulative changes since a fixed point using independent Standards/Spec, thermo-nuclear maintainability, ponytail…
SkillAFreshness: A★ 16Claude Code +9 - 0.640score
artifact-doc
FrauH0lle
Create a document artifact - a typeset page for a memo, proposal, plan, spec, or meeting notes; a document people edit together is a shared item.
SkillAFreshness: A★ 16Claude Code +9 - 0.640score
artifact-explainer
FrauH0lle
Create an explainer artifact - a step-by-step walkthrough that teaches how something works, pairing short prose with a diagram at each stage.
SkillAFreshness: A★ 16Claude Code +9 - 0.640score
artifact-dashboard
FrauH0lle
Create a dashboard artifact - KPI tiles, a chart, and a breakdown table for reading quantitative data at a glance.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
frontend
FrauH0lle
Build or change a frontend UI, including choosing controls, arranging layouts, and checking responsive behavior.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
artifact-diagramming
FrauH0lle
How to draw a diagram inside an artifact - when a picture earns its place, and the hand-authored inline SVG mechanics that keep it legible in light and dark.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
shared-whiteboard
FrauH0lle
Create or substantially draw on a shared whiteboard with clear layout, consistent styling and readable flows.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
artifact-data-table
FrauH0lle
Create a data-table artifact - a sortable, filterable table for browsing a dataset (a CSV, a list of records, query results, a catalog) rather than seeing it…
SkillAFreshness: A★ 16Claude Code +9 - 0.636score
green-loop
FrauH0lle
Run a bounded validation loop for current changes: tests, compile/checks, reviewer, verifier, fixes, then repeat until green or capped.
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
clean-work
FrauH0lle
Review shared working files and remove confirmed obsolete material
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
analyze-log
FrauH0lle
Analyze a gptel HTTP log file and trace the multi-agent conversation flow
SkillAFreshness: A★ 16Claude Code +9 - 0.634score
learn
FrauH0lle
Write durable non-obvious session findings to workspace instructions or existing memory
SkillAFreshness: A★ 16Claude Code +9
Signals
- Stars
- 16
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Oct 9, 2026 (20 days ago)
- Last release
- Oct 22, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-3.0
- Repository
- github.com/FrauH0lle/mevedel
- Website
- frauh0lle.github.io/mevedel/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from FrauH0lle
- 0.640score
artifact-doc
FrauH0lle
Create a document artifact - a typeset page for a memo, proposal, plan, spec, or meeting notes; a document people edit together is a shared item.
SkillAFreshness: A★ 16Claude Code +9 - 0.640score
artifact-explainer
FrauH0lle
Create an explainer artifact - a step-by-step walkthrough that teaches how something works, pairing short prose with a diagram at each stage.
SkillAFreshness: A★ 16Claude Code +9 - 0.640score
artifact-dashboard
FrauH0lle
Create a dashboard artifact - KPI tiles, a chart, and a breakdown table for reading quantitative data at a glance.
SkillAFreshness: A★ 16Claude Code +9 - 0.640score
review-improve
FrauH0lle
Run a bounded corrective review of cumulative changes since a fixed point using independent Standards/Spec, thermo-nuclear maintainability, ponytail…
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
artifact-diagramming
FrauH0lle
How to draw a diagram inside an artifact - when a picture earns its place, and the hand-authored inline SVG mechanics that keep it legible in light and dark.
SkillAFreshness: A★ 16Claude Code +9 - 0.637score
shared-whiteboard
FrauH0lle
Create or substantially draw on a shared whiteboard with clear layout, consistent styling and readable flows.
SkillAFreshness: A★ 16Claude Code +9
Cite this page
artifact-design skill. Agent Mart. https://agentmart.dev/skills/frauh0lle-artifact-design (last updated 2026-10-24)