Design Analyzer
Analisa paginas web reais via browser MCP e extrai documentacao tecnica completa de design.
Workflow
1. Acessar a pagina via Browser MCP
Usar um dos MCPs de browser disponiveis (prioridade):
- Playwright MCP (
browser_navigate + browser_take_screenshot + browser_evaluate)
- Claude in Chrome (
navigate + get_page_text + javascript_tool)
# Playwright
browser_navigate -> URL
browser_take_screenshot -> full-page screenshot
browser_evaluate -> injetar scripts de extracao
# Claude in Chrome
navigate -> URL
javascript_tool -> injetar scripts de extracao
2. Capturar screenshots
Salvar em docs/design-analysis/screenshots/:
full-page.png - pagina completa
navbar.png, hero.png, footer.png, etc. - componentes isolados
3. Extrair design tokens
Injetar scripts/extract-styles.js via browser MCP para extrair automaticamente:
- Cores (com conversao RGB -> HEX)
- Tipografia (font-family, size, weight, line-height, letter-spacing)
- Bordas e sombras
- CSS custom properties (variaveis :root)
- Classes Tailwind detectadas
- Animacoes e transicoes
4. Mapear componentes
Injetar scripts/extract-components.js para detectar e medir:
- Navbar, sidebar, hero, cards, CTAs, footer, modais, forms, tabelas, badges
- Dimensoes (width, height, position)
- Estilos computados de cada componente
- Breakpoints responsivos detectados nas media queries
5. Gerar documentacao
Criar a estrutura em docs/design-analysis/:
docs/design-analysis/
README.md
design-tokens.md
wireframe.md
implementation-guide.md
components/
navbar.md
hero.md
cards.md
footer.md
[componente].md
screenshots/
full-page.png
[componente].png
Consultar references/output-templates.md para formato exato de cada arquivo.
Regras
- SEMPRE acessar a pagina real via browser MCP. Nunca inventar valores de design
- Extrair valores exatos em px/rem. Nunca usar termos vagos como "espacamento grande"
- Incluir snippets prontos em Tailwind CSS E CSS puro no implementation-guide.md
- Se a pagina usa Tailwind, extrair as classes diretamente do DOM
- Documentar estados (hover, active, focus, disabled) quando detectados
- Registrar breakpoints responsivos observados
- Para animacoes: documentar propriedade, duracao, easing, delay
- Analisar CSS custom properties (:root) e incluir no design-tokens.md
Extracao via JavaScript
Os scripts em scripts/ fazem a extracao automatica. Para dados adicionais, injetar JS customizado:
// Extrair computed style de um elemento especifico
JSON.stringify((() => {
const el = document.querySelector('.seletor');
const cs = getComputedStyle(el);
return { bg: cs.backgroundColor, color: cs.color, padding: cs.padding, font: cs.font };
})());
// Extrair todas as fontes carregadas
JSON.stringify([...document.fonts].map(f => ({ family: f.family, weight: f.weight, style: f.style, status: f.status })));
// Extrair icones (SVGs inline)
document.querySelectorAll('svg').length + ' SVGs encontrados';
1---2name: design-analyzer3description: Especialista em analise visual e extracao de design de paginas web. Transforma qualquer URL em documentacao tecnica completa de design (cores, tipografia, espacamento, componentes, wireframe) pronta para implementacao. Usar quando o usuario pedir para "analisar design", "extrair design", "copiar estilo", "inspiracao de design", "analisar layout", "extrair paleta de cores", "analisar pagina", ou fornecer uma URL pedindo analise visual. Tambem usar quando precisar replicar o visual de um site existente, fazer engenharia reversa de UI, ou documentar o design system de uma pagina.4---56# Design Analyzer78Analisa paginas web reais via browser MCP e extrai documentacao tecnica completa de design.910## Workflow1112### 1. Acessar a pagina via Browser MCP1314Usar um dos MCPs de browser disponiveis (prioridade):151. **Playwright MCP** (`browser_navigate` + `browser_take_screenshot` + `browser_evaluate`)162. **Claude in Chrome** (`navigate` + `get_page_text` + `javascript_tool`)1718```19# Playwright20browser_navigate -> URL21browser_take_screenshot -> full-page screenshot22browser_evaluate -> injetar scripts de extracao2324# Claude in Chrome25navigate -> URL26javascript_tool -> injetar scripts de extracao27```2829### 2. Capturar screenshots3031Salvar em `docs/design-analysis/screenshots/`:32- `full-page.png` - pagina completa33- `navbar.png`, `hero.png`, `footer.png`, etc. - componentes isolados3435### 3. Extrair design tokens3637Injetar `scripts/extract-styles.js` via browser MCP para extrair automaticamente:38- Cores (com conversao RGB -> HEX)39- Tipografia (font-family, size, weight, line-height, letter-spacing)40- Bordas e sombras41- CSS custom properties (variaveis :root)42- Classes Tailwind detectadas43- Animacoes e transicoes4445### 4. Mapear componentes4647Injetar `scripts/extract-components.js` para detectar e medir:48- Navbar, sidebar, hero, cards, CTAs, footer, modais, forms, tabelas, badges49- Dimensoes (width, height, position)50- Estilos computados de cada componente51- Breakpoints responsivos detectados nas media queries5253### 5. Gerar documentacao5455Criar a estrutura em `docs/design-analysis/`:5657```58docs/design-analysis/59 README.md60 design-tokens.md61 wireframe.md62 implementation-guide.md63 components/64 navbar.md65 hero.md66 cards.md67 footer.md68 [componente].md69 screenshots/70 full-page.png71 [componente].png72```7374Consultar `references/output-templates.md` para formato exato de cada arquivo.7576## Regras7778- SEMPRE acessar a pagina real via browser MCP. Nunca inventar valores de design79- Extrair valores exatos em px/rem. Nunca usar termos vagos como "espacamento grande"80- Incluir snippets prontos em Tailwind CSS E CSS puro no implementation-guide.md81- Se a pagina usa Tailwind, extrair as classes diretamente do DOM82- Documentar estados (hover, active, focus, disabled) quando detectados83- Registrar breakpoints responsivos observados84- Para animacoes: documentar propriedade, duracao, easing, delay85- Analisar CSS custom properties (:root) e incluir no design-tokens.md8687## Extracao via JavaScript8889Os scripts em `scripts/` fazem a extracao automatica. Para dados adicionais, injetar JS customizado:9091```js92// Extrair computed style de um elemento especifico93JSON.stringify((() => {94 const el = document.querySelector('.seletor');95 const cs = getComputedStyle(el);96 return { bg: cs.backgroundColor, color: cs.color, padding: cs.padding, font: cs.font };97})());98```99100```js101// Extrair todas as fontes carregadas102JSON.stringify([...document.fonts].map(f => ({ family: f.family, weight: f.weight, style: f.style, status: f.status })));103```104105```js106// Extrair icones (SVGs inline)107document.querySelectorAll('svg').length + ' SVGs encontrados';108```