design
Builds the design system (DESIGN.md with tokens) and a static HTML prototype made from it.
Skill by stage2dev
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/stage2dev-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
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. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/design
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(sh"${CLAUDE_PLUGIN_ROOT}/scripts/py"scripts/guarda.pyinfo)
What's inside
- Skill name
design- Description
- Builds the design system (DESIGN.md with tokens) and a static HTML prototype made from it. Use for "design system", "prototype", "DESIGN.md", "screen", "protótipo", "tela", "sistema de design", "identidade visual".
- License
- MIT
- Allowed tools
- Bash(sh, "${CLAUDE_PLUGIN_ROOT}/scripts/py", scripts/guarda.py, info)
- Instructions
- 62 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves some shell commands
Files (4)
- SKILL.md
- test_tokens_to_css.py · scripts/
- tokens_to_css.py · scripts/
- prototype.html · templates/
SKILL.md (first lines)
# Design system and prototype
Context: !`sh "${CLAUDE_PLUGIN_ROOT}/scripts/py" scripts/guarda.py info`
Request: $ARGUMENTS
The JSON above is the context. Talk to the user in its `language`, honoring `reply_style`. Name the design document with `names.design` (never a literal name); read the project docs by `names.vision` and `names.prd`. If `info` failed, say so and use defaults.
Output: `docs/<names.design>` (tokens + prose) and `docs/prototype/index.html` (static, offline). Work at the git toplevel of the project. No commit, no push, no install.
## Step 0 - Preconditions
- If talk mode is on (the hook blocks code writes), the HTML cannot be written: say the exit phrases (en: "let's build", "start building"; pt-BR: "pode construir", "comece a aplicar") and wait. You may still write the `.md` first.
- Read `names.vision` / `names.prd` if they exist (audience, tone, platform). If there is no project yet, ask only what you need and still write into `docs/`.
- If `docs/<names.design>` exists, read it and update it instead of starting over.
## Step 1 - Visual direction
Ask with `AskUserQuestion`, one round:
1. Direction: offer 2 or 3 options, each described in one line of concrete traits (palette mood, type feel, density, corner style), fitted to the product and audience. Example shapes: "calm and airy: light surface, one soft accent, generous spacing"; "dense and technical: neutral greys, monospace accents, tight spacing"; "bold and playful: saturated primary, large rounded corners". Always allow "other".
2. References: ask for sites, apps or screenshots the user likes or dislikes (free text; "none" is fine). Never invent a brand.
3. Dark, light or both; the fonts must be available offline-safe (system stacks) unless the user names one.
Then propose the concrete token values in a short list (5 colors, 2 type styles, radius, 3 spacing steps) and ask for approval or changes. One round of changes at most, then decide and note it as `[ASSUMPTION]`.
## Step 2 - Write the design document
Use `${CLAUDE_PLUGIN_ROOT}/templates/project/design.md` as the shape; translate headings and text to `language`; fill every `{{placeholder}}`; delete empty sections; keep the frontmatter keys in English.
Format rules for the frontmatter (the converter reads this subset only):
- 2-space indent, `key: value`, no lists. QUOTE every hex color (an unquoted `#fff` is a comment).
- Required tokens (the prototype uses them): `name`, `description`, `colors.{primary,secondary,surface,text,error}`, `typography.body.{fontFamily,fontSize,fontWeight,lineHeight}`, `typography.heading.{fontFamily,fontSize,fontWeight}`, `rounded.md`, `spacing.{sm,md,lg}`. Add more groups or components as needed; references look like `"{colors.primary}"`.
- Contrast: `text` on `surface` and `surface` on `primary` must reach 4.5:1 (WCAG AA). Compute the ratio and adjust; state the ratios in the Colors prose.
- Prose follows the order of the template; include "Voice and tone" (do/don't table) and "Key flows" from the interview, not generic text.
## Step 3 - Generate the prototype
```
mkdir -p docs/prototype
sh "${CLAUDE_PLUGIN_ROOT}/scripts/py" skills/design/scripts/tokens_to_css.py docs/<names.design> \
--prototype "${CLAUDE_PLUGIN_ROOT}/skills/design/templates/prototype.html" --out docs/prototype/index.html
```
(Run it with the Bash tool; the command above is not pre-approved, the user may be asked.) If it reports a missing token or broken reference, fix the design document and rerun.
Then edit `docs/prototype/index.html`:
- Replace the block marked `MAIN SCREEN` with the product's one key screen (from `names.prd`'s main flow), with made-up data. Use only existing classes and `var(--...)` tokens: no loose colors, no new fonts.
- Translate visible labels to the project language.
- Keep the component sections (buttons, fields, card, list, empty and error states).
- Rule: CSS stays inline; no CDN, no web fonts, no `<link>`, no `<script src>`, no URL of any kind, no network.
Check: `grep -c "http" docs/prototype/index.html` must print 0. Regenerating overwrites the file, so redo the main-screen edit after a token change.
## Step 4 - Approval
Tell the user to open it: `open docs/prototype/index.html` (macOS), `xdg-open ...` (Linux) or double-click it. Ask what to change; apply changes to the tokens first, then regenerate. Do not start implementing the real UI before the user approves.
## Step 5 - Finish
Short answer: direction chosen, files written (`docs/<names.design>`, `docs/prototype/index.html`), contrast ratios, open points. Next step: `/tune-up:plan` (the first plan item can build the front end from the tokens). Optional for the user: `npx @google/design.md lint docs/<names.design>` for an extra check (needs network; you do not run it).From stage2dev/tune-up, MIT.
More from stage2dev/tune-up
- 0.567score
setup
stage2dev
First-run setup of tune-up - language, owner, reply style, kinds of use, user.json, optional tools (gh, claude-mem, fast-jev, Caveman, Ponytail, Graphify, ECC).
SkillAFreshness: AClaude Code +9 - 0.561score
talk
stage2dev
Talk mode - interview, brainstorm and persona debate that turns an idea into project documents, no code.
SkillAFreshness: AClaude Code +9 - 0.561score
evaluate
stage2dev
Evaluates a third-party repo, skill or plugin before importing it.
SkillAFreshness: AClaude Code +9 - 0.561score
handoff
stage2dev
Writes a HANDOFF.md plus a pasteable prompt to continue in a new session.
SkillAFreshness: AClaude Code +9 - 0.561score
investigate
stage2dev
Investigates a bug, pasted error, "stopped answering", failed booking or customer conversation.
SkillAFreshness: AClaude Code +9 - 0.561score
learn
stage2dev
Records a new rule in memory, project or user rules (or the plugin source, if set).
SkillAFreshness: AClaude Code +9 - 0.561score
migration
stage2dev
Applies a database migration/SQL to production with a safe protocol.
SkillAFreshness: AClaude Code +9 - 0.561score
new-project
stage2dev
Creates a new project folder with git, docs, plans, tests, CI and agent rules from the talk's vision; the user picks the stack.
SkillAFreshness: AClaude Code +9 - 0.561score
part
stage2dev
Runs ONE Part of an already planned phase item by item, with Opus reviewers and a gate, then STOPS.
SkillAFreshness: AClaude Code +9 - 0.561score
profile
stage2dev
Creates or updates the project profile (.tune-up/project.md and config.json) by detecting git, stack, tests, database and deploy.
SkillAFreshness: AClaude Code +9 - 0.561score
research
stage2dev
Research that changes NOTHING.
SkillAFreshness: AClaude Code +9 - 0.561score
ship
stage2dev
Commits and opens the PR with an honest body.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/stage2dev/tune-up
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from stage2dev
- 0.567score
setup
stage2dev
First-run setup of tune-up - language, owner, reply style, kinds of use, user.json, optional tools (gh, claude-mem, fast-jev, Caveman, Ponytail, Graphify, ECC).
SkillAFreshness: AClaude Code +9 - 0.561score
evaluate
stage2dev
Evaluates a third-party repo, skill or plugin before importing it.
SkillAFreshness: AClaude Code +9 - 0.561score
handoff
stage2dev
Writes a HANDOFF.md plus a pasteable prompt to continue in a new session.
SkillAFreshness: AClaude Code +9 - 0.561score
investigate
stage2dev
Investigates a bug, pasted error, "stopped answering", failed booking or customer conversation.
SkillAFreshness: AClaude Code +9 - 0.561score
learn
stage2dev
Records a new rule in memory, project or user rules (or the plugin source, if set).
SkillAFreshness: AClaude Code +9 - 0.561score
talk
stage2dev
Talk mode - interview, brainstorm and persona debate that turns an idea into project documents, no code.
SkillAFreshness: AClaude Code +9
Cite this page
design skill. Agent Mart. https://agentmart.dev/skills/stage2dev-design (last updated 2026-10-24)