json-canvas
Faz seu agente criar e editar arquivos visuais chamados JSON Canvas. É útil para organizar ideias, criar fluxogramas ou mapas mentais.
O que ela faz
Este agente ajuda a criar e editar arquivos de mapas visuais chamados '.canvas'. Você pode usá-lo para fazer diagramas, mapas mentais ou fluxogramas.
Quando usar
- ✓Criar um novo mapa visual.
- ✓Adicionar ou conectar ideias em um mapa existente.
- ✓Organizar informações visualmente.
Exemplo do que pedir para a IA
“Crie um mapa mental com os seguintes pontos: 'Ideia Principal', 'Sub-ideia 1', 'Sub-ideia 2', conectando 'Ideia Principal' a ambas as sub-ideias.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele funciona criando e modificando um arquivo de texto especial (.canvas) que descreve os elementos visuais e suas conexões. O agente garante que tudo esteja organizado corretamente dentro desse arquivo.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill json-canvasOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/json-canvas/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Habilidade JSON Canvas
Quando Usar
- Use ao criar ou editar arquivos
.canvaspara o Obsidian. - Use para mapas mentais, fluxogramas, estruturas de notas visuais ou telas conectadas.
- Use quando o usuário mencionar explicitamente arquivos JSON Canvas ou Obsidian Canvas.
Estrutura de Arquivo
Um arquivo de tela (.canvas) contém dois arrays de nível superior seguindo a Especificação JSON Canvas 1.0:
{
"nodes": [],
"edges": []
}
nodes(opcional): Array de objetos de nóedges(opcional): Array de objetos de aresta conectando nós
Fluxos de Trabalho Comuns
1. Criar uma Nova Tela
- Crie um arquivo
.canvascom a estrutura base{"nodes": [], "edges": []} - Gere IDs hexadecimais únicos de 16 caracteres para cada nó (por exemplo,
"6f0ad84f44ce9c17") - Adicione nós com os campos obrigatórios:
id,type,x,y,width,height - Adicione arestas referenciando IDs de nó válidos via
fromNodeetoNode - Validar: Analise o JSON para confirmar que é válido. Verifique se todos os valores
fromNode/toNodeexistem no array de nós
2. Adicionar um Nó a uma Tela Existente
- Leia e analise o arquivo
.canvasexistente - Gere um ID único que não colida com os IDs de nó ou aresta existentes
- Escolha a posição (
x,y) que evite sobrepor nós existentes (deixe um espaçamento de 50-100px) - Anexe o novo objeto de nó ao array
nodes - Opcionalmente, adicione arestas conectando o novo nó aos nós existentes
- Validar: Confirme se todos os IDs são únicos e se todas as referências de aresta resolvem para nós existentes
3. Conectar Dois Nós
- Identifique os IDs do nó de origem e de destino
- Gere um ID de aresta único
- Defina
fromNodeetoNodepara os IDs de origem e destino - Opcionalmente, defina
fromSide/toSide(superior, direito, inferior, esquerdo) para pontos de ancoragem - Opcionalmente, defina
labelpara texto descritivo na aresta - Anexe a aresta ao array
edges - Validar: Confirme se ambos
fromNodeetoNodereferenciam IDs de nó existentes
4. Editar uma Tela Existente
- Leia e analise o arquivo
.canvascomo JSON - Localize o nó ou aresta de destino por
id - Modifique os atributos desejados (texto, posição, cor, etc.)
- Escreva o JSON atualizado de volta no arquivo
- Validar: Verifique novamente a exclusividade de todos os IDs e a integridade das referências de aresta após a edição
Nós
Nós são objetos colocados na tela. A ordem do array determina o z-index: primeiro nó = camada inferior, último nó = camada superior.
Atributos Genéricos de Nó
| Atributo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
id |
Sim | string | Identificador hexadecimal único de 16 caracteres |
type |
Sim | string | text, file, link ou group |
x |
Sim | integer | Posição X em pixels |
y |
Sim | integer | Posição Y em pixels |
width |
Sim | integer | Largura em pixels |
height |
Sim | integer | Altura em pixels |
color |
Não | canvasColor | Predefinição "1"-"6" ou hexadecimal (por exemplo, "#FF0000") |
Nós de Texto
| Atributo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
text |
Sim | string | Texto simples com sintaxe Markdown |
{
"id": "6f0ad84f44ce9c17",
"type": "text",
"x": 0,
"y": 0,
"width": 400,
"height": 200,
"text": "# Hello World\n\nThis is **Markdown** content."
}
Armadilha de nova linha: Use \n para quebras de linha em strings JSON. Não use o literal \\n -- o Obsidian renderiza isso como os caracteres \ e n.
Nós de Arquivo
| Atributo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
file |
Sim | string | Caminho para o arquivo dentro do sistema |
subpath |
Não | string | Link para um cabeçalho ou bloco (começa com #) |
{
"id": "a1b2c3d4e5f67890",
"type": "file",
"x": 500,
"y": 0,
"width": 400,
"height": 300,
"file": "Attachments/diagram.png"
}
Nós de Link
| Atributo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
url |
Sim | string | URL externa |
{
"id": "c3d4e5f678901234",
"type": "link",
"x": 1000,
"y": 0,
"width": 400,
"height": 200,
"url": "https://obsidian.md"
}
Nós de Grupo
Grupos são contêineres visuais para organizar outros nós. Posicione os nós filhos dentro dos limites do grupo.
| Atributo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
label |
Não | string | Rótulo de texto para o grupo |
background |
Não | string | Caminho para a imagem de fundo |
backgroundStyle |
Não | string | cover, ratio ou repeat |
{
…
Perguntas frequentes
O que é um arquivo .canvas?
É um arquivo de texto que descreve um mapa visual, como um fluxograma ou mapa mental, usando um formato chamado JSON Canvas.
Como as ideias são conectadas?
As conexões são feitas através de 'arestas' que ligam os identificadores únicos de cada ideia (nó).
Posso usar cores?
Sim, você pode definir cores para os elementos usando números pré-definidos ou códigos de cores hexadecimais.
Detalhes
Descrição original do autor
Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections. Use when working with .canvas files, creating visual canvases, mind maps, flowcharts, or when the user mentions Canvas files in Obsidian.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3383
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
design-system
Ajuda seu agente a criar um sistema de design a partir de um código existente. Ele extrai informações visuais e verifica a consistência, gerando um relatório e uma prévia interativa.
affaan-m/ECC
liquid-glass-design
Ajuda seu agente a criar interfaces de usuário com efeito 'Liquid Glass' para iOS. Permite adicionar efeitos visuais dinâmicos e interativos em SwiftUI e UIKit.
affaan-m/ECC