Go Public
Objetivo: o fluxo de trabalho que o usuário acabou de executar com você se torna um link que funciona para qualquer pessoa: eles abrem, preenchem a entrada, pressionam Executar e obtêm o mesmo tipo de resultado. Visitantes não precisam de conta. A página é executada com uma pequena cota diária gratuita de IA que a página carrega consigo.
Tudo acontece através de share.py na pasta desta skill (Python 3, biblioteca padrão). <skill> abaixo significa a pasta desta skill.
1. Fixar o fluxo de trabalho (pergunte, não adivinhe)
A partir da conversa, escreva em 3–6 linhas e mostre ao usuário:
- O visitante fornece: cada entrada (uma caixa de texto, um campo de uma linha ou uma seleção de uma lista).
- Etapas: cada chamada de IA na ordem e o que ela faz. A maioria dos fluxos de trabalho tem 1–3 etapas. Use os prompts que realmente funcionaram nesta conversa, escritos de forma que façam sentido sem nenhuma conversa ao redor.
- O visitante obtém: quais resultados das etapas são mostrados.
- Título e uma descrição de uma frase que um estranho entenda.
Peça ao usuário para confirmar ou corrigir. Pergunte também em que idioma a página deve estar, se não for óbvio.
Não construa páginas que peçam senhas, pagamento ou detalhes de cartão, códigos de uso único ou finjam ser outra empresa ou pessoa. Não coloque dados privados da conversa (nomes, e-mails, números internos) em prompts ou exemplos; use exemplos inventados.
2. Escrever workflow.json
Na pasta atual do usuário. Formato:
{
"title": "Anotações de reunião → e-mail de acompanhamento",
"description": "Cole anotações informais de uma reunião. Obtenha as decisões, responsáveis e um e-mail de acompanhamento curto.",
"inputs": [
{"id": "notes", "label": "Suas anotações da reunião", "type": "textarea", "placeholder": "Bagunçado é ok…"},
{"id": "tone", "label": "Tom", "type": "select", "options": ["Amigável", "Formal"]}
],
"steps": [
{"id": "facts", "prompt": "Liste as decisões, itens de ação (responsável — tarefa — data de vencimento) e perguntas em aberto. Use apenas o que as anotações dizem. Texto simples, sem Markdown.", "input": "{{notes}}", "show": true, "label": "O que foi decidido"},
{"id": "email", "prompt": "Escreva um e-mail de acompanhamento em tom {{tone}}, com menos de 150 palavras. Texto simples, sem Markdown.", "input": "{{facts}}", "show": true, "label": "E-mail de acompanhamento"}
],
"examples": [{"label": "Sincronização de produto", "values": {"notes": "lançamento adiado para 2 de dezembro devido a bug no pagamento. raj corrige o bug até sex…", "tone": "Amigável"}}]
}
Regras:
type:textarea(padrão),textouselect(precisa deoptions). As entradas são obrigatórias, a menos que"required": false.{{id}}emprompt,systemouinputé substituído por uma entrada ou pela resposta de uma etapa anterior. Coloque o texto do visitante eminput, a instrução emprompt; umsystemopcional define função e regras.show: trueexibe essa etapa. Etapas ocultas são adequadas para trabalho intermediário. A última etapa exibida é transmitida em streaming.maxTokenspor etapa, padrão 800 (também o limite da página).- Dê sempre pelo menos um exemplo: os visitantes clicam nele para ver a página funcionar antes de digitar.
- As respostas são mostradas como texto simples, portanto
**negrito**aparece como asteriscos. Termine o prompt de cada etapa exibida com "Texto simples, sem Markdown." e use traços simples para listas.
3. Verificar e testar de verdade
python3 <skill>/share.py check workflow.json
python3 <skill>/share.py try workflow.json # executa o exemplo 1 através da IA real, imprime cada etapa
Leia a saída como um estranho faria. Se uma etapa for vaga, errada ou muito longa, corrija o prompt e execute try novamente. Mostre ao usuário a saída final do exemplo antes de publicar.
4. Construir e publicar
python3 <skill>/share.py build workflow.json page.html
python3 <skill>/share.py publish page.html
publish imprime o link público. Ele salva o ID da página e um token de edição privado em .go-public.json (e o adiciona ao .gitignore em um repositório git). Diga ao usuário:
- o link, pronto para enviar a qualquer pessoa;
- que
.go-public.jsoné o que permite alterar ou remover a página posteriormente, então mantenha-o e não o compartilhe.
Não edite page.html manualmente: altere workflow.json e construa novamente.
5. Alterar ou remover posteriormente
Edite workflow.json, depois execute build e publish novamente na mesma pasta: mesmo link, novo conteúdo. python3 <skill>/share.py delete a remove.
Limites a declarar honestamente quando surgirem
- Cada página tem uma cota gratuita de IA por dia e um limite de taxa por visitante (impresso por
publish). Quando uma página movimentada fica sem cota, ela informa e funciona novamente no dia seguinte. - Se o usuário perguntar como aumentar o limite ou ver o uso: o
claim_urlem.go-public.jsonpermite que ele reivindique a página. Ele insere um e-mail, confirma na caixa de entrada, e a página passa a ser executada com a cota própria da conta. Mencione isso apenas quando perguntarem ou a cota acabar. A pequena marca "Feito com OneTag · Denunciar" permanece em todas as páginas. - Visitantes podem denunciar uma página; uma página denunciada por várias pessoas é removida para revisão.
- A página não pode carregar imagens, fontes ou bibliotecas externas, e não tem armazenamento ou login: é um formulário, etapas de IA e resultados.