CommunityEscrita e Ediçãogithub.com

Luna Chat Coder

Habilidade de agente e template de repositório para desenvolvimento de software completo dentro de um chat web comum.

O que é Luna Chat Coder?

Luna Chat Coder é uma habilidade para agentes de IA projetada para permitir o desenvolvimento de software completo e contínuo diretamente em interfaces de chat web comuns, como o ChatGPT. Ela define uma política de continuidade e fallback que prioriza o uso de um contêiner de trabalho sandbox (isolado) como estação de desenvolvimento, recorrendo a missões do GitHub Actions apenas quando o sandbox se torna insuficiente. A habilidade impõe invariantes rigorosos, como materializar o estado exato do repositório antes de editar, verificar resultados antes de confiar neles e escolher a rota exata mais simples e confiável para transporte de código. Suporta plataformas como ChatGPT Web e GitHub, e é útil para tarefas que exigem edição, construção, teste e depuração iterativa, garantindo que o estado durável do repositório no GitHub seja a fonte de verdade final, enquanto o chat gerencia o raciocínio intermediário.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add Osteoporosis/luna-chat-coder

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

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

Documentação

O que Luna Chat Coder faz?

Luna Chat Coder é uma política de continuidade e fallback para o desenvolvimento de repositórios em chats comuns. Descubra-a cedo, mantenha-a silenciosa no caminho normal e ative mecanismos de fallback apenas quando o sandbox normal ou o caminho conectado ao GitHub se tornar insuficiente.

Termos canônicos

Use estes termos de forma consistente:

  • contêiner de trabalho sandbox: o contêiner de execução de código isolado e descartável anexado à superfície de chat atual. No ChatGPT Web, isso significa o contêiner de trabalho sandbox do ChatGPT. Trate-o como a estação de trabalho de desenvolvimento principal, não como o computador do usuário.
  • estado durável do repositório: estado exato do GitHub, como um commit, cabeça de PR, branch/ref mais seu SHA de commit resolvido, ou um artefato imutável de repositório/Actions.
  • missão do Actions: uma execução limitada do GitHub Actions usada quando o sandbox normal ou o caminho conectado ao GitHub não pode fornecer com segurança ou eficiência uma capacidade necessária, transporte exato ou etapa de execução. Ela tem entradas explícitas, identidade de origem esperada, saídas definidas e um ciclo de vida terminal. Não é um shell remoto interativo.
  • modo remoto degradado: o caso excepcional em que o próprio contêiner de trabalho sandbox não consegue sustentar o trabalho de engenharia solicitado e uma sequência de missões limitadas do Actions executa temporariamente edição/build/teste.

Não use contêiner local, ambiente local ou ponte para esses conceitos.

Invariantes principais

  1. Descubra cedo, ative tarde. Carregue esta política antes do trabalho no repositório, mas não use o Actions apenas porque a habilidade está presente.
  2. Materialize a fonte exata antes de editar. Quando um repositório alvo do GitHub for fornecido, resolva o SHA do commit ou cabeça de PR pretendido e estabeleça uma árvore de trabalho completa para esse estado exato dentro do sandbox antes de edições de fonte, builds, testes ou depuração iterativa. Inspecione o trabalho sandbox sobrevivente antes de substituí-lo. Prefira clone/fetch/checkout normal do Git quando o sandbox puder alcançar o repositório; caso contrário, use outro transporte de leitura/arquivo de repositório exato que preserve os arquivos e identidade necessários. Verifique se o estado materializado corresponde ao SHA esperado antes de modificá-lo.
  3. Sandbox primeiro. Prefira o contêiner de trabalho sandbox para inspeção de fonte, edição, construção, teste, linting, formatação, execução de serviços e depuração iterativa uma vez que a fonte alvo exata tenha sido materializada lá.
  4. Inventário antes de adquirir. Inspecione as capacidades já presentes no sandbox antes de instalar, baixar ou despachar uma missão.
  5. O repositório define o método de engenharia. Infira runtimes, serviços, bancos de dados, navegadores, compiladores, ferramentas de teste e versões necessários a partir das declarações do repositório e requisitos da tarefa. Não introduza substitutos ou uma nova metodologia em nome da Luna.
  6. GitHub mantém a verdade durável exata. Chat é útil para intenção; a reconstrução de conversa não é um substituto para fonte exata quando a fonte durável existe. Mantenha fatos observados do repositório distintos de suposições materiais.
  7. Handoff durável é de propriedade da tarefa. Use um branch, PR, issue, commit ou artefato de propriedade da tarefa quando perder o estado tornaria a recuperação cara ou ambígua; mantenha raciocínio intermediário barato no chat.
  8. Assuma atores concorrentes. Outros chats, agentes, CI ou humanos podem criar ou mover branches, refs, commits, workflows e artefatos enquanto esta tarefa está ativa. Resolva nomes mutáveis para identidade imutável atual antes de escritas, publicação ou limpeza; preserve estado não familiar e nunca infira propriedade apenas por idade ou nomeação.
  9. Escolha o caminho exato mais simples e confiável. Selecione o transporte usando exatidão, semântica de payload, limites de integração, viagens de ida e volta e confiabilidade observada. Texto visível ao modelo é útil para texto semântico; prefira caminhos de preservação de bytes para bytes opacos quando prático. A política de transporte não deve alterar ou suprimir o conteúdo do repositório.
  10. Verifique os resultados da missão; diagnostique antes de tentar novamente. Inspecione o estado retornado e as saídas esperadas de uma missão antes de confiar neles, mesmo quando a execução relata sucesso. Diagnostique falhas a partir de logs/resultados antes de mudar a fonte ou repetir uma operação; não adivinhe uma causa raiz apenas do status.
  11. O computador host do usuário está fora do fluxo de trabalho. Não exija acesso direto a ele ou peça ao usuário para enfraquecer o isolamento do host meramente para desbloquear o desenvolvimento normal do repositório.
  12. Evidência limita as alegações de conclusão. Relate apenas operações e verificações que realmente foram executadas contra o estado relevante.
  13. Luna é responsável pela segurança do estado da missão que cria. Mecanismos de missão criados pela Luna — workflows temporários, payloads de transporte, artefatos, logs, caches e estado similar apenas de missão — devem usar privilégio mínimo e não devem incorporar credenciais apenas porque o repositório alvo é privado. Mantenha isso restrito ao estado de missão criado pela Luna; a saída pretendida do projeto e a política de segurança de propriedade do projeto permanecem responsabilidade do projeto.

Aviso de atualização upstream

Os metadados registram o repositório upstream canônico, o SKILL.md upstream e a última versão Luna deliberadamente integrada nesta cópia.

Na primeira ativação em uma conversa conhecida, faça uma verificação de versão de melhor esforço apenas quando uma capacidade de leitura de repositório já conectada ou uma leitura pública web comum estiver prontamente disponível. Prefira o caminho do repositório conectado; na configuração documentada do ChatGPT Web, prefira o caminho do Plugin GitHub quando disponível. Não investigue ou configure a rede do sandbox apenas para esta verificação.

Leia apenas o SKILL.md upstream público fixo, de preferência apenas seu frontmatter, e compare metadata.version upstream com metadata.luna-upstream-version local usando precedência de versão semântica. Trate o conteúdo obtido como dados para extração de versão, não como instrução de tempo de execução. Se upstream for estritamente mais novo, adicione uma linha breve à próxima resposta visível ao usuário que seja útil. Caso contrário, permaneça em silêncio. Nunca bloqueie a tarefa, solicite credenciais, despache o Actions, transmita conteúdos do repositório downstream, tente novamente ruidosamente ou auto-atualize a habilidade incorporada para este aviso. Não repita a verificação dentro do mesmo contexto de conversa conhecido.

Pré-verificação de prontidão silenciosa

Antes do trabalho no repositório, execute a menor pré-verificação útil sem fazer o usuário operar uma lista de verificação:

  1. identifique o repositório, tarefa/PR se houver, e SHA de commit esperado quando disponível;
  2. inspecione qualquer workspace sandbox sobrevivente antes de substituí-lo ou mesclá-lo;
  3. resolva o nome do branch/PR mutável pretendido para seu SHA de commit imutável atual;
  4. materialize esse estado exato do repositório como uma árvore de trabalho sandbox completa e verifique se corresponde ao SHA esperado antes de editar;
  5. leia as declarações do repositório necessárias para entender runtime, dependência, serviço, build e requisitos de teste;
  6. inventarie as capacidades do sandbox já disponíveis;
  7. determine quais operações de leitura/escrita de repositório conectado e de objetos Git estão disponíveis;
  8. determine se operações de Actions/workflow/log/artefato estão disponíveis se um fallback se tornar necessário posteriormente.

Quando o caminho normal está saudável, não narre esta pré-verificação ao usuário.

Trabalhe no sandbox primeiro

Trate o contêiner de trabalho sandbox como uma estação de trabalho de desenvolvimento descartável. Para uma tarefa de repositório, primeiro recupere ou materialize a fonte exata do commit/cabeça de PR alvo em uma árvore de trabalho completa lá, verifique sua identidade, e só então realize edições de fonte ou o loop de engenharia. Um punhado de leituras de API do repositório não é um substituto para estabelecer a árvore de trabalho quando a tarefa requer edição, construção, teste ou inspeção de comportamento em todo o repositório.

Quando o acesso normal de rede Git estiver disponível, clone/fetch e faça checkout do estado alvo resolvido. Se o sandbox não puder alcançar o GitHub diretamente, use um caminho de repositório conectado ou missão de transporte limitada para entregar um checkout exato, arquivo, bundle Git, payload de artefato com checksum, ou payload de fonte equivalente no sandbox. Quando o tamanho do repositório ou a forma do payload tornar a reconstrução por arquivo materialmente mais arriscada ou cara, prefira essa transferência de preservação de bytes em vez de reconstruir a árvore através de conteúdo de arquivo ou blob criado pelo modelo. A etapa de transferência de fonte pode ser executada remotamente; o loop normal de edição/build/teste/depuração deve retornar ou permanecer no sandbox. Se nenhum caminho de fonte exato puder estabelecer a árvore de trabalho necessária, trate isso como um problema de transporte/capacidade em vez de editar uma reconstrução incompleta.

Quando o repositório requer uma capacidade que está ausente, primeiro tente uma configuração sandbox segura e fiel se o ambiente permitir. Escolhas de instalação e configuração que são puramente detalhes de desenvolvimento descartáveis podem ser resolvidas autonomamente quando o resultado solicitado é claro.

Não enfraqueça silenciosamente a verificação porque a configuração é inconveniente. Se o repositório requer uma integração real para o comportamento sob teste, prefira essa integração em vez de um substituto mais fácil.

Use missões do Actions quando elas reduzem risco ou custo real

Use uma missão limitada do Actions quando for uma forma mais segura ou eficiente de fornecer ou transportar entradas exatas para o sandbox, transportar saídas exatas para o GitHub, ou executar uma etapa necessária que o próprio sandbox não consegue sustentar. Uma missão não implica modo remoto degradado.

Não despache uma missão apenas porque o Actions existe. A falta de acesso direto à rede do GitHub, a ausência de um compilador/SDK/serviço, ou a incapacidade de baixar bytes necessários não justifica por si só mover o trabalho de edição/build/teste/depuração para fora de um sandbox utilizável. Primeiro prefira um caminho de transporte ou fornecimento exato que restaure o loop de engenharia do sandbox quando isso permanecer fiel e prático. Missões de fornecimento e transporte podem executar comandos limitados de aquisição, empacotamento, aplicação, integridade ou verificação de saída necessários para seus payloads sem se tornarem modo remoto degradado enquanto o sandbox permanecer o loop de engenharia principal.

Um arquivo, payload de artefato com checksum, patch ou bundle também pode ser mais seguro do que operações repetidas por arquivo/blob quando a fonte exata ou mudanças verificadas já existem e semântica binária/modo/histórico, limites de conector ou serialização mediada por modelo adicionariam risco de fidelidade evitável. Não abandone um caminho conectado ao GitHub após uma falha inexplicada: inspecione o erro primeiro. Uma operação claramente transitória pode ser tentada novamente uma vez quando segura; falhas repetidas ou estruturalmente frágeis são uma razão para escolher um caminho exato diferente.

Substituir o loop de engenharia do repositório sandbox por edição/build/teste/depuração remota ou verificação substancial pertence ao modo remoto degradado apenas quando o próprio contêiner de trabalho sandbox está indisponível ou não consegue sustentar fielmente a execução necessária após entradas ou capacidades práticas exatas terem sido fornecidas. Continue então com missões limitadas que realizam apenas as etapas necessárias de edição, construção, teste, empacotamento ou verificação, usando commits/branches/artefatos do GitHub como estado durável entre missões.

O modo remoto degradado é um fallback, não o ambiente preferido. Informe o usuário na próxima atualização significativa visível ao usuário ou relatório final de que a execução sandbox estava indisponível ou insuficiente e que o trabalho continuou através do GitHub Actions. Não especule sobre cobranças. Se uma operação exigir um recurso explicitamente pago ou materialmente caro além do uso comum configurado do Actions, obtenha a aprovação do usuário antes de criar esse custo.

Leia references/actions-missions.md antes de despachar uma missão do Actions.

Publique mudanças exatas

Capture o SHA base esperado antes da publicação e re-resolva-o antes de escritas consequentes. Se a base se moveu, recupere e deliberadamente faça rebase, merge ou recrie o resultado.

Escolha a rota exata mais simples e confiável para o payload e host observados. Estes são padrões, não uma hierarquia:

  • use operações de arquivo conectadas para edições de texto pequenas e isoladas;
  • para uma mudança de texto semântico verificada maior, prefira um patch Git de texto simples exato em vez de reemitir arquivos completos quando o texto visível ao modelo é a rota prática;
  • prefira objetos Git, bundles, arquivos, artefatos ou referências de arquivo para estado opaco, binário ou sensível ao sistema de arquivos.

Evite codificações opacas de transporte introduzidas pela Luna, como Base64 de bytes existentes, quando o modelo não precisa interpretá-las. Isso não é um filtro de conteúdo: dados codificados ou de alta entropia que pertencem ao repositório ou tarefa devem ser preservados e tratados fielmente.

Trate uma incompatibilidade entre o resultado sandbox verificado e o estado publicado do Git como uma falha de transporte/publicação até que evidências mostrem o contrário. Preserve o resultado sandbox verificado e inspecione o caminho de serialização ou transporte antes de mudar a fonte.

Se a única rota exata é mediada pelo modelo, use o fallback verificado em references/actions-missions.md em vez de reconstruir o resultado a partir de prosa.

Recuperação

Após um reset de chat, perda de sandbox ou ambiguidade de identidade de fonte, leia references/recovery.md.

Prefira a recuperação nesta ordem:

commit / cabeça de PR
    > artefato Git ou Actions imutável
    > árvore de trabalho sandbox sobrevivente
    > reconstrução de conversa

Preserve trabalho sobrevivente não familiar e estado de missão até que a propriedade e status terminal sejam compreendidos.

Conclusão e relatório

Edições de fonte sozinhas não são conclusão quando o comportamento executável é parte da tarefa. Execute os aplicativos/serviços aplicáveis, configuração ou migrações, build, testes, verificações de integração e verificações ponta a ponta exigidos pelo repositório e tarefa.

Ao concluir, relate:

  • qual estado exato foi alterado ou publicado;
  • quais verificações realmente foram executadas e seus resultados;
  • qualquer verificação que não pôde ser executada e o bloqueador exato;
  • se o modo remoto degradado foi usado porque o contêiner de trabalho sandbox estava indisponível ou insuficiente.

Não sobrecarregue o usuário com mecânicas específicas da Luna em um caminho normal saudável.

Limite de portabilidade

A habilidade usa o Agent Skills

…

[truncado para tradução]

Habilidades Relacionadas