As Agent Skills de Addyosmani Voltaram ao GitHub Trending, mas Prompts Não São o Ponto Central
- Olivia Johnson

- 6 de ago.
- 15 min de leitura
As agent skills de Addyosmani alcançaram a sétima posição em uma lista popular de GitHub Trending em 6 de agosto, embora o projeto já tenha vários meses. O repositório organiza práticas de software em instruções que agentes de programação com IA podem carregar quando forem relevantes. Sua nova visibilidade sinaliza demanda por algo que os modelos ainda não têm: disciplina de engenharia confiável.
A classificação veio de um agregador de terceiros e não estabelece uma nova data de lançamento. O projeto original já era público quando Osmani o explicou em 3 de maio de 2026. Uma versão ampliada foi publicada na O'Reilly em 27 de maio. Até então, segundo ele, o repositório havia ultrapassado 27.000 estrelas no GitHub.
O repositório do projeto exibia cerca de 82.000 estrelas, 8.800 forks e 391 commits quando foi consultado em 6 de agosto. Esses números podem mudar. A disputa importante é mais duradoura: fluxos de trabalho reutilizáveis versus prompts improvisados que dependem de um modelo escolher seguir boas práticas a cada vez.
O Projeto de Agentes Addyosmani Está em Alta Novamente, Não Sendo Lançado Hoje
O evento verificado é a atenção renovada em torno de um projeto já estabelecido, não o lançamento recém-anunciado de um produto.
A entrada na lista popular identificava addyosmani/agent-skills na sétima posição em 6 de agosto. Ela não fornecia um horário de publicação confiável nem explicava se a classificação abrangia uma janela diária, semanal ou regional. As posições no GitHub Trending também mudam à medida que os repositórios ganham atividade.
Essa incerteza importa porque aparecer entre os assuntos em alta pode parecer notícia de última hora sem representar uma nova versão. Neste caso, a cronologia do projeto aponta para outro lugar. Osmani datou seu ensaio original sobre agent skills em 3 de maio, quase três meses antes da classificação observada.
O projeto também atraiu atenção significativa antes disso. Na versão de 27 de maio do ensaio de Osmani, ele escreveu que o repositório havia ultrapassado 27.000 estrelas. A página do GitHub em 6 de agosto mostrava aproximadamente 82.000, embora os contadores do GitHub permaneçam ativos, em vez de serem registros históricos fixos.
Essa diferença sugere adoção contínua, inclusão em favoritos ou redistribuição. Ela não comprova uso ativo em produção. Estrelas medem interesse manifestado, enquanto forks indicam cópia ou experimentação. Nenhum dos dois números revela se equipes executaram os fluxos de trabalho, os mantiveram instalados ou melhoraram os resultados de software.
O próprio repositório também mudou desde o ensaio de maio. Osmani descreveu 20 skills e sete comandos com barra no artigo anterior. O repositório de agosto documentava 24 skills e oito comandos que cobrem especificação, planejamento, implementação, testes, revisão, desempenho web, simplificação e entrega.
Essa expansão ajuda a explicar por que um repositório mais antigo pode voltar a uma lista de tendências. Ele se tornou um pacote mais amplo, adicionou integrações e acumulou atenção em diversas comunidades de agentes de programação. A atividade parece mais uma distribuição contínua do que um pico isolado no dia do lançamento.
O repositório é licenciado sob MIT e consiste principalmente em instruções em Markdown, referências de apoio, comandos, hooks e personas de agentes. Ele não é um modelo de IA, um mecanismo de geração de código nem uma plataforma de desenvolvimento hospedada. Os usuários ainda precisam de um assistente de programação compatível e devem decidir quais permissões esse assistente recebe.
Essa distinção muda a história. O projeto não concorre com Claude Code, Codex, Cursor, Gemini CLI ou GitHub Copilot como mais um agente de programação. Seu objetivo é fornecer uma camada de processo reutilizável que pode ser usada dentro de vários deles.
O momento também reflete uma mudança mais ampla no desenvolvimento com agentes. As equipes estão indo além de perguntar qual modelo escreve a melhor função. Elas perguntam cada vez mais se um agente consegue preservar o escopo, reunir evidências, sustentar tarefas longas e produzir alterações que humanos possam revisar.
O projeto de agentes Addyosmani aborda diretamente essas questões operacionais. Seu retorno ao GitHub mostra que desenvolvedores estão buscando estruturas de controle para modelos capazes, mesmo quando essas estruturas são escritas em Markdown simples.
Por Que Agent Skills Estão Substituindo o Prompt Gigante
As agent skills separam procedimentos duráveis do contexto permanente que toda solicitação precisa carregar.
Uma skill é um diretório estruturado em torno de um arquivo SKILL.md. O arquivo contém metadados YAML e instruções em Markdown. Scripts, referências e ativos de apoio podem ficar ao seu lado, de acordo com o formato aberto de skills.
O formato parece simples porque é simples. Uma descrição informa ao agente quando a skill se aplica. O corpo informa qual sequência seguir. A estrutura ao redor decide quando carregar as instruções e quais ferramentas o agente pode acessar.
Esse design difere de colocar todas as políticas em um enorme prompt de sistema. Um prompt permanente consome contexto durante trabalhos não relacionados. Ele também transforma orientações de teste, procedimentos de lançamento e regras de segurança em um único bloco indiferenciado.
Skills usam divulgação progressiva, o que significa que a estrutura carrega instruções detalhadas apenas quando elas se tornam relevantes. Uma tarefa de testes pode ativar orientações de teste. Uma solicitação de implantação pode ativar verificações de entrega sem arrastar material de implantação para todas as conversas anteriores.
A atual documentação de skills da Anthropic descreve a mesma vantagem básica. Os corpos das skills são carregados quando usados, enquanto as instruções persistentes do projeto permanecem presentes durante toda a sessão. Claude Code pode invocar algumas skills automaticamente e outras somente quando o usuário as solicita.
A biblioteca de Osmani aplica esse mecanismo a um ciclo de vida convencional de software. O repositório atual mapeia oito comandos para atividades como escrever uma especificação, dividir o trabalho em pequenas tarefas, criar incrementos, testar comportamentos, revisar alterações e entregar com segurança.
Essa sequência é o verdadeiro produto do repositório. As recomendações individuais são conhecidas. Engenheiros já sabem que testes devem ser executados, suposições devem ser explicitadas e arquivos não relacionados devem permanecer intocados.
O problema é a execução sob pressão. Agentes de programação tendem a otimizar pela conclusão visível, especialmente quando uma solicitação enfatiza velocidade. Eles podem produzir o código pedido enquanto ignoram evidências, limites de revisão ou verificações operacionais que o usuário não declarou explicitamente.
Osmani chama sua resposta de “processo acima de prosa”. Uma skill útil deve prescrever ações e definir um critério de saída. Ela não deve apenas oferecer ao modelo um ensaio sobre comportamentos de engenharia desejáveis.
Considere o desenvolvimento orientado a testes. Um documento de referência pode elogiar os testes e descrever seus benefícios. Um fluxo de trabalho, em vez disso, orienta o agente a criar um teste que falha, observar a falha, implementar a menor alteração possível, executar o teste novamente e então refatorar.
Essas etapas criam pontos de verificação observáveis. O usuário pode inspecionar a falha, a execução bem-sucedida e o diff resultante. Portanto, a skill desloca parte do julgamento do raciocínio interno do modelo para evidências disponíveis fora dele.
A biblioteca amplia esse padrão com orientações de “antirracionalização”. Essas seções antecipam desculpas comuns, como tratar uma tarefa como pequena demais para exigir critérios de aceitação ou prometer adicionar testes depois. As instruções respondem a essas desculpas antes que o agente as use.
Essa é uma escolha de design incomum, mas prática. Modelos de linguagem geram explicações plausíveis com facilidade, inclusive explicações para pular trabalho inconveniente. Uma refutação pré-escrita torna o limite desejado mais explícito, embora não possa garantir obediência.
Para organizações, a atração é a consistência. Uma equipe pode codificar uma lista de verificação de lançamento uma vez, versioná-la com a base de código e disponibilizá-la para vários agentes. A instrução resultante se torna conhecimento organizacional revisável, em vez de um prompt privado salvo por um único desenvolvedor.
Isso também cria uma conexão natural com uma base de conhecimento pesquisável. As equipes ainda precisam das decisões de design, runbooks e contexto técnico que explicam por que cada fluxo de trabalho existe. As skills podem então transformar conhecimento selecionado em ações.
O prompt gigante não está desaparecendo completamente. Toda estrutura ainda precisa de regras permanentes para limites, convenções do repositório e segurança. A divisão emergente é mais clara: arquivos persistentes guardam fatos sempre aplicáveis, enquanto skills contêm procedimentos acionados por trabalhos específicos.
A Principal Disputa É Fluxo de Trabalho Reutilizável Versus Julgamento do Modelo
O repositório desafia a crença de que um modelo melhor fornecerá de forma confiável o processo de engenharia sem estrutura explícita.
As melhorias dos modelos continuam importantes. Modelos mais fortes conseguem entender bases de código maiores, chamar mais ferramentas e se recuperar de falhas difíceis. No entanto, a capacidade bruta não determina quais etapas um agente escolhe executar.
Um modelo pode saber escrever um documento de design e ainda assim ignorá-lo. Pode entender revisão de código enquanto produz uma alteração ampla demais para que um revisor a avalie. Conhecer uma prática é diferente de executá-la de forma consistente.
A abordagem de agentes Addyosmani coloca um fluxo de trabalho reutilizável entre a intenção do usuário e a ação do modelo. O modelo ainda raciocina sobre os detalhes da implementação, mas a skill restringe o caminho. Ela define fases, pontos de verificação e condições de parada que devem permanecer estáveis entre tarefas.
Essa abordagem pressiona fornecedores que dependem de orquestração proprietária. Se as equipes puderem expressar comportamentos valiosos em Markdown portável, parte da diferenciação entre agentes se desloca de prompts ocultos para bibliotecas transparentes de fluxos de trabalho.
O repositório afirma que suas skills funcionam em mais de 70 agentes por meio de um instalador compartilhado. Ele também documenta configurações nativas ou adaptadas para Claude Code, Cursor, Gemini CLI, Windsurf, OpenCode, GitHub Copilot, Kiro e Codex.
Compatibilidade não significa comportamento idêntico. Uma plataforma pode selecionar automaticamente uma skill a partir de sua descrição. Outra pode exigir que o usuário copie instruções para um arquivo de regras. Uma terceira pode oferecer suporte a skills, mas interpretar metadados extras de maneira diferente.
A especificação aberta padroniza um núcleo modesto. Ela exige um diretório com SKILL.md, além de front matter contendo um nome e uma descrição. Scripts, referências, ativos, notas de compatibilidade e declarações de ferramentas permitidas são opcionais.
Esse pequeno denominador comum é ao mesmo tempo uma vantagem e uma limitação. Ele torna as skills fáceis de criar e inspecionar. Não consegue padronizar como cada agente encaminha solicitações, gerencia contexto, pede aprovação, executa ferramentas ou comprova a conclusão.
O repositório de Osmani contorna essas diferenças com diretórios específicos por plataforma e documentos de configuração. Claude Code recebe empacotamento de plugin. Gemini CLI recebe orientações de instalação nativa. Usuários do Copilot adaptam o conteúdo de personas e skills aos arquivos de instrução do repositório.
Isso é portabilidade por tradução, não equivalência perfeita em tempo de execução. A intenção do fluxo de trabalho pode viajar, mas sua força de aplicação depende da estrutura de destino. Uma verificação de segurança tratada como obrigatória em uma plataforma pode se tornar texto consultivo em outra.
A questão se torna mais aguda quando um fluxo de trabalho invoca ferramentas externas. Uma instrução em Markdown pode dizer a um agente para executar testes ou inspecionar o comportamento no navegador. Ela não pode criar um ambiente de testes, conceder acesso ao navegador ou garantir que as credenciais estejam isoladas.
As equipes, portanto, precisam avaliar o ambiente completo: modelo, ferramentas, permissões, hooks, regras do workspace e trilha de auditoria. Uma skill bem escrita melhora uma camada. Ela não substitui as demais.
Essa distinção também separa skills de automação determinística. Uma regra de integração contínua pode bloquear um merge quando os testes falham. Uma skill pode orientar um agente a não prosseguir, mas o modelo ou o ambiente ainda pode continuar, a menos que outro controle imponha a interrupção.
A arquitetura mais robusta combina ambos. Skills orientam julgamentos flexíveis onde scripts rígidos teriam dificuldades. Hooks, sistemas de permissão, branches protegidas e verificações de CI impõem limites onde a conformidade não pode continuar sendo opcional.
Esse modelo híbrido pressiona a escola de implantação de agentes do “basta melhorar o prompt”. A elaboração de prompts continua importante, mas o trabalho repetível em produção exige procedimentos versionados e barreiras verificáveis por máquinas. O repositório em alta oferece um modelo visível para realizar essa transição.
O Que as Agent Skills de Addyosmani Realmente Impõem
A biblioteca transforma hábitos de engenharia sênior em trabalho sequenciado, mas cada sequência continua sendo uma instrução, e não uma autoridade independente.
A coleção atual abrange todo o caminho de uma solicitação pouco clara até uma release em produção. Suas skills de especificação pedem aos agentes que explicitem premissas, esclareçam objetivos e definam critérios de aceitação antes do início da implementação.
A orientação de planejamento então divide a especificação em tarefas pequenas e verificáveis. Essa estrutura limita a quantidade de mudança produzida antes que o feedback chegue. Ela também oferece aos revisores uma relação mais clara entre um requisito e o código destinado a atendê-lo.
As skills de implementação favorecem fatias verticais enxutas, padrões seguros, feature flags e mudanças que facilitam rollback. O objetivo não é apenas ter arquivos menores. É reduzir a distância entre uma mudança e evidências que os usuários possam observar.
O fluxo de testes usa as etapas vermelho, verde e refatoração. Primeiro, o agente escreve um teste que falha pelo motivo esperado. Em seguida, implementa o comportamento mínimo necessário para obter sucesso, antes de melhorar o design sem alterar o resultado.
A revisão de código amplia as evidências para além de uma suíte de testes verde. Os testes podem confirmar casos esperados e ainda deixar de captar limites de segurança, interfaces confusas, complexidade excessiva ou escopo involuntário. O fluxo de revisão pede que o agente examine essas dimensões separadamente.
O repositório também inclui material especializado para design de APIs, trabalho de frontend, segurança, desempenho, depuração, desenvolvimento fundamentado em fontes, gestão de contexto, descontinuação e migração. Uma meta-skill direciona as solicitações ao procedimento relevante.
Seu comando de entrega coordena as verificações finais, em vez de tratar o deployment como uma única ação. Isso reflete o argumento mais amplo de Osmani: o caminho mais rápido de um agente até “concluído” frequentemente exclui o trabalho operacional que torna a conclusão confiável.
Muitas práticas se baseiam em orientações públicas de engenharia do Google. O repositório aponta para conceitos como mudanças pequenas, testes legíveis, evolução cuidadosa de APIs, validação antecipada e compreensão do código existente antes de removê-lo.
Esses não são princípios de engenharia novos. Seu valor vem do empacotamento e do momento. Um agente vê um procedimento direcionado quando está tomando a decisão, em vez de depender de um modelo para recordar o material geral de treinamento no momento certo.
Uma correção concreta de bug mostra a diferença. Sem orientação de fluxo de trabalho, um agente pode localizar a função suspeita, modificá-la, executar um teste restrito e reportar sucesso. O patch pode parecer convincente enquanto a falha original permanece sem explicação.
Com uma skill de depuração, o agente deve reproduzir o problema, coletar evidências, formular hipóteses concorrentes, testá-las, identificar a causa, adicionar um teste de regressão, implementar a correção e verificar o comportamento visível ao usuário. Cada etapa reduz o espaço para um patch atraente, mas incorreto.
Uma solicitação de funcionalidade cria outro teste. O fluxo de especificação deve expor a incerteza antes das mudanças no código. Se dois requisitos entrarem em conflito, o agente deve parar para pedir esclarecimentos, em vez de escolher silenciosamente a interpretação mais fácil.
Esse comportamento de interrupção importa mais do que código gerado eloquentemente. Um agente competente que faz uma pergunta necessária pode ser mais seguro do que um modelo mais forte que constrói com confiança a funcionalidade errada.
Ainda assim, arquivos de instrução não podem provar que essas melhorias ocorrem. A popularidade do repositório demonstra interesse no padrão. Ela não fornece evidências controladas de que todas as 24 skills reduzem defeitos, tempo de revisão ou taxas de incidentes em diferentes agentes e repositórios.
O artigo de Osmani, de maio, apresenta raciocínio de design e experiência, não um benchmark comparativo amplo. Seu posterior ensaio sobre fluxo de trabalho de engenharia explica por que as etapas existem e como refletem práticas estabelecidas de desenvolvimento de software.
Essas evidências são úteis, mas limitadas. Equipes que adotarem a biblioteca devem definir suas próprias métricas, incluindo defeitos que escaparam, mudanças revertidas, latência de revisão, alterações na cobertura de testes, custos de ferramentas e a frequência de interrupções desnecessárias dos agentes.
Elas também devem inspecionar cada skill antes da instalação. Arquivos de instrução podem solicitar comandos, influenciar o uso de ferramentas e importar material de apoio para o contexto do modelo. Tratar um repositório popular como política executável confiável repetiria o mesmo atalho que o projeto procura evitar.
Portabilidade e Verificação Continuam Sendo os Problemas Difíceis
A maior incerteza é se uma instrução portátil produz comportamento equivalente e aplicável em diferentes ambientes de agentes.
O projeto apresenta um argumento convincente a favor de fluxos de trabalho reutilizáveis. Apresenta um argumento mais fraco para execução uniforme. Cada plataforma controla de forma diferente a descoberta de skills, a montagem de contexto, as permissões de comando e o tratamento de falhas.
O roteamento automático é uma fonte de variação. A descrição de uma skill ajuda um agente a decidir quando ativá-la. As descrições podem se sobrepor, e solicitações de usuários frequentemente abrangem várias fases. O ambiente pode carregar procedimentos demais, escolher o procedimento errado ou deixar de identificar uma skill relevante.
Os limites de contexto introduzem outra troca. A divulgação progressiva reduz o peso permanente do prompt, mas as skills ativadas ainda consomem atenção. Uma funcionalidade complexa pode exigir vários fluxos de trabalho, referências de apoio, instruções do repositório, código, logs e saídas de ferramentas em uma única sessão.
Mais contexto não é automaticamente melhor. Restrições relevantes podem competir com detalhes de implementação. Procedimentos longos também podem incentivar o preenchimento superficial de checklists quando o agente não tem espaço suficiente para raciocinar cuidadosamente sobre o código.
A portabilidade acrescenta deriva semântica. Um repositório pode copiar o mesmo Markdown para Claude Code, Cursor, Gemini CLI e Copilot. Cada modelo e ambiente pode interpretar palavras como “deve”, “verificar” ou “parar” com confiabilidade diferente.
A disponibilidade de ferramentas muda ainda mais o resultado. Um fluxo de verificação no navegador não pode inspecionar uma interface em execução sem acesso ao navegador. Uma revisão de segurança não pode validar o resultado de uma dependência se o acesso à rede estiver desativado e o banco de dados local estiver desatualizado.
As permissões determinam o teto de risco. Um agente com shell irrestrito, credenciais de produção e acesso a deployment pode causar danos apesar de excelentes instruções de processo. Um agente com permissões estritamente limitadas continua restrito mesmo quando interpreta mal uma skill.
É por isso que skills devem complementar controles determinísticos. A proteção de branches pode exigir revisões. O CI pode bloquear testes com falha. Sandboxes podem restringir acesso a arquivos e à rede. Gates de aprovação podem interromper deployments até que um humano autorize a ação exata.
O risco de cadeia de suprimentos merece atenção equivalente. Um repositório de skills é uma configuração adjacente a código que molda o comportamento privilegiado do modelo. Atualizações podem mudar instruções, scripts, hooks e arquivos referenciados sem alterar o modelo subjacente.
As equipes devem fixar versões revisadas, inspecionar diffs e limitar atualizações automáticas. Devem verificar arquivos referenciados e scripts incluídos, em vez de revisar apenas o SKILL.md de nível superior. Um arquivo de entrada conciso pode delegar comportamentos consequentes a outros locais.
O próprio repositório reconhece uma lacuna de portabilidade para instalações individuais. Seu README alerta que instalar uma única skill pode omitir diretórios de referência compartilhados, deixando checklists suplementares indisponíveis. A instalação do repositório completo ou a cópia das referências necessárias evita esse problema específico.
Esse alerta ilustra o desafio mais amplo. Uma skill pode parecer instalada enquanto parte de seu contexto operacional está ausente. O agente ainda pode executar, tornando a degradação silenciosa mais difícil de perceber do que uma dependência convencional ausente.
A avaliação é a lacuna final. As equipes precisam de tarefas com resultados esperados conhecidos, e não apenas impressões subjetivas. Devem comparar o mesmo agente com e sem uma skill e então examinar correção, mudanças desnecessárias, chamadas de ferramentas, duração e consumo de tokens.
A adoção deve começar por um ponto problemático limitado. Uma equipe que sofre com patches amplos pode testar skills de disciplina de escopo e revisão. Outra, com regressões recorrentes, pode avaliar o fluxo de testes com base em bugs históricos.
O resultado deve determinar se o fluxo de trabalho entra na política compartilhada. A popularidade pode justificar a inspeção, mas não pode substituir a comprovação local. A lição mais forte do projeto é a verificação, e essa lição deve se aplicar ao próprio projeto.
Três Sinais Mostrarão se Agent Skills se Tornarão Infraestrutura
A próxima etapa depende de resultados mensuráveis, conformidade entre plataformas e aplicação fora do próprio raciocínio do modelo.
O primeiro sinal é uma avaliação comparativa confiável. Observe se mantenedores ou equipes independentes publicam testes reproduzíveis em repositórios reais. Avaliações úteis devem medir taxas de defeitos, violações de escopo, qualidade de revisão, custo e tempo de conclusão.
Um resultado favorável mostraria que skills selecionadas melhoram os resultados em várias tarefas sem impor atraso excessivo ou uso exagerado de tokens. Resultados fracos ou inconsistentes sugeririam que o sucesso depende mais do modelo, repositório ou avaliador do que do texto do fluxo de trabalho.
O segundo sinal é uma conformidade mais forte entre plataformas de agentes. A especificação comum atualmente define estrutura de arquivos e metadados, enquanto os runtimes mantêm liberdade substancial sobre ativação e execução.
O progresso incluiria testes compartilhados para descoberta, carregamento de arquivos de apoio, restrições de ferramentas e comportamento em falhas. Se a mesma skill produzir rastros comparáveis em Claude Code, Codex, Gemini CLI, Cursor e Copilot, a portabilidade se tornará mais do que compatibilidade de arquivos.
Extensões divergentes enfraqueceriam essa promessa. Fornecedores podem oferecer suporte ao mesmo núcleo SKILL.md enquanto adicionam campos de roteamento, semânticas de permissão e sistemas de empacotamento incompatíveis. As equipes então manteriam várias versões de um mesmo fluxo de trabalho.
O terceiro sinal é a integração com políticas determinísticas. Skills tornam-se infraestrutura quando seus pontos de controle se conectam a sistemas capazes de verificar ou bloquear ações. Exemplos incluem evidências obrigatórias de CI, aprovações assinadas, políticas de sandbox e registros de conclusão legíveis por máquinas.
Essa integração preservaria a flexibilidade sem pedir que um modelo policie a si próprio. A skill poderia decidir qual caminho de verificação se adapta à tarefa, enquanto controles externos confirmariam que as evidências exigidas existem antes do merge ou deployment.
O projeto de agentes Addyosmani já aponta para essa arquitetura em camadas por meio de hooks, comandos, personas e fluxos de trabalho focados em verificação. Seu próximo desafio é provar que essas camadas funcionam juntas de forma confiável fora de exemplos cuidadosamente preparados.
Para desenvolvedores, a ação imediata é inspeção, não adoção em massa. Leia os fluxos de trabalho mais próximos das suas falhas recorrentes. Compare seus pontos de controle com os controles de engenharia já existentes. Depois, teste um deles em trabalho representativo com permissões restritas.
Para líderes de engenharia, o projeto oferece um incentivo para mapear julgamentos não documentados. Quais hábitos de revisão existem apenas na cabeça de engenheiros seniores? Quais verificações de lançamento dependem da memória? Quais exceções se transformam repetidamente em incidentes?
Transforme um desses processos em um fluxo de trabalho curto e revisável. Combine-o com uma barreira externa nos pontos em que falhar importa. Meça se o agente o segue e se a mudança resultante se torna mais fácil de confiar.
A renovada atenção em torno das habilidades de agente de addyosmani não prova que Markdown pode tornar um programador de IA sênior. Ela mostra que os desenvolvedores já não aceitam a geração de código como o trabalho inteiro. A próxima questão é se fluxos de trabalho portáteis podem produzir evidências suficientemente sólidas para que as equipes confiem neles.


