O que opentag faz?
OpenTag transforma menções no espaço de trabalho como @opentag corrija isso em execuções auditáveis de agentes. Use esta skill para ajudar um usuário a configurar o caminho do evento do espaço de trabalho até o dispatcher, runner local, executor e callback.
Roteie a Solicitação
Leia apenas a referência necessária para o caminho do usuário:
- Teste local de fumaça ou primeira configuração:
references/local-echo.md - Menções em issues ou PRs do GitHub:
references/github-setup.md - Menções do app Slack:
references/slack-setup.md - Execução real de código ou criação de PR:
references/codex-runner.md - Execuções quebradas, callbacks perdidos, execuções rejeitadas ou erros de autenticação:
references/troubleshooting.md
Se o usuário solicitar mais de um caminho, configure e verifique o menor loop funcional primeiro, depois adicione o próximo adaptador.
Regras de Trabalho
- Prefira o loop echo local antes de agentes reais ou callbacks ao vivo, a menos que o usuário já tenha um dispatcher e runner funcionando.
- Mantenha a configuração explícita: não invente proprietários de repositórios, nomes de repositórios, caminhos de checkout, tokens, IDs do Slack ou URLs do dispatcher.
- Não adicione comportamento de fallback. Valores obrigatórios ausentes devem interromper a configuração com uma lista clara do que está faltando.
- Trate
opentagdcomo autoridade de execução local. Ele deve reivindicar apenas repositórios listados em sua configuração. - Use
echopara testes de fumaça não destrutivos ecodexapenas quando o usuário desejar execução real de código. - Separe as camadas de prova: saúde do dispatcher, registro do runner, ligação de repositório ou Slack, criação de execução, execução do daemon e entrega de callback.
Fluxo de Trabalho de Configuração
-
Identifique o loop alvo. Conclusão: um loop é nomeado:
local-echo,github,slackoucodex-runner. -
Colete os fatos necessários. Conclusão: a resposta inclui todos os valores ausentes, ou todos os valores obrigatórios estão disponíveis.
-
Escreva ou atualize a configuração mínima. Conclusão: a configuração contém apenas os campos necessários para o loop selecionado e usa o repositório/canal/checkouts reais do usuário.
-
Registre as ligações antes de criar execuções. Conclusão: o runner está registrado, os repositórios estão ligados e os canais do Slack estão ligados quando o Slack está no escopo.
-
Verifique uma execução real. Conclusão: a execução é visível através do dispatcher, tem eventos de auditoria e termina como concluída ou falha com um erro específico.
-
Relate o resultado. Conclusão: informe ao usuário o que foi configurado, qual comando comprovou e o que permanece não configurado.
Padrões de Comando
Use estes padrões a menos que o projeto tenha mudado:
- App Dispatcher:
pnpm --filter @opentag/dispatcher-app dev - App Daemon local:
pnpm --filter @opentag/opentagd dev -- <comando> - App Slack Events:
pnpm --filter @opentag/slack-events dev - URL do Dispatcher:
http://localhost:3030 - Caminho da URL do Slack Events:
/slack/events - Payload de execução de exemplo:
examples/github-to-echo/run.example.json
Antes de executar comandos de pacote neste repositório, use Node 22.x e instale as dependências se necessário.