Web Artifacts Builder
anthropics/skills
Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.
Replicate the visual style of any website and apply it to your existing codebase.
$ npx skills add brightdata/skills --skill design-mirror -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install brightdata/skills design-mirror --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/design-mirror .claude/skills/design-mirror && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "design-mirror" agent skill from https://github.com/brightdata/skills/tree/main/skills/design-mirror into .claude/skills/design-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-mirror", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/brightdata/skills/tree/main/skills/design-mirrorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add brightdata/skills --skill design-mirror -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install brightdata/skills design-mirror --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/design-mirror .agents/skills/design-mirror && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "design-mirror" agent skill from https://github.com/brightdata/skills/tree/main/skills/design-mirror into .agents/skills/design-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-mirror", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add brightdata/skills --skill design-mirror -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install brightdata/skills design-mirror --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/design-mirror .cursor/skills/design-mirror && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "design-mirror" agent skill from https://github.com/brightdata/skills/tree/main/skills/design-mirror into .cursor/skills/design-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-mirror", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/brightdata/skills.git --path skills/design-mirror--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add brightdata/skills --skill design-mirror -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install brightdata/skills design-mirror --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/design-mirror .gemini/skills/design-mirror && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "design-mirror" agent skill from https://github.com/brightdata/skills/tree/main/skills/design-mirror into .gemini/skills/design-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-mirror", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install brightdata/skills design-mirrorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add brightdata/skills --skill design-mirror -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/design-mirror .github/skills/design-mirror && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "design-mirror" agent skill from https://github.com/brightdata/skills/tree/main/skills/design-mirror into .github/skills/design-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-mirror", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add brightdata/skills --skill design-mirror -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install brightdata/skills design-mirror --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/brightdata/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/design-mirror .opencode/skills/design-mirror && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "design-mirror" agent skill from https://github.com/brightdata/skills/tree/main/skills/design-mirror into .opencode/skills/design-mirror/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "design-mirror", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
design-mirrorReplicate the visual style of any website and apply it to your existing codebase.
Design Mirror is an agent skill from brightdata/skills. Replicate the visual style of any website and apply it to your existing codebase. Use this skill whenever the user wants to match a site's design, mirror a UI aesthetic, make their app look like another site, or replicate a specific visual style from a URL. Trigger on phrases like 'make it look like', 'match the design of', 'copy the style from', 'I want my app to look like X', 'mirror this design', 'inspired by [url]', or any time the user points at a website and says they want their frontend to match it.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/apply-guide.md`, `references/capture-guide.md` and `references/css-extraction.md`).
It sits in Frontend & Design. It works with Bright Data. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 81f51af. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
inspiration-site.comAlso links to:
brightdata.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BRIGHTDATA_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Design Mirror loads about 2.1k tokens when it runs, and up to ~5.6k if it reads all its reference files. Until then it costs about 131 tokens; SKILL.md has 912 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from brightdata/skills at commit 81f51af, republished under its MIT licence (© brightdata). 912 words, ~2,059 tokens.
.claude/skills/design-mirror/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Capture the visual design language of any website and apply it to your existing codebase — colors, typography, spacing, layout rhythm, component shapes, and overall aesthetic — all extracted live via Bright Data's Web Unlocker.
You are not copying content or functionality. You're understanding the design language — the palette, the type scale, the card shapes, the hover states, the overall aesthetic feel.
Important: This skill is for design inspiration and learning — extracting publicly visible design tokens (colors, fonts, spacing) to inform your own UI work. Always use it respectfully and in accordance with the terms of service of the sites you reference.
Requires:
BRIGHTDATA_API_KEY — from brightdata.com/cp → Account SettingsBRIGHTDATA_UNLOCKER_ZONE — create an Unlocker zone at brightdata.com/cpexport BRIGHTDATA_API_KEY="your-api-key"
export BRIGHTDATA_UNLOCKER_ZONE="your-zone-name"Run both captures in parallel — screenshot (for visual analysis) and HTML scrape (for CSS extraction):
# Screenshot (save as PNG)
bash scripts/screenshot.sh "https://inspiration-site.com" "/tmp/target_screenshot.png"
# HTML + CSS scrape
bash scripts/scrape_html.sh "https://inspiration-site.com" "/tmp/target_page.html"Read references/capture-guide.md for how to extract CSS from the raw HTML and handle common issues.
After capturing, analyze both in parallel:
Visual analysis (screenshot): Read the PNG image and identify:
CSS analysis (HTML): Extract from <style> tags and inline styles:
:root { --color-... }) — publicly declared design tokens@import from Google Fonts, etc.)Read references/css-extraction.md for the extraction playbook.
Produce a structured design token map before touching any code:
DESIGN TOKENS FROM [site]
==========================
Colors:
--bg-primary: #0a0a0f (page background)
--bg-surface: #13131a (card/panel background)
--text-primary: #ffffff
--text-muted: #8888aa
--accent: #7c3aed (primary CTA color)
--accent-hover: #6d28d9
--border: rgba(255,255,255,0.08)
Typography:
--font-heading: 'Inter', sans-serif
--font-body: 'Inter', sans-serif
font-scale: 12/14/16/20/24/32/48px
heading-weight: 700
body-weight: 400
Spacing:
base-unit: 8px
scale: 4/8/12/16/24/32/48/64px
Borders & Shadows:
--radius-sm: 6px
--radius-md: 12px
--radius-lg: 20px
--shadow: 0 4px 24px rgba(0,0,0,0.4)
Special effects:
glass-blur: backdrop-filter: blur(16px)
gradient: linear-gradient(135deg, #7c3aed, #2563eb)Show this token map to the user before proceeding. It's the foundation — if it's wrong, the output will be wrong.
Before writing any code, read the relevant parts of their codebase:
Do not rewrite everything — surgical precision. Apply the design tokens to the existing structure.
The application strategy depends on their stack:
If Tailwind: Update tailwind.config.js with the new color palette, font family, border radius scale. Add custom CSS variables for anything Tailwind can't handle natively.
If CSS/CSS Modules: Create or update a :root variables block in globals.css. Update component stylesheets to use the new variables.
If styled-components/Emotion: Update the theme object. Replace hardcoded color/spacing values with theme tokens.
In all cases:
Read references/apply-guide.md for framework-specific implementation patterns.
After applying changes, clearly present:
If the user has a dev server running, remind them to check it. Offer to iterate on specific components.
Design language, not markup. The inspiration site's HTML structure and content are theirs. You're extracting the design language — how colors relate, how spacing flows, what gives the site its character — to apply as your own creative foundation.
Design tokens first, code second. Rushing to apply colors before understanding the full system leads to inconsistent results. Always build the token map first.
Ask about scope. "Apply the design everywhere" vs "just make the homepage feel like it" vs "only restyle the navbar" are very different jobs. Clarify before proceeding.
Don't break what works. The user's components work. Only change visual properties. If you're uncertain whether a change might break layout, err on the side of caution and flag it.
Iterative is fine. It's often better to get the foundation right (colors, type, spacing) and let the user review before tackling component-level details.
The site uses a design system (Material, shadcn, etc.): Identify it, tell the user, and ask if they want to adopt the same system or just extract the visual tokens.
The CSS is minified/obfuscated: Fall back to the screenshot + visual analysis. You can still extract colors, spacing, and shapes from visual inspection.
The inspiration site is JS-rendered and the HTML scrape comes back mostly empty: Note this to the user — the screenshot will still work for visual analysis, but CSS extraction will be limited. You can still infer most tokens visually.
The user's codebase uses a component library (shadcn, Chakra, MUI): Apply the design by customizing the library's theme/config rather than overriding individual components.
Multiple pages need to match: Use the homepage for overall design tokens, but offer to check inner pages (e.g., /pricing, /docs) if the user wants to match a specific page's look.
© brightdata, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/design-mirror of brightdata/skills.
Open the folder on GitHubat commit 81f51af
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in brightdata/skills, which our catalogue first saw on October 7, 2026.
Design Mirror next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Design Mirror this skillbrightdata/skills | 264 | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Web Artifacts Builderanthropics/skills | 180k | 40 repos | ~769 | Automated safety check: Pass | Apache-2.0 | |
| React Doctormakeplane/plane | 60k | 12 repos | ~657 | Automated safety check: Pass | AGPL-3.0 | |
| React Composition Patternsvercel-labs/openreview | 1.7k | 58 repos | ~721 | Automated safety check: Pass | MIT | |
| Impeccablebestofjs/bestofjs | 3.1k | 27 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Figma Design System Builderwarpdotdev/warp | 65k | 2 repos | ~4.4k | Automated safety check: Pass | AGPL-3.0 |
anthropics/skills
Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.
makeplane/plane
Scans React code for lint, accessibility, bundle size and architecture issues, reports a health score and checks that changes do not lower it.
vercel-labs/openreview
Rules for structuring React components with composition instead of boolean props, covering compound components, lifted state, variants and React 19 changes.
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
warpdotdev/warp
Builds or updates a design system in Figma from a codebase in ordered phases: discovery, variables and tokens, components, theming and documentation, with checkpoints.
anonaddy/anonaddy
Always invoke when the user's message includes 'tailwind' in any form.
brightdata/skills
Generate working code that routes HTTP requests through Bright Data proxy networks (Datacenter, ISP, Residential, Mobile) and help users decide which network and IP pool type to use (shared pool…
brightdata/skills
Bright Data MCP handles ALL web data operations. An agent skill from brightdata/skills.
brightdata/skills
Produce a deep, multi-source, cited research brief on a topic from live web data using Bright Data's Discover API (intent-ranked web search + parsed page content).
brightdata/skills
Web data extraction and discovery using the Bright Data JavaScript/TypeScript SDK (@brightdata/sdk).
brightdata/skills
Extract structured data from 40+ supported platforms (Amazon, LinkedIn, Instagram, TikTok, Facebook, YouTube, Reddit, and more) via the Bright Data CLI (bdata pipelines).
brightdata/skills
Use Bright Data's Discover API — intent-ranked, AI-relevance-scored web search at scale (not keyword SERP).
Works with
Categories
Replicate the visual style of any website and apply it to your existing codebase. Design Mirror is an agent skill from brightdata/skills. Replicate the visual style of any website and apply it to your existing codebase.
Design Mirror fits situations like: the user wants to match a sites design; mirror a UI aesthetic; make their app look like another site; replicate a specific visual style from a URL.
Run `npx skills add brightdata/skills --skill design-mirror -a claude-code`. Or copy the skill folder (skills/design-mirror in brightdata/skills) into .claude/skills/design-mirror in your project. Claude Code loads it when a task matches its description.
Run `npx skills add brightdata/skills --skill design-mirror -a codex`. Or copy the skill folder (skills/design-mirror in brightdata/skills) into .agents/skills/design-mirror in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add brightdata/skills --skill design-mirror -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/design-mirror, .gemini/skills/design-mirror, .github/skills/design-mirror and .opencode/skills/design-mirror in your project.
Going by SKILL.md and its folder, Design Mirror needs a shell for the scripts in its folder, the command-line tools its instructions call (bash) and credentials named BRIGHTDATA_API_KEY. Our summary lists: A Bash shell; A credential in BRIGHTDATA_API_KEY.
SKILL.md names 2 domains. In commands or code: inspiration-site.com; the agent is likely to contact it when it follows the instructions. As links in the text: brightdata.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Design Mirror is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Design Mirror: Web Artifacts Builder (anthropics/skills, 180k stars), React Doctor (makeplane/plane, 60k stars), React Composition Patterns (vercel-labs/openreview, 1.7k stars) and Impeccable (bestofjs/bestofjs, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
brightdata (a GitHub organization) maintains it in brightdata/skills, which has 264 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 6, 2026.
Source: brightdata/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.