Communitygithub.com

lz1159435992/sketch-to-drawio

Reconstrua esboços de papel rasterizados (GPT/desenhados à mão) como figuras vetoriais nativas e editáveis do draw.io — skill de agente com sourcing de ícones, rastreamento/upscaling de esboços e registros de atribuição/QC.

O que é sketch-to-drawio?

Esta skill permite que agentes de IA (como Claude Code, Codex ou Cursor) convertam esboços rasterizados de figuras acadêmicas — sejam eles gerados por GPT ou desenhados à mão — em diagramas vetoriais nativos e totalmente editáveis no draw.io. Ela funciona analisando a imagem do esboço para identificar módulos, setas, contêineres e hierarquias, ignorando texto ou ruído (que são tratados como placeholders a confirmar). Em seguida, reconstrói cada elemento usando formas nativas do draw.io, ícones SVG independentes (com sourcing preferencial de conjuntos como Lucide e Iconify) e, apenas em último caso, formas genéricas conservadoras. Para ilustrações complexas ou cenas decorativas, a skill segue um pipeline de degradação controlada — começando por composições com ícones do mesmo conjunto, passando por vetorização colorida ou patches raster de alta resolução, até chegar a formas geométricas simples como fallback. Tudo é documentado em arquivos de atribuição e controle de qualidade (QC), garantindo rastreabilidade e evitando alucinações (não inventa informações nem gera ícones fictícios). O resultado final inclui o arquivo .drawio editável, exportações SVG/PNG prontas para publicação acadêmica, e listas de itens que exigem confirmação do usuário.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add lz1159435992/sketch-to-drawio

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Sketch to Drawio

Reconstrua esboços rasterizados como referência de layout, módulos e relações para criar figuras acadêmicas vetoriais nativas no draw.io, usando formas originais, texto editável e ícones SVG independentes. O esboço original nunca é incorporado como plano de fundo ou imagem completa no produto final.

Entrada e Saída

A entrada é especificada pelo usuário ou encontrada no workspace:

  • Esboço rasterizado (PNG/JPG, obrigatório);
  • Arquivo de especificação/descrição textual opcional (texto formal, dados, cores — prevalece quando fornecido).

A saída é enviada para o diretório especificado pelo usuário, com nomes derivados do slug da figura (no exemplo, <fig>):

  • <fig>.drawio: arquivo de origem editável (todos os objetos editáveis);
  • <fig>.svg / <fig>.png: exportação final (PNG com fundo branco, resolução adequada para artigos/Word);
  • <fig>-icon-attribution.md: lista de fontes e tratamento dos ícones;
  • <fig>-QC.md: checklist de qualidade e itens pendentes;
  • Arquivos de ícones intermediários salvos no diretório de referência especificado pelo usuário.

Fluxo de Trabalho

  1. Leitura e Análise: Identificar módulos, títulos, direção das setas, hierarquia de contêineres; ignorar texto/números/fórmulas/marcas d'água do esboço (a menos que o spec os forneça; caso contrário, usar placeholders e marcar como "a confirmar").
  2. Planejamento de Elementos: Determinar a semântica funcional de cada elemento gráfico e classificá-lo primeiro — ícones funcionais simples (semântica única: carro, arquivo, escudo, busca) vs. ilustrações/cenas complexas (múltiplos elementos, decorativos, como paisagem de montanha) — e então aplicar a respectiva escada de tratamento.
  3. Reconstrução Nativa: Reconstruir todos os módulos, contêineres, conexões e textos usando XML do draw.io; layout da esquerda para a direita ou de cima para baixo, com ordem de leitura clara.
  4. Autoinspeção de Exportação: Exportar visualização PNG e inspecionar visualmente (recortes, sobreposições, desalinhamentos, linhas quebradas, direção das setas, tamanho da fonte, consistência dos ícones, distinguibilidade das cores); problemas puramente de layout são corrigidos diretamente no XML e reexportados até passarem.
  5. Entrega de Registros: Gerar arquivos de atribuição e QC, e resumir na resposta final todos os itens needs_user_confirmation.

Prioridade de Tratamento de Elementos Gráficos (julgamento independente por elemento)

Ícones funcionais simples seguem A→B→C:

  • A. SVG Open Source prioritário: Padrão unificado: estilo linear monocromático Lucide; se insuficiente, buscar conjuntos de ícones open source no Iconify (prioridade médica/equipamentos: mdi, fluent). Não misturar estilos na mesma figura; registrar biblioteca, nome, licença e exigências de atribuição. Mecanismo de busca e download em references/icon-sourcing.md; download usando scripts/fetch_icon.py.
  • B. Rastrear ícone do esboço quando não encontrado: Recortar → nitidez (ampliar, reduzir ruído, remover fundo, sem inventar detalhes ausentes no original) → converter para SVG com vtracer/Inkscape → priorizar reconstrução geométrica por contorno; se inviável, inserir SVG independente (sem rasterizar). Se a ferramenta estiver faltando, cair diretamente para C e registrar. Julgamento e comandos em references/icon-tracing.md.
  • C. Forma genérica conservadora quando ainda não confiável: Não adivinhar semântica. Dados → arquivo/cilindro; processamento → retângulo arredondado/engrenagem; sistema → contêiner/nuvem/servidor; pessoas → silhueta; entrada/saída → seta direcional/caixa de arquivo; completamente incerto → retângulo arredondado sem decoração + etiqueta de texto clara; título também incerto → texto placeholder [A confirmar]. Tudo marcado como item pendente; critérios de classificação em references/qc.md.

Ilustrações/cenas complexas seguem A′→B′→C′→D′→E, com dois princípios: consistência de estilo antes de correspondência semântica; fidelidade ao original antes de recomposição (recomposição é a principal fonte de "sensação de confusão"). Degradação gradual, fallback apenas no último caso:

  • A′. Composição com ícones do mesmo conjunto (preferencial, com limite de qualidade): Usar múltiplos elementos do mesmo conjunto de ícones da figura + composição com z-order (ex.: Lucide mountain-snow ao fundo + tree-pine×2 nas laterais + route na frente), podendo usar 2–3 cores da paleta existente na figura para分层 de frente/fundo. Limite de qualidade: ≤3 elementos, hierarquia de tamanho clara, sobreposição contida; se ainda parecer confuso no tamanho alvo, no máximo uma revisão antes de degradar, sem polimento repetido.
  • B′. Recorte do original + rastreamento colorido (versão vetorial de "recorte HD"): Recortar a ilustração diretamente do esboço → vetorizar com vtracer --colormode color → mapear paleta e inspecionar visualmente, mantendo totalmente vetorial e fiel à composição original.
  • C′. Recorte do original + upscaling raster (patch decorativo permite raster): Recortar → ampliar 2–4× + reduzir ruído + nitidez leve (scripts/embed_raster.py) → PNG encapsulado em <image> SVG e embutido como percent-encode; recortar apenas a ilustração, não o texto; resolução preparada com 2–3× o tamanho de exibição.
  • D′. Conjunto colorido com mapeamento de paleta / combinação de formas nativas: Selecionar conjunto colorido de formas geométricas planas + mapeamento de paleta (estilo emoji adesivo gradiente é antipadrão), ou usar formas básicas para montar uma cena simplificada.
  • E. Fallback: Combinação de ícones lineares monocromáticos (ex.: Lucide route+cloud-sun); se ainda assim inviável, cair para C (formas genéricas).

Julgamento detalhado, comandos e tabela de licenças em references/illustrations.md.

Ícones e ilustrações são elementos auxiliares e não substituem texto e relações lógicas essenciais.

Restrições para Figuras Acadêmicas

  • Fundo branco, 3–5 cores de baixa saturação, espessura de linha/raio de canto/estilo de seta uniformes; otimizado por padrão para largura de página A4, com títulos e rótulos principais ainda legíveis após redução.
  • Ilustrações coloridas: no máximo 1–2 por figura como âncoras visuais; demais elementos mantidos lineares monocromáticos; mesma figura não mistura estilos, tanto para ícones quanto para ilustrações — inconsistência de estilo entra no QC.
  • Artigos em chinês: atenção à disponibilidade de fontes CJK no lado da exportação (caracteres ausentes viram quadrados; verificar obrigatoriamente na autoinspeção).

Barreiras Antialucinação

  • Não inventar fluxos de pesquisa, detalhes técnicos, variáveis, métodos, conclusões ou valores numéricos.
  • Nitidez não deve criar detalhes inexistentes no original; se não for reconhecível, cair para C; não gerar novos ícones que possam estar incorretos.
  • Sempre que a confiança no julgamento semântico for baixa, texto/dados estiverem ausentes ou o estilo for sobrescrito, registrar como item pendente no QC para confirmação.

Relação com Outras Skills

A sintaxe XML do draw.io, busca de formas, mecanismo de exportação CLI e resolução de problemas são reutilizados da drawio-skill (exportação headless usa xvfb-run -a drawio --no-sandbox ...; sua seção de troubleshooting cobre casos como root/sem display). Esta skill não duplica esses mecanismos.

Habilidades Relacionadas