visual-plan
BuilderIO/skills
Transforme planos de texto em documentos visuais interativos com diagramas, trechos de código e superfícies de revisão para agentes de programação.
...Expandir tudoPlanos Nativos de Agente
Os Planos Nativos de Agente são um modo de planejamento visual estruturado para agentes de codificação. Construa o plano que você normalmente escreveria em Markdown, mas como um documento escaneável com blocos editáveis intercalados: diagramas inline, trechos de código, perguntas em aberto e uma área de revisão visual superior opcional (canvas de wireframe, protótipo ao vivo ou ambos em abas). Os planos de arquitetura e backend permanecem apenas em documento; os planos de UI e produto começam com o canvas/protótipo superior (a seção Escolha de Superfície Visual é responsável por essa regra).
/visual-plan é o comando empacotado e o ponto de entrada principal. Escolha o modo de revisão na tarefa: UI-first quando o trabalho for principalmente de UI do produto e a revisão deve começar pelas telas, prototype-first quando a revisão deve começar com um protótipo funcional ao vivo, design-first quando a revisão precisar de telas de marca com fidelidade completa, ou visual-intake quando o usuário quiser explicitamente um questionário antes do planejamento. Quando já existe um plano do Codex, Claude Code, Markdown ou colado, /visual-plan usa esse plano fonte como ponto de partida e constrói a superfície de revisão a partir dele, em vez de começar do zero.
Quando Usar
Crie ou adapte um plano visual sempre que o plano fosse melhor como um artefato revisável do que um parágrafo de chat. Isso inclui trabalho modesto, como uma única superfície de UI com estados, um pequeno fluxo, uma mudança de produto antes/depois ou uma decisão de componente/API/formato de dados que precisa de alinhamento, além de trabalho maior, multi-arquivo, ambíguo, de longa duração, arriscado ou pesado em UI. Use-o quando arquitetura / fluxo de dados / direção da UI / opções / perguntas em aberto se beneficiariam de diagramas inline ou blocos estruturados, quando o usuário precisa reagir a uma direção antes da implementação ou quando um plano de texto existente precisa de uma superfície de revisão mais rica.
Disciplina do Plano
- Filtre com critério. Um plano visual é uma superfície de revisão mais rica, não apenas uma ferramenta para projetos gigantes. Use-o quando o usuário precisa ver, comparar, comentar ou aprovar uma direção antes do código, mesmo para uma mudança modesta de UI/estado/fluxo. Ignore-o para trabalho verdadeiramente trivial e sem ambiguidade — erros de digitação, correções de uma linha, uma única função bem especificada, qualquer coisa cujo diff você pudesse descrever em uma frase — e faça a mudança. Nunca encha um plano com preenchimento e nunca envie um plano de um único passo.
- Pesquise antes de rascunhar. Leia os arquivos reais, ações, esquemas e padrões primeiro; nomeie arquivos, símbolos e formatos de dados reais em vez de inventá-los. Verifique os
actions/existentes antes de propor endpoints e prefira helpers de cliente nomeados em vez de fetch bruto. Delegue exploração ampla a um sub-agente. Lidera com reutilização: para cada etapa, nomeie o que ele reutiliza — ações existentes, esquema, componentes, helpers — antes do que ele adiciona, para que o plano explique o delta genuinamente novo em vez de redescrever o que já existe. - Decida as apostas difíceis de reverter primeiro. Para trabalho de backend, dados ou API não trivial, esboce para onde o recurso está indo, depois destaque as decisões que são caras de desfazer uma vez que os dados ou chamadores dependam delas — formato de fio, ids públicos, formato do modelo de dados, limites de autenticação e propriedade — e acerte essas no plano, mesmo que a maior parte do recurso seja enviada depois. Em seguida, delimite o primeiro corte mais pequeno que prove a abordagem sem fechá-la, declarando tanto o que está incluído quanto o que está explicitamente adiado.
- Mantenha os exemplos na altitude certa. Quando a ideia do usuário for uma mudança de estrutura ampla, produto ou modelo operacional, não a reduza ao primeiro exemplo concreto, provedor ou caminho de sincronização que ele mencionar. Separe a abstração central dos exemplos motivadores e adaptadores de app/provedor. Use exemplos para tornar o plano legível, mas rotule-os como exemplos, a menos que sejam todo o escopo solicitado.
- Publique planos independentes. Se o usuário colou, referenciou ou já tem um plano do Codex / Claude Code / Markdown, trate-o como material fonte, mas reescreva o plano publicado como uma proposta independente limpa. Preserve a intenção útil e os fatos da base de código do plano fonte, rotule visuais inferidos como inferidos e evite linguagem de revisão como "preserve o plano anterior", "não descarte a ideia antiga", "diferente da versão anterior" ou "esta revisão altera...". Um leitor que nunca viu o chat ou rascunhos anteriores deve entender o plano.
- Torne a primeira leitura concreta. Se o plano for destinado a ser compartilhado com alguém fora do chat, ou se o conceito for abstrato, leve perto do topo um exemplo concreto de produto antes das tabelas de modo, arquitetura ou roteiros. Para conceitos com capacidade de UI, isso geralmente significa um estado de app de canvas superior que mostra o fluxo de trabalho real do usuário em termos de produto. Não dependa de frases que só fazem sentido na conversa e não enquadre o plano como "não é a ideia antiga"; declare o modelo positivo diretamente.
- Planejamento é somente leitura. Não faça edições de fonte enquanto constrói ou revisa o plano. Comece a editar apenas após o usuário aprovar a direção.
- Esclarecer vs. assumir. Não pergunte como construí-lo — explore e apresente a abordagem e as opções no plano. Faça uma pergunta de esclarecimento apenas quando uma ambiguidade alteraria o design e você não puder resolvê-la a partir do código; use o fluxo normal de ask-user-question do agente host e agrupe 2-4 perguntas de alto impacto antes de finalizar. Não chame
create-visual-questionspara esclarecimento comum ou pré-voo; reserve-o para o modo visual-intake quando o usuário pedir explicitamente um questionário de intake visual. Caso contrário, declare a suposição explicitamente e prossiga, e mantenha qualquer coisa não resolvida no único bloco inferiorquestion-formde Perguntas em Aberto do plano. Para planos complexos, faça uma passagem final de perguntas em aberto antes da entrega: se uma decisão afetaria a arquitetura, escopo, UX, formato de dados ou lançamento, decida-a no plano com justificativa ou coloque-a nesse formulário inferior com um padrão recomendado. - O plano é o gate de aprovação. Após expô-lo, peça ao usuário para revisar e aprovar antes de escrever código, e nomeie quais arquivos/áreas o trabalho toca. Apresentar o plano e solicitar a assinatura é a etapa de aprovação — não faça uma pergunta separada "isso parece bom?".
- O documento é a fonte da verdade, não o chat. Quando o escopo muda, atualize o plano com
update-visual-planem vez de apenas mudar de curso no chat, e faça o documento atualizado funcionar de forma independente. Não descreva a atualização como uma correção de um rascunho anterior dentro do próprio plano. Releia o plano aprovado antes das etapas principais.
Crie um Plano Estruturado Nativo de Agente — Nunca Inline
O entregável é SEMPRE um Plano Estruturado Nativo de Agente, não um plano apenas de chat. O conector Plan MCP hospedado (plan server, ou agent-native-plans legado) é a superfície de colaboração e comentários padrão; não é uma razão para rejeitar o padrão de planejamento como uma dependência externa ou camada alugada. Os planos são artefatos de fonte portáveis (plan.mdx, canvas.mdx / prototype.mdx opcionais, JSON e exportação HTML), e fluxos de trabalho sensíveis à propriedade podem usar o modo local-files ou um URL de app Plan auto-hospedado/personalizado sem abandonar a disciplina de revisão da habilidade. Não aconselhe o usuário a pular /visual-plan porque a superfície padrão é hospedada; escolha o modo Plan certo para as necessidades de propriedade, privacidade, compartilhamento e marca do usuário.
Por padrão, crie o plano via o conector Plan MCP e NUNCA o entregue como conteúdo de chat inline — sem prosa Markdown, esboço ASCII, tabela ou wireframe delimitado. Se as ferramentas plan (ou agent-native-plans legado) não estiverem visíveis, descubra-as através do tool_search do host primeiro; se ainda faltarem, PARE e dê ao usuário a etapa de reconexão específica do cliente em vez de improvisar um plano inline. Antes de publicar, ou sempre que um erro de conector ou autenticação aparecer, LEIA references/connection.md neste diretório de habilidades — é a única fonte da verdade para a regra never-inline, descoberta de conector e as etapas de reconexão por cliente. O modo de privacidade de arquivos locais (após o Guia de Ferramentas) é a exceção.
Fluxo de Trabalho Principal
Esta seção descreve o fluxo de trabalho padrão do Plan MCP hospedado. Se AGENT_NATIVE_PLANS_MODE=local-files estiver definido, ou o usuário pedir arquivos totalmente locais/sem gravações de Plan hospedado, use o Modo de Privacidade de Arquivos Locais em vez disso; mantenha apenas as orientações de pesquisa de código e composição de plano aqui.
- Siga o fluxo de planejamento normal do agente host: inspecione a base de código, delegue exploração ampla quando útil, reúna as informações necessárias e faça perguntas nativas de esclarecimento conforme necessário antes de gerar o plano. Se um plano fonte já existir, reúna seu texto exato da colagem do usuário, um arquivo referenciado ou contexto de agente visível recente; não invente texto fonte.
- Chame
get-plan-blockspara o catálogo de blocos autoritativo — não autorie a partir de tags memorizadas. Em seguida, chame a ferramenta de criação correspondente ao modo:create-visual-planpara planos primeiro em documento (arquitetura, backend, dados, refactor, API),create-ui-planpara planos primeiro em UI,create-prototype-planpara planos primeiro em protótipo,create-plan-designpara planos primeiro em design,create-visual-questionsapenas quando o usuário pedir explicitamente um questionário de intake visual. Quando um plano fonte já existir, passe-o comoplanTexte preserve a intenção útil do plano original enquanto produz um documento de plano independente, não um memorando de revisão. - Para planos de UI/produto, componha o canvas superior primeiro com os wireframes principais e estados anotados, depois escreva o documento com blocos nativos (veja
references/canvas.mdereferences/document-quality.md). Para planos de arquitetura de produto amplos com implicação voltada ao usuário, adicione um visual concreto "como isso parece no app" antes da arquitetura abstrata ou tabelas de modo. Mantenha o documento próximo ao plano de Markdown independente que o agente normalmente emitiria. Se um plano existente foi fornecido, mantenha os fatos e decisões corretos sem se referir ao rascunho anterior ou explicar como esta versão difere. Para planos não visuais, ignore a superfície visual superior (a Escolha de Superfície Visual abaixo é responsável pela regra) e coloque blocosdiagram,data-model,api-endpoint,diff,file-tree,codeeannotated-codediretamente ao lado da prosa relevante. O layout de documento amplo é propriedade do renderer e intencionalmente allowlisted: apenas superfícies de revisão de código literal (diff,annotated-code) e blocostabscom orientação vertical ou filhos semelhantes a diff se destacam mais do que a prosa. Mantenha os blocosapi-endpoint,openapi-spec,data-model,json-explorer,wireframe, pergunta ecustom-htmlno fluxo normal do documento, a menos que seu próprio renderer diga o contrário. - Exiba o link de Planos retornado ou o App MCP inline e peça ao usuário para revisar. Sempre inclua a URL real no chat para que a próxima etapa seja um clique em CLI ou outros hosts apenas de texto. Quando o host expuser um painel de navegador/preview embutido e uma ferramenta puder abrir URLs arbitrários lá, abra a URL do plano retornado automaticamente para revisão conveniente — uma conveniência e teste de fumaça, nunca a única entrega ou o modelo de acesso. Os planos devem carregar fora da caixa para o agente local e a sessão do navegador local; se um navegador embutido conectado não puder ler um plano local que uma verificação anônima/ferramenta possa ler, corrija a propriedade ou caminho de acesso do app/ação em vez de corrigir um plano manualmente. Para planos de alto risco (arquitetura, backend, dados, multi-arquivo ou arriscado), também inicie a passagem de auto-revisão em Auto-Revisão Antes da Entrega enquanto o usuário lê, em vez de bloquear a entrega nela.
- Para planos hospedados, chame
get-plan-feedbackantes de editar, após a revisão, após qualquer pausa longa e antes da resposta final. TrateanchorDetails, intenção do resolver, eventos de revisão recentes e quaisquer screenshots focados da entrega do navegador como a fonte da verdade para exatamente o que mudou e exatamente para o que cada comentário aponta. - Para planos hospedados, aplique alterações com
update-visual-plan, preferindocontentPatchesdirecionados. Trate o payloadcontentde nível superior como uma substituição completa, não uma mesclagem; não envie um objetocontentparcial para adicionar um canvas ou um bloco. Se uma substituição completa for inevitável, leia primeiro a fonte/conteúdo completo do plano, mantenha todos os blocos e superfícies visuais existentes e verifique a fonte/exportação depois para garantir que o corpo do documento não foi truncado. Quando o usuário quiser edições amigáveis ao controle de fonte, usepatch-visual-plan-sourcecontra os arquivos MDX em vez de regenerar o plano. - Para planos hospedados, exporte com
export-visual-planapenas quando o usuário quiser um recibo compartilhável ou artefatos de check-in de repositório.
Auto-Revisão Antes da Entrega
Para planos de alto risco — arquitetura, backend, modelo de dados, migração, multi-arquivo ou trabalho arriscado em geral — execute uma passagem de auto-revisão adversarial antes de tratar o plano como final. Ignore-o para planos pequenos, apenas de UI ou de decisão única onde o custo supera o valor. Mantenha a passagem barata e não bloqueante:
- Exiba o plano primeiro, revise em paralelo. Publique o link e deixe o usuário começar a ler, depois execute a revisão em paralelo — nunca faça o usuário esperar por isso.
- Revise o plano escrito; não re-pesquise. Critique o texto do plano e seus próprios blocos. O grounding já foi feito durante o rascunho, então a revisão verifica a saída em vez de reexplorar o repositório.
- Gere um revisor cético cujo único trabalho seja encontrar o que é fraco, faltando ou errado — não elogiar. Aponte-o para: decisões difíceis de reverter feitas implicitamente ou não feitas de todo (formato de fio, ids públicos, formato do modelo de dados, autenticação, propriedade); etapas não ancoradas em arquivos ou símbolos reais; um menu de opções onde o plano deveria se comprometer com uma; decisões óbvias faltando ("o que acontece quando X?", "por que não Y?"); e preenchimento ou preenchimento de um único passo.
- Corrigir vs. perguntar. Aplique correções claras você mesmo com
update-visual-plan``contentPatches— metas não claras, reivindicações não ancoradas, uma decisão faltante óbvia. Encaminhe chamadas de julgamento genuínas de volta ao usuário: adicione-as ao bloco inferior de Perguntas em Abertoquestion-formou agrupe-as no fluxo normal de ask-user-question. Não decida silenciosamente. - Não surpreenda o usuário no meio da leitura. Em um plano grande, aplique os patches antes do editor carregar; caso contrário, note brevemente que uma auto-revisão está em execução para que a mudança do plano sob ele seja esperada. Quando você responder novamente, resuma o que a revisão alterou e o que ela expôs para o usuário decidir.
Escolha de Superfície Visual
Escolha a superfície antes de criar o plano ou após ler o plano fonte. Não adicione chrome visual por padrão:
Para planos de UI/produto, o canvas superior é geralmente a superfície de revisão principal. Coloque os primeiros wireframes significativos lá, não enterrados como blocos do corpo do documento. Use múltiplas artboards de canvas quando os estados importam, como a visualização padrão, um menu de overflow ou popover, um painel lateral, carregamento ou erro. Coloque anotações curtas ao lado dos frames com targetId mais placement; mantenha detalhes de implementação, tradeoffs, mapas de arquivos, contratos de dados, riscos e verificação no corpo do documento abaixo do canvas.
Quando o usuário pedir um fluxo, storyboard, jornada, wireframe, canvas ou "como isso parece", trate isso como um pedido canvas-first. Faça uma artboard por estado visível ao usuário, conecte apenas transições adjacentes e use anotações de canvas curtas para as notas do produto. Não substitua um bloco diagram do corpo do documento pelo storyboard solicitado apenas porque diagramas HTML são mais rápidos de escrever; diagramas pertencem abaixo do canvas para mecânicas de backend, arquitetura ou explicação de fluxo de dados.
Mantenha wireframes de produto e diagramas explicativos/meta separados. Comece com telas puras que pareçam o estado do app em discussão, sem prosa de chamada ou notas de arquitetura embutidas na UI. Coloque setas, rótulos, contratos, fluxo de dados e explicações de modo em anotações separadas, diagramas de canvas separados ou o corpo do documento.
Quando o plano tocar um app existente, inspecione o shell/componentes atuais antes de desenhar. A primeira artboard deve parecer o app real na mesma densidade: sidebars existentes, posicionamento da toolbar, menus de overflow, chrome do app e chrome do agente do framework permanecem em seus lugares reais. Modele superfícies secundárias como estados separados, como um popover de overflow superior direito, sheet, painel, estado de carregamento ou AgentSidebar separado, em vez de inventar um inspector permanente ou dobrar o chrome do framework na UI do produto.
- Sem superfície visual para planos apenas de arquitetura, apenas de backend, migração de dados, apenas de cópia ou não visuais em geral. Não use o canvas superior para diagramas de arquitetura, mapas de dependência, planos de arquivo, contratos de API ou revisões apenas de fluxo de dados. Use um documento forte com diagramas inline locais apenas quando as relações precisarem de uma explicação visual, geralmente um diagrama espacial por recomendação ou decisão. Prefira regiões agrupadas, camadas, quadrantes, matrizes ou painéis antes/depois a uma cadeia de eixo único, a menos que a relação seja verdadeiramente sequencial.
- Apenas Canvas para uma tela estática, uma comparação antes/depois, um estado de componente, um pequeno popover ou uma direção visual que não requer clique. Coloque esses wireframes em
content.canvase omitacontent.prototype. - Canvas + protótipo para fluxos de UI multi-etapas, onboarding, wizards, fluxos de revisão/aprovação, mudanças de navegação ou qualquer coisa onde o revisor precise operar o comportamento. Mantenha os wireframes estáticos em
content.canvas, adicione o protótipo funcional alinhado emcontent.prototypee conte com as abas visuais superiores para alternar entre eles. - Prototype-first quando o usuário pedir para operar a UI ou quando a interação for a principal questão. Use
create-prototype-plan, que ainda preserva mocks estáticos onde útil.
Para planos mistos de canvas + protótipo, reutilize os mesmos rótulos reais, status do app e ids de tela em ambas as superfícies. O canvas é a referência estática inspecionável; o protótipo é a versão interativa desse mesmo fluxo, não uma direção de design separada.
Qualidade do Wireframe — leia references/wireframe.md
Os wireframes de recap/plan de UI devem atender a uma barra de qualidade rigorosa — chrome de largura total, barras inferiores fixadas, conteúdo real do produto, comparabilidade antes/depois, o preset surface correto, tokens --wf-* em vez de hex e sem tags //font. Antes de autoriar QUALQUER wireframe / <screen></screen> / WireframeBlock, LEIA references/wireframe.md neste diretório de habilidades — é a única fonte da verdade para a qualidade do wireframe HTML, compartilhada palavra por palavra com /visual-plan e /visual-recap. Não autorie wireframes da memória.
Canvas — leia references/canvas.md
O canvas é a única fonte da verdade para mockups de UI estática: o surface bloqueia a pegada de cada artboard, superfícies mistas se organizam em faixas, anotações são notas de designer de texto puro ancoradas por targetId/placement, e as edições são contentPatches cirúrgicos. Antes de autoriar ou editar QUALQUER canvas, artboard ou anotação, LEIA references/canvas.md neste diretório de habilidades — é a única fonte da verdade para as mecânicas de canvas/artboard. Não autorie layouts de canvas da memória. As artboards do canvas usam o mesmo caminho de wireframe HTML das telas WireframeBlock do corpo do documento: autorie <screen></screen> com um fragmento de HTML semântico. Não autorie filhos de kit-tree frescos como `,,oudentro das tags
Qualidade do Documento — leia references/document-quality.md
O documento é um plano técnico sério, não marketing: outcome-first, prosa-first, autocontido, construído com os blocos nativos certos, com perguntas em aberto em um único question-form inferior e uma verificação visual pré-entrega. Antes de autoriar o documento do plano, LEIA references/document-quality.md neste diretório de habilidades — é a única fonte da verdade para a barra de qualidade do documento. Não escreva o documento da memória.
Exemplar bom vs. ruim — leia references/exemplar.md
Para um exemplo trabalhado da barra — um ótimo plano primeiro em UI e /visual-plan, além dos anti-padrões a evitar — LEIA references/exemplar.md neste diretório de habilidades antes de autoriar um plano.
Guia de Ferramentas
create-visual-plan: inicie um plano visual estruturado por tarefa/execução de agente, ou importe um plano de texto existente passandoplanText;contentpode não incluir superfície visual, apenas canvas ou canvas + protótipo.create-ui-plan: inicie um plano primeiro em UI quando o trabalho for principalmente de UI do produto.create-prototype-plan: inicie um plano primeiro em protótipo com uma superfície de revisão superior funcional.create-plan-design: inicie um plano da aba Design de marca com fidelidade completa com uma aba Prototype correspondente opcional.convert-visual-plan-to-prototype: converta um canvas de wireframe HTML existente em um plano de protótipo.create-visual-questions: use apenas quando o usuário pedir explicitamente um questionário de intake visual, não como pré-voo/visual-plan.update-visual-plan: revise conteúdo, status ou comentários comcontentPatchesdirecionados (veja a etapa 6 do Fluxo de Trabalho Principal).read-visual-plan-source: leia o plano normalizado comoplan.mdx,canvas.mdxopcional,.plan-state.jsonopcional e JSON.patch-visual-plan-source: aplique patches AST de MDX granulares por bloco estável, artboard, anotação, componente ou id de nó de wireframe.import-visual-plan-source: crie ou substitua um plano a partir de uma pasta MDX.get-visual-plan: leia o plano estruturado atual, HTML exportado e anotações; também retorna a pasta MDX para fluxos de fonte.get-plan-feedback: leia feedback humano não consumido. Use-o com frequência; ele retorna threads agrupados, detalhes de âncora exatos, resolver esperado e payloads de eventos de revisão recentes para que os agentes possam agir apenas nos comentários destinados a eles.get-plan-blocks: resolva tags de blocos antes de autoriar — não memorize tags; chame isso primeiro para obter os nomes de tag autoritativos, campos obrigatórios e formas de prop do registro de blocos ao vivo.export-visual-plan: exporte HTML, fallback de Markdown, JSON estruturado e arquivos MDX para check-in de repositório.
Quando o usuário criticar a aparência ou estrutura de um plano, corrija o renderer ou esta habilidade — nunca edite manualmente um plano armazenado. Transforme o feedback em melhor orientação.
Modo de Privacidade de Arquivos Locais — leia references/local-files.md
Quando o usuário quiser nenhuma gravação de banco de dados de Plan hospedado — sem gravações de DB, sem publicação do Plan MCP, planejamento totalmente local/offline/privado, artefatos de fonte controlados por repositório ou AGENT_NATIVE_PLANS_MODE=local-files — não chame nenhuma ferramenta de Plan hospedada exceto a consulta de catálogo get-plan-blocks apenas de esquema. Autorie uma pasta MDX local e pré-visualize-a com plan local check / plan local serve / plan local verify. Antes de usar o modo local-files, LEIA references/local-files.md neste diretório de habilidades — é a única fonte da verdade para o contrato completo (consulta de catálogo, layout de pasta MDX, os comandos bridge locais e as ferramentas hospedadas que você não deve chamar). Mantenha apenas as orientações de pesquisa de código e composição de plano do Fluxo de Trabalho Principal; tudo hospedado é substituído pelo bridge local.
Interpretando âncoras de comentário
Esta seção aplica-se a planos hospedados com get-plan-feedback / update-visual-plan. No modo local-files, não chame ferramentas de feedback ou atualização hospedadas; interprete o feedback de arquivo/chat diretamente, edite os arquivos MDX, reexecute o comando bridge local check/serve/verify e reporte a nova URL local.
get-plan-feedback retorna âncoras ricas — leia-as antes de agir em qualquer comentário.
- Frames de coordenada.
targetX/targetYsão porcentagens dentro do elemento nomeado portargetSelector/targetKind.x/ynus são porcentagens de todo o documento do plano.canvasX/canvasYsão pixels brutos do mundo da board no canvas de design (tamanho da board fornecido quando disponível). - Pinos de wireframe. Âncoras em wireframes incluem
targetNodeIdetargetNodePath(ex.card > list > listItem "Acme Inc") identificando o nó do kit exato. UsetargetNodeIddiretamente com operações de patch de nó de wireframe; use valoresdata-design-idde artboards de design comupdate-design-element-style. Prefira o id/caminho do nó a coordenadas brutas; recorra a coordenadas mais a screenshot focada (o anel vermelho marca o ponto exato) apenas quando nenhum id de nó estiver presente. - Citações de texto. Resolva
textQuotecontra a prosa atual usandocontextBefore/contextAfterpara desambiguação. Seambiguous: true, pergunte ao usuário — não adivinhe qual ocorrência é pretendida. - Comentários desconectados.
get-plan-feedbacksinaliza threads cujo texto citado não existe mais comodetached(emdetachedThreads). Concilie-os com conteúdo reescrito — nunca os descarte silenciosamente. - Roteamento.
resolutionTargeté o único sinal de roteamento: aja emagent, tratehumancomo contexto apenas.@mentionssão pessoas a notificar, nunca um sinal de roteamento. - Estado de dois eixos. Marque cada comentário ingerido como consumido (
consumedCommentIdsemupdate-visual-plan). Definastatus=resolvedapenas em comentários direcionados a agente que você realmente abordou; deixe os comentários direcionados a humanos abertos.
Visibilidade e Compartilhamento
Use set-resource-visibility para alterar quem pode ver um plano (ex. público, login ou escopo de org). Use share-resource para conceder acesso a usuários ou funções específicos por email ou função. Restrinja a visibilidade antes de compartilhar qualquer plano que cubra trabalho não lançado ou privado — padronize para o escopo mais estreito que atenda à necessidade de revisão.
Configuração e Autenticação
Há duas formas de entrar nos Planos.
Agente de codificação (CLI). Instale uma vez com o CLI Agent-Native. O comando instala as habilidades dos Planos, registra o conector Plan MCP hospedado e executa auth/setup para os clientes locais selecionados na mesma etapa (um login de navegador único na configuração — isso é pretendido), para que a primeira chamada de ferramenta nesse cliente não bata em um muro OAuth:
npx @agent-native/core@latest skills add visual-plans
Depois disso, /visual-plan e /visual-recap são os dois comandos slash instalados. Se você precisar apenas de um comando, use skills add visual-plan ou skills add visual-recap em vez disso. Os outros modos de planejamento (create-ui-plan, create-prototype-plan, create-plan-design, create-visual-questions) são ferramentas MCP acessíveis a partir de /visual-plan, não comandos slash separados. Passe --no-connect para registrar o conector sem autenticar, depois execute npx @agent-native/core@latest connect https://plan.agent-native.com --client all quando estiver pronto, ou escolha um --client mais estreito. Auth e carregamento de ferramentas MCP são por config/sessão do cliente.
Navegador (pessoas com quem você compartilha). Abra o editor dos Planos e crie & edite sem cadastro — você trabalha como convidado. Faça login apenas quando quiser salvar ou compartilhar; fazer login reivindica os planos que você fez como convidado em sua conta.
Compartilhamento e comentários exigem uma conta: planos públicos/compartilhados são visíveis por qualquer pessoa com o link, mas comentar neles exige uma conta agent-native.
Para uso totalmente offline e sem conta, execute o app dos Planos localmente e sincronize planos para o seu repositório como MDX. Este modo local é um caminho avançado separado, não o fluxo hospedado padrão.
Se uma ferramenta dos Planos retornar needs auth, Unauthorized ou Session terminated, não continue tentando — pare e dê ao usuário a etapa de reconexão por cliente de references/connection.md, depois continue assim que o conector estiver disponível.
Padrão hospedado: conecte https://plan.agent-native.com/_agent-native/mcp. Não coloque segredos compartilhados em arquivos de habilidade.
---
name: visual-plan
description: Transform text plans into interactive visual documents with diagrams, code snippets, and review surfaces for coding agents.
---
# Agent-Native Plans
Agent-Native Plans is structured visual planning mode for coding agents. Build
the plan you would normally write in Markdown, but as a scannable document with
editable blocks mixed in: inline diagrams, code snippets,
open questions, and an optional top visual review area (wireframe canvas, live
prototype, or both in tabs). Architecture and backend plans stay document-only;
UI and product plans start with the top canvas/prototype (the Visual Surface
Choice section owns that rule).
`/visual-plan` is the packaged command and main entry point. Choose the review
mode from the task: UI-first when the work is primarily product UI and review
should start with screens, prototype-first when review should start with a
functional live prototype, design-first when review needs full-fidelity branded
screens, or visual-intake when the user explicitly wants a questionnaire before
planning. When a Codex, Claude Code, Markdown, or pasted plan already exists,
`/visual-plan` uses that source plan as the starting point and builds the review
surface from it instead of starting over.
## When To Use
Create or adapt a visual plan whenever the plan would be better as a reviewable
artifact than a chat paragraph. This includes modest work such as a single UI
surface with states, a small workflow, a before/after product change, or a
component/API/data-shape decision that needs alignment, plus larger multi-file,
ambiguous, long-running, risky, or UI-heavy work. Use it when architecture /
data flow / UI direction / options / open questions would benefit from inline
diagrams or structured blocks, when the user needs to react to a direction
before you implement, or when an existing text plan needs a richer review
surface.
## Plan Discipline
- **Gate thoughtfully.** A visual plan is a richer review surface, not only a
tool for giant projects. Use it when the user needs to see, compare, comment
on, or approve a direction before code, even for a modest UI/state/workflow
change. Skip it for truly trivial, unambiguous work — typos, one-line fixes, a
single well-specified function, anything whose diff you could describe in one
sentence — and just make the change. Never pad a plan with filler and never
ship a single-step plan.
- **Research before you draft.** Read the real files, actions, schema, and
patterns first; name actual files, symbols, and data shapes instead of
inventing them. Check existing `actions/` before proposing endpoints and prefer
named client helpers over raw fetch. Delegate wide exploration to a sub-agent.
Lead with reuse: for each step, name what it reuses — existing actions, schema,
components, helpers — before what it adds, so the plan explains the genuinely new
delta instead of redescribing what already exists.
- **Decide the hard-to-reverse bets first.** For non-trivial backend, data, or API
work, sketch where the feature is headed, then call out the decisions that are
expensive to undo once data or callers depend on them — wire format, public ids,
data-model shape, auth and ownership boundaries — and get those right in the plan
even if most of the feature ships later. Then scope to the smallest first cut that
proves the approach without foreclosing it, stating both what is in and what is
explicitly deferred.
- **Keep examples at the right altitude.** When the user's idea is a broad
framework, product, or operating-model change, do not collapse it into the
first concrete example, provider, or sync path they mention. Separate the core
abstraction from motivating examples and app/provider adapters. Use examples
to make the plan legible, but label them as examples unless they are the whole
requested scope.
- **Publish standalone plans.** If the user pasted, referenced, or already has a
Codex / Claude Code / Markdown plan, treat it as source material, but rewrite
the published plan as a clean standalone proposal. Preserve the source plan's
useful intent and codebase facts, label inferred visuals as inferred, and avoid
revision language such as "preserve the prior plan", "do not drop the old
idea", "unlike the previous version", or "this revision changes...". A reader
who never saw the chat or earlier drafts should understand the plan.
- **Make the first read concrete.** If the plan is meant to be shared with
someone outside the chat, or if the concept is abstract, lead near the top with
one concrete product example before mode tables, architecture, or roadmaps. For
UI-capable concepts, that usually means a top-canvas app state that shows the
real user workflow in product terms. Do not rely on phrases that only make
sense in conversation, and do not frame the plan as "not the old idea"; state
the positive model directly.
- **Planning is read-only.** Make no source edits while building or reviewing the
plan. Start editing only after the user approves the direction.
- **Clarify vs. assume.** Do not ask how to build it — explore and present the
approach and options in the plan. Ask a clarifying question only when an
ambiguity would change the design and you cannot resolve it from the code; use
the host agent's normal ask-user-question flow and batch 2-4 high-leverage
questions before finalizing. Do not call `create-visual-questions` for
ordinary clarification or preflight; reserve it for the visual-intake mode when
the user explicitly asks for a visual intake questionnaire. Otherwise state the
assumption explicitly and proceed, and keep anything unresolved in the plan's
single bottom `question-form` Open Questions block. For complex plans, do a
final open-question pass before handoff: if a decision would affect
architecture, scope, UX, data shape, or rollout, either decide it in the plan
with rationale or put it in that bottom form with a recommended default.
- **The plan is the approval gate.** After surfacing it, ask the user to review
and approve before you write code, and name which files/areas the work touches.
Presenting the plan and requesting sign-off is the approval step — do not ask a
separate "does this look good?" question.
- **The document is the source of truth, not the chat.** When scope shifts,
update the plan with `update-visual-plan` rather than only changing course in
chat, and make the updated document stand alone. Do not describe the update as
a correction to an earlier draft inside the plan itself. Re-read the approved
plan before major steps.
## Create A Structured Agent-Native Plan — Never Inline
The deliverable is ALWAYS a structured Agent-Native Plan, not a chat-only plan.
The hosted Plan MCP connector (`plan` server, or legacy `agent-native-plans`) is
the default collaboration and commenting surface; it is not a reason to reject
the planning pattern as an external dependency or rented layer. Plans are
portable source artifacts (`plan.mdx`, optional `canvas.mdx` /
`prototype.mdx`, JSON, and HTML export), and ownership-sensitive workflows can
use local-files mode or a self-hosted/custom Plan app URL without abandoning the
skill's review discipline. Do not advise the user to skip `/visual-plan` because
the default surface is hosted; choose the right Plan mode for the user's
ownership, privacy, sharing, and branding needs.
By default, create the plan via the Plan MCP connector and NEVER hand it over as
inline chat content — no Markdown prose, ASCII sketch, table, or fenced
wireframe. If the `plan` (or legacy `agent-native-plans`) tools are not visible,
discover them through the host's `tool_search` first; if they are still missing,
STOP and give the user the client-specific reconnect step rather than improvising
an inline plan. Before publishing, or whenever a connector or auth error appears,
READ `references/connection.md` in this skill directory — it is the single source
of truth for the never-inline rule, connector discovery, and the per-client
reconnect steps. Local-files privacy mode (after Tool Guidance) is the exception.
## Core Workflow
This section describes the default hosted Plan MCP workflow. If
`AGENT_NATIVE_PLANS_MODE=local-files` is set, or the user asks for fully local
files/no hosted Plan writes, use **Local-Files Privacy Mode** instead; carry
forward only the code-research and plan-composition guidance here.
1. Follow the host agent's normal planning flow: inspect the codebase, delegate
wide exploration when useful, gather the info needed, and ask native
clarifying questions as needed before generating the plan. If a source plan
already exists, gather its exact text from the user's paste, a referenced
file, or recent visible agent context; do not invent source text.
2. Call `get-plan-blocks` for the authoritative block catalog — do not author
from memorized tags. Then call the mode-matched create tool:
`create-visual-plan` for document-first plans (architecture, backend, data,
refactor, API), `create-ui-plan` for UI-first plans, `create-prototype-plan`
for prototype-first plans, `create-plan-design` for design-first plans,
`create-visual-questions` only when the user explicitly asks for a visual
intake questionnaire. When a source plan already exists,
pass it as `planText` and preserve the original plan's useful intent while
producing a standalone plan document, not a revision memo.
3. For UI/product plans, compose the top canvas first with the primary
wireframes and annotated states, then write the document with native blocks
(see `references/canvas.md` and `references/document-quality.md`). For
broad product architecture plans with a user-facing implication, add a
concrete "what this looks like in the app" visual before the abstract
architecture or mode tables. Keep the document close to the standalone
Markdown plan the agent would normally output. If an existing plan was
provided, carry forward the right facts and decisions without referring to
the previous draft or explaining how this version differs. For non-visual
plans, skip the top visual surface (Visual Surface Choice below owns the rule)
and put `diagram`, `data-model`,
`api-endpoint`, `diff`, `file-tree`, `code`, and `annotated-code` blocks
directly next to the relevant prose.
Wide document layout is renderer-owned and intentionally allowlisted: only
literal code-review surfaces (`diff`, `annotated-code`) and `tabs` blocks
with vertical orientation or diff-like children break out wider than prose.
Keep `api-endpoint`, `openapi-spec`, `data-model`, `json-explorer`,
`wireframe`, question, and `custom-html` blocks in normal document flow unless
their own renderer says otherwise.
4. Surface the returned Plans link or inline MCP App and ask the user to review.
Always include the actual URL in chat so the next step is a click in CLI or
other text-only hosts. When the host exposes an embedded browser/preview panel
and a tool can open arbitrary URLs there, open the returned plan URL
automatically for convenient review — a convenience and smoke test, never the
only handoff or the access
model. Plans should load out of the box for the local agent and local browser
session; if a signed-in embedded browser cannot read a local plan that an
anonymous/tool check can read, fix the app/action ownership or access path
rather than patching one plan by hand. For high-stakes plans (architecture,
backend, data, multi-file, or risky), also kick off the self-review pass in
**Self-Review Before Handoff** while the user reads, instead of blocking the
handoff on it.
5. For hosted plans, call `get-plan-feedback` before editing, after review,
after any long pause,
and before the final response. Treat `anchorDetails`, resolver intent, recent
review events, and any focused screenshots from browser handoff as the source
of truth for exactly what changed and exactly what each comment points at.
6. For hosted plans, apply changes with `update-visual-plan`, preferring
targeted `contentPatches`.
Treat the top-level `content` payload as a full replacement, not a merge; do
not send a partial `content` object to add a canvas or one block. If a full
replacement is unavoidable, first read the complete plan source/content, carry
forward every existing block and visual surface, and verify the source/export
afterward so the document body was not truncated. When the user wants
source-control friendly edits, use `patch-visual-plan-source` against the MDX
files instead of regenerating the plan.
7. For hosted plans, export with `export-visual-plan` only when the user wants a
shareable receipt or repo-check-in artifacts.
## Self-Review Before Handoff
For high-stakes plans — architecture, backend, data-model, migration, multi-file,
or otherwise risky work — run one adversarial self-review pass before treating the
plan as final. Skip it for small, UI-only, or single-decision plans where the cost
outweighs the value. Keep the pass cheap and non-blocking:
- **Surface the plan first, review concurrently.** Post the link and let the user
start reading, then run the review in parallel — never make the user wait on it.
- **Review the written plan; do not re-research.** Critique the plan text and its
own blocks. The grounding was already done while drafting, so the review checks
the output instead of re-exploring the repo.
- **Spawn one skeptical reviewer** whose only job is to find what is weak, missing,
or wrong — not to praise. Point it at: hard-to-reverse decisions made implicitly
or not at all (wire format, public ids, data-model shape, auth, ownership); steps
not anchored in real files or symbols; a menu of options where the plan should
commit to one; obvious missing decisions ("what happens when X?", "why not Y?");
and padding or single-step filler.
- **Fix vs. ask.** Apply clear-cut fixes yourself with `update-visual-plan`
`contentPatches` — vague non-goals, unanchored claims, an obvious missing
decision. Route genuine judgment calls back to the user instead: add them to the
bottom `question-form` Open Questions block or batch them into the normal
ask-user-question flow. Do not silently decide them.
- **Do not surprise the user mid-read.** On a large plan, apply the patches before
the editor loads; otherwise note briefly that a self-review is running so the
plan changing under them is expected. When you next respond, summarize what the
review changed and what it surfaced for the user to decide.
## Visual Surface Choice
Choose the surface before creating the plan or after reading the source plan. Do
not add visual chrome by default:
For UI/product plans, the top canvas is usually the primary review surface. Put
the first meaningful wireframes there, not buried as document-body blocks. Use
multiple canvas artboards when states matter, such as the default view, an
overflow menu or popover, a side panel, loading, or error. Put short annotations
beside frames with `targetId` plus `placement`; keep implementation details,
tradeoffs, file maps, data contracts, risks, and verification in the document
body below the canvas.
When the user asks for a flow, storyboard, journey, wireframe, canvas, or "what
this looks like", treat that as a canvas-first request. Make one artboard per
user-visible state, connect only adjacent transitions, and use short canvas
annotations for the product notes. Do not substitute a document-body `diagram`
block for the requested storyboard just because HTML diagrams are faster to
write; diagrams belong below the canvas for backend mechanics, architecture, or
data-flow explanation.
Keep product wireframes and explanatory/meta diagrams separate. Start with pure
screens that look like the app state under discussion, without callout prose or
architecture notes embedded inside the UI. Put arrows, labels, contracts, data
flow, and mode explanations in separate annotations, separate canvas diagrams,
or the document body.
When the plan touches an existing app, inspect the current shell/components
before drawing. The first artboard should look like the real app at the same
density: existing sidebars, toolbar placement, overflow menus, app chrome, and
framework agent chrome stay in their real places. Model secondary surfaces as
separate states, such as a top-right overflow popover, sheet, panel, loading
state, or separate AgentSidebar, rather than inventing a permanent inspector or
folding framework chrome into the product UI.
- **No visual surface** for architecture-only, backend-only, data migration,
copy-only, or otherwise non-visual plans. Do not use the top canvas for
architecture diagrams, dependency maps, file plans, API contracts, or
data-flow-only reviews. Use a strong document with local inline diagrams
only when relationships need a visual explanation, usually one spatial diagram
per recommendation or decision. Prefer grouped regions, layers, quadrants,
matrices, or before/after panels over a single-axis chain unless the
relationship is truly sequential.
- **Canvas only** for one static screen, a before/after comparison, a component
state, a small popover, or a visual direction that does not require clicking.
Put those wireframes in `content.canvas` and omit `content.prototype`.
- **Canvas + prototype** for multi-step UI flows, onboarding, wizards,
review/approval flows, navigation changes, or anything where the reviewer
needs to operate the behavior. Keep the static wireframes in
`content.canvas`, add the aligned functional prototype in
`content.prototype`, and rely on the top visual tabs to switch between them.
- **Prototype-first** when the user asks to operate the UI or when interaction is
the main question. Use `create-prototype-plan`, which still preserves static
mocks where useful.
For mixed canvas + prototype plans, reuse the same real labels, app statuses,
and screen ids across both surfaces. The canvas is the inspectable static reference;
the prototype is the interactive version of that same flow, not a separate
design direction.
## Wireframe quality — read `references/wireframe.md`
UI recap/plan wireframes must meet a strict quality bar — full-width chrome,
pinned bottom bars, real product content, before/after comparability, the right
`surface` preset, `--wf-*` tokens instead of hex, and no `<html>`/`<style>`/font
tags. Before authoring ANY wireframe / `<Screen>` / `WireframeBlock`, READ
`references/wireframe.md` in this skill directory — it is the single source of
truth for HTML wireframe quality, shared word for word with `/visual-plan`
and `/visual-recap`. Do not author wireframes from memory.
## Canvas — read `references/canvas.md`
The canvas is the single source of truth for static UI mockups: the `surface`
locks each artboard's footprint, mixed surfaces lay out
in lanes, annotations are plain-text designer notes anchored by
`targetId`/`placement`, and edits are surgical `contentPatches`. Before
authoring or editing ANY canvas, artboard, or annotation, READ
`references/canvas.md` in this skill directory — it is the single source of truth
for canvas/artboard mechanics. Do not author canvas layouts from memory.
Canvas artboards use the same HTML wireframe path as document-body
`WireframeBlock` screens: author `<Screen surface="..." html={...} />` with a
semantic HTML fragment. Do not author fresh kit-tree children such as
`<FrameScreen>`, `<Card>`, `<Row>`, or `<Btn>` inside canvas `<Screen>` tags;
those are legacy compatibility markup for old plans and produce brittle canvas
layouts.
## Document quality — read `references/document-quality.md`
The document is a serious technical plan, not marketing: outcome-first,
prose-first, self-contained, built from the right native blocks, with open
questions in a single bottom `question-form` and a pre-handoff visual check.
Before authoring the plan document, READ `references/document-quality.md` in this
skill directory — it is the single source of truth for the document quality bar.
Do not write the document from memory.
## Good vs. bad exemplar — read `references/exemplar.md`
For a worked example of the bar — a great UI-first plan and `/visual-plan`, plus
the anti-patterns to avoid — READ `references/exemplar.md` in this skill
directory before authoring a plan.
## Tool Guidance
- `create-visual-plan`: start one structured visual plan per agent task/run, or
import an existing text plan by passing `planText`; `content` may include no
visual surface, canvas only, or canvas + prototype.
- `create-ui-plan`: start a UI-first plan when the work is primarily product UI.
- `create-prototype-plan`: start a prototype-first plan with a functional top
review surface.
- `create-plan-design`: start a full-fidelity branded Design-tab plan with an
optional matching Prototype tab.
- `convert-visual-plan-to-prototype`: convert an existing HTML wireframe canvas
into a prototype plan.
- `create-visual-questions`: use only when the user explicitly asks for a visual
intake questionnaire, not as `/visual-plan` preflight.
- `update-visual-plan`: revise content, status, or comments with targeted
`contentPatches` (see Core Workflow step 6).
- `read-visual-plan-source`: read the normalized plan as `plan.mdx`,
optional `canvas.mdx`, optional `.plan-state.json`, and JSON.
- `patch-visual-plan-source`: apply granular MDX AST patches by stable block,
artboard, annotation, component, or wireframe-node id.
- `import-visual-plan-source`: create or replace a plan from an MDX folder.
- `get-visual-plan`: read the current structured plan, exported HTML, and
annotations; it also returns the MDX folder for source workflows.
- `get-plan-feedback`: read unconsumed human feedback. Use it frequently; it
returns grouped threads, exact anchor details, expected resolver, and recent
review-event payloads so agents can act only on the comments meant for them.
- `get-plan-blocks`: resolve block tags before authoring — do not memorize tags;
call this first to get the authoritative tag names, required fields, and prop
shapes from the live block registry.
- `export-visual-plan`: export HTML, Markdown fallback, structured JSON, and MDX
files for repo check-in.
When the user critiques a plan's look or structure, fix the renderer or this
skill — never hand-edit one stored plan. Turn feedback into better guidance.
## Local-Files Privacy Mode — read `references/local-files.md`
When the user wants no hosted Plan database writes — no DB writes, no Plan MCP
publish, fully local/offline/private planning, repo-owned source-controlled
artifacts, or `AGENT_NATIVE_PLANS_MODE=local-files` — do not call any hosted Plan
tool except the schema-only `get-plan-blocks` catalog lookup. Author a local MDX
folder and
preview it with `plan local check` / `plan local serve` / `plan local verify`.
Before using local-files mode, READ `references/local-files.md` in this skill
directory — it is the single source of truth for the full contract (catalog
lookup, MDX folder layout, the local bridge commands, and the hosted tools you
must not call). Carry forward only the code-research and plan-composition
guidance from Core Workflow; everything hosted is replaced by the local bridge.
## Interpreting comment anchors
This section applies to hosted plans with `get-plan-feedback` /
`update-visual-plan`. In local-files mode, do not call hosted feedback or update
tools; interpret file/chat feedback directly, edit the MDX files, rerun the
local bridge check/serve/verify command, and report the new local URL.
`get-plan-feedback` returns rich anchors — read them before acting on any comment.
- **Coordinate frames.** `targetX`/`targetY` are percentages *within* the
element named by `targetSelector`/`targetKind`. Bare `x`/`y` are percentages
of the whole plan document. `canvasX`/`canvasY` are raw board-world pixels on
the design canvas (board size given when available).
- **Wireframe pins.** Anchors on wireframes include `targetNodeId` and
`targetNodePath` (e.g. `card > list > listItem "Acme Inc"`) identifying the
exact kit node. Use `targetNodeId` directly with wireframe node patch ops;
use `data-design-id` values from design artboards with
`update-design-element-style`. Prefer the node id/path over raw coordinates;
fall back to coordinates plus the focused screenshot (red ring marks the exact
point) only when no node id is present.
- **Text quotes.** Resolve `textQuote` against current prose using
`contextBefore`/`contextAfter` for disambiguation. If `ambiguous: true`, ask
the user — do not guess which occurrence is meant.
- **Detached comments.** `get-plan-feedback` flags threads whose quoted text no
longer exists as `detached` (in `detachedThreads`). Reconcile these against
rewritten content — never silently drop them.
- **Routing.** `resolutionTarget` is the only routing signal: act on `agent`,
treat `human` as context only. `@mentions` are people to notify, never a
routing signal.
- **Two-axis state.** Mark every ingested comment as consumed
(`consumedCommentIds` on `update-visual-plan`). Set `status=resolved` only on
agent-targeted comments you actually addressed; leave human-targeted comments
open.
## Visibility & Sharing
Use `set-resource-visibility` to change who can see a plan (e.g. public, login,
or org-scoped). Use `share-resource` to grant specific users or roles access
by email or role. Gate visibility before sharing any plan that covers
unreleased or private work — default to the narrowest scope that meets the
review need.
## Setup & Authentication
There are two ways into Plans.
**Coding agent (CLI).** Install once with the Agent-Native CLI. The command
installs the Plans skills, registers the hosted Plans MCP connector, and runs
auth/setup for the selected local client(s) in the same step (a one-time browser
sign-in at setup — this is intended), so the first tool call in that client does
not hit an OAuth wall:
```bash
npx @agent-native/core@latest skills add visual-plans
```
After that, `/visual-plan` and `/visual-recap` are the two installed slash
commands. If you only need one command, use `skills add visual-plan` or
`skills add visual-recap` instead. The other planning modes
(`create-ui-plan`, `create-prototype-plan`, `create-plan-design`,
`create-visual-questions`) are MCP tools reachable from `/visual-plan`, not
separate slash commands. Pass `--no-connect` to register the connector without
authenticating, then run
`npx @agent-native/core@latest connect https://plan.agent-native.com --client all`
whenever you are ready, or choose a narrower `--client`. Auth and MCP tool
loading are per client config/session.
**Browser (people you share with).** Open the Plans editor and create & edit
with no sign-up — you work as a guest. Sign in only when you want to save or
share; signing in claims the plans you made as a guest into your account.
Sharing and commenting require an account: public/shared plans are viewable by
anyone with the link, but commenting on them needs an agent-native account.
For fully offline, no-account use, run the Plans app locally and sync plans to
your repo as MDX. This local mode is a separate advanced path, not the default
hosted flow.
If a Plans tool returns `needs auth`, `Unauthorized`, or `Session terminated`, do
not keep retrying it — stop and give the user the per-client reconnect step from
`references/connection.md`, then continue once the connector is available.
Hosted default: connect `https://plan.agent-native.com/_agent-native/mcp`. Do
not put shared secrets in skill files.
Todos os arquivos
0 arquivosInstalar visual-plan
Baixe e extraia os arquivos de habilidade para o diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/BuilderIO/skills/tree/main/skills/visual-plan # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
