[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7APD2P9QEC2QY3KAD7VG061":3,"skill-same:01M7APD2P9QEC2QY3KAD7VG061":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":14,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":30,"ownerDescription":31,"updatedAt":32,"install":33,"resources":45},"01M7APD2P9QEC2QY3KAD7VG061","triage",null,"Mova issues e PRs externos por uma máquina de estados de papéis de triagem — categorizar, verificar, sabatinar se necessário e escrever briefs prontos para agentes.","matheusdmlopes\u002Fskills-ptbr","matheusdmlopes","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F115191427?v=4","01M7APAA2NZDDT90C9Q4SK3QJE","Matheus De Marco Lopes","01M7APAA3GZ0Z81YMV996S8YF1",0,"MIT","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Ftriage\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: triage\ndescription: Mova issues e PRs externos por uma máquina de estados de papéis de triagem — categorizar, verificar, sabatinar se necessário e escrever briefs prontos para agentes.\ndisable-model-invocation: true\n---\n\n# Triagem (Triage)\n\nMova issues no issue tracker do projeto por uma pequena máquina de estados de papéis de triagem.\n\nSe este repo tratar pull requests externos como uma superfície de requisição (veja a configuração do issue tracker), a triagem também os cobre: **um PR é uma issue com código anexado** — mesmos papéis, mesmos estados, mesma máquina, com alguns deltas marcados \"para um PR\" abaixo. Resolva um `#42` puro para uma issue ou PR conforme a configuração do tracker.\n\nTodo comentário ou issue publicado no issue tracker durante a triagem **deve** começar com este aviso:\n\n```\n> *Isto foi gerado por IA durante a triagem.*\n```\n\n## Documentos de referência\n\n- [AGENT-BRIEF.md](AGENT-BRIEF.md) — como escrever briefs de agente duradouros\n- [OUT-OF-SCOPE.md](OUT-OF-SCOPE.md) — como a base de conhecimento `.out-of-scope\u002F` funciona\n\n## Papéis\n\nDois papéis de **categoria**:\n\n- `bug` — algo está quebrado\n- `enhancement` — nova funcionalidade ou melhoria\n\nCinco papéis de **estado**:\n\n- `needs-triage` — o mantenedor precisa avaliar\n- `needs-info` — aguardando mais informações do relator\n- `ready-for-agent` — totalmente especificado, pronto para um agente AFK\n- `ready-for-human` — necessita de implementação humana\n- `wontfix` — não será executado\n\nPara um PR, os mesmos estados são lidos contra o código anexado: `ready-for-agent` significa que um brief está anexado e um agente deve dar o próximo passo no diff; `ready-for-human` significa que está pronto para um humano fazer o merge.\n\nToda issue triada deve carregar exatamente um papel de categoria e um papel de estado. Se houver conflito entre papéis de estado, sinalize e pergunte ao mantenedor antes de fazer qualquer outra coisa.\n\nEstes são nomes canônicos de papéis — as strings reais de label usadas no issue tracker podem ser diferentes. O mapeamento deve ter sido fornecido a você - execute `\u002Fsetup-matt-pocock-skills` se não foi.\n\nTransições de estado: uma issue sem label normalmente vai para `needs-triage` primeiro; de lá ela se move para `needs-info`, `ready-for-agent`, `ready-for-human` ou `wontfix`. `needs-info` retorna para `needs-triage` assim que o relator responder. O mantenedor pode sobrescrever a qualquer momento — sinalize transições que pareçam incomuns e pergunte antes de prosseguir.\n\n## Invocação\n\nO mantenedor invoca `\u002Ftriage` e descreve o que deseja em linguagem natural. Interprete a solicitação e aja. Exemplos:\n\n- \"Show me anything that needs my attention\" (Mostre-me qualquer coisa que precise da minha atenção)\n- \"Let's look at #42\" (Vamos analisar a #42 — issue ou PR)\n- \"Move #42 to ready-for-agent\" (Mova a #42 para ready-for-agent)\n- \"What's ready for agents to pick up?\" (O que está pronto para os agentes assumirem?)\n\n## Mostrar o que precisa de atenção\n\nConsulte o issue tracker e apresente três baldes (buckets), do mais antigo para o mais recente:\n\n1. **Sem label** — nunca triado.\n2. **`needs-triage`** — avaliação em andamento.\n3. **`needs-info` com atividade do relator desde as últimas notas de triagem** — precisa de reavaliação.\n\nQuando PRs estiverem no escopo, inclua PRs externos nesses baldes e marque cada linha como `[PR]` ou `[issue]`. A descoberta expõe apenas PRs *externos* (a configuração do tracker define quem conta como externo) — o PR em andamento de um colaborador não é trabalho de triagem. Esse filtro é apenas para descoberta; um PR nomeado explicitamente é sempre triado, independentemente do autor.\n\nMostre as contagens e um resumo de uma linha por item. Deixe o mantenedor escolher.\n\n## Triar uma issue ou PR específico\n\n1. **Reúna o contexto.** Leia a issue ou PR completo (corpo, comentários, labels, autor, datas; para um PR, o diff também). Analise quaisquer notas de triagem anteriores para não fazer novamente perguntas já resolvidas. Explore a base de código usando o glossário de domínio do projeto, respeitando os ADRs na área. Execute duas verificações contra a base de código: (a) **redundância** — busque por uma implementação existente do comportamento solicitado pelo conceito de domínio (não apenas pela redação da solicitação), e relate onde você procurou. Se encontrada, é um `wontfix` já implementado (passo 5). (b) **rejeição prévia** — leia `.out-of-scope\u002F*.md` e aponte qualquer um que se assemelhe a esta solicitação.\n\n2. **Recomende.** Diga ao mantenedor sua recomendação de categoria e estado com a justificativa, além de um breve resumo da base de código relevante para a solicitação — incluindo se ela já está implementada. Aguarde instruções.\n\n3. **Verifique a alegação.** Antes de qualquer sabatina, verifique se a alegação se sustenta. Para um bug, reproduza-o a partir dos passos do relator. Para um PR, confirme se o diff faz o que alega — faça o checkout dele, execute os testes ou comandos relevantes. Relate o que aconteceu: confirmado (com o caminho do código), falhou ou detalhes insuficientes (um forte sinal de `needs-info`). Uma verificação confirmada torna o brief do agente muito mais forte.\n\n4. **Sabatinar (se necessário).** Se a solicitação precisar ser detalhada, execute as skills `\u002Fgrilling` e `\u002Fdomain-modeling` juntas — molde-a por meio de sabatina, uma rodada de perguntas por vez, refinando termos de domínio e atualizando `CONTEXT.md`\u002FADRs inline conforme as decisões são tomadas.\n\n5. **Aplique o resultado:**\n   - `ready-for-agent` — publique um comentário de brief de agente ([AGENT-BRIEF.md](AGENT-BRIEF.md)).\n   - `ready-for-human` — mesma estrutura de um brief de agente, mas anote por que não pode ser delegado (decisões de julgamento, acesso externo, decisões de design, testes manuais).\n   - `needs-info` — publique notas de triagem (template abaixo).\n   - `wontfix` — feche, com o comentário dependendo do *porquê*:\n     - **Já implementado** — a alteração já existe na base de código. Aponte onde ela vive; **não** escreva em `.out-of-scope\u002F` (essa base de conhecimento é para solicitações *rejeitadas*, não construídas).\n     - **Rejeitado (bug)** — explicação educada e feche.\n     - **Rejeitado (enhancement)** — escreva em `.out-of-scope\u002F`, crie um link para ele a partir de um comentário e feche ([OUT-OF-SCOPE.md](OUT-OF-SCOPE.md)).\n   - `needs-triage` — aplique o papel. Comentário opcional se houver progresso parcial.\n\n## Sobrescrita rápida de estado\n\nSe o mantenedor disser \"mova #42 para ready-for-agent\", confie nele e aplique o papel diretamente. Confirme o que está prestes a fazer (mudanças de papel, comentário, fechamento) e aja. Pule a sabatina. Se estiver movendo para `ready-for-agent` sem uma sessão de sabatina, pergunte se ele deseja escrever um brief de agente.\n\n## Template de needs-info\n\n```markdown\n## Notas de Triagem\n\n**O que já estabelecemos até agora:**\n\n- ponto 1\n- ponto 2\n\n**O que ainda precisamos de você (@reporter):**\n\n- pergunta 1\n- pergunta 2\n```\n\nCapture tudo o que foi resolvido durante a sabatina em \"o que já estabelecemos até agora\" para que o trabalho não seja perdido. As perguntas devem ser específicas e acionáveis, não \"por favor, forneça mais informações\".\n\n## Retomando uma sessão anterior\n\nSe existirem notas de triagem anteriores na issue ou PR, leia-as, verifique se o relator respondeu a alguma pergunta pendente e apresente um panorama atualizado antes de continuar. Não faça novamente perguntas já resolvidas.\n","# Triagem (Triage)\n\nMova issues no issue tracker do projeto por uma pequena máquina de estados de papéis de triagem.\n\nSe este repo tratar pull requests externos como uma superfície de requisição (veja a configuração do issue tracker), a triagem também os cobre: **um PR é uma issue com código anexado** — mesmos papéis, mesmos estados, mesma máquina, com alguns deltas marcados \"para um PR\" abaixo. Resolva um `#42` puro para uma issue ou PR conforme a configuração do tracker.\n\nTodo comentário ou issue publicado no issue tracker durante a triagem **deve** começar com este aviso:\n\n```\n> *Isto foi gerado por IA durante a triagem.*\n```\n\n## Documentos de referência\n\n- [AGENT-BRIEF.md](AGENT-BRIEF.md) — como escrever briefs de agente duradouros\n- [OUT-OF-SCOPE.md](OUT-OF-SCOPE.md) — como a base de conhecimento `.out-of-scope\u002F` funciona\n\n## Papéis\n\nDois papéis de **categoria**:\n\n- `bug` — algo está quebrado\n- `enhancement` — nova funcionalidade ou melhoria\n\nCinco papéis de **estado**:\n\n- `needs-triage` — o mantenedor precisa avaliar\n- `needs-info` — aguardando mais informações do relator\n- `ready-for-agent` — totalmente especificado, pronto para um agente AFK\n- `ready-for-human` — necessita de implementação humana\n- `wontfix` — não será executado\n\nPara um PR, os mesmos estados são lidos contra o código anexado: `ready-for-agent` significa que um brief está anexado e um agente deve dar o próximo passo no diff; `ready-for-human` significa que está pronto para um humano fazer o merge.\n\nToda issue triada deve carregar exatamente um papel de categoria e um papel de estado. Se houver conflito entre papéis de estado, sinalize e pergunte ao mantenedor antes de fazer qualquer outra coisa.\n\nEstes são nomes canônicos de papéis — as strings reais de label usadas no issue tracker podem ser diferentes. O mapeamento deve ter sido fornecido a você - execute `\u002Fsetup-matt-pocock-skills` se não foi.\n\nTransições de estado: uma issue sem label normalmente vai para `needs-triage` primeiro; de lá ela se move para `needs-info`, `ready-for-agent`, `ready-for-human` ou `wontfix`. `needs-info` retorna para `needs-triage` assim que o relator responder. O mantenedor pode sobrescrever a qualquer momento — sinalize transições que pareçam incomuns e pergunte antes de prosseguir.\n\n## Invocação\n\nO mantenedor invoca `\u002Ftriage` e descreve o que deseja em linguagem natural. Interprete a solicitação e aja. Exemplos:\n\n- \"Show me anything that needs my attention\" (Mostre-me qualquer coisa que precise da minha atenção)\n- \"Let's look at #42\" (Vamos analisar a #42 — issue ou PR)\n- \"Move #42 to ready-for-agent\" (Mova a #42 para ready-for-agent)\n- \"What's ready for agents to pick up?\" (O que está pronto para os agentes assumirem?)\n\n## Mostrar o que precisa de atenção\n\nConsulte o issue tracker e apresente três baldes (buckets), do mais antigo para o mais recente:\n\n1. **Sem label** — nunca triado.\n2. **`needs-triage`** — avaliação em andamento.\n3. **`needs-info` com atividade do relator desde as últimas notas de triagem** — precisa de reavaliação.\n\nQuando PRs estiverem no escopo, inclua PRs externos nesses baldes e marque cada linha como `[PR]` ou `[issue]`. A descoberta expõe apenas PRs *externos* (a configuração do tracker define quem conta como externo) — o PR em andamento de um colaborador não é trabalho de triagem. Esse filtro é apenas para descoberta; um PR nomeado explicitamente é sempre triado, independentemente do autor.\n\nMostre as contagens e um resumo de uma linha por item. Deixe o mantenedor escolher.\n\n## Triar uma issue ou PR específico\n\n1. **Reúna o contexto.** Leia a issue ou PR completo (corpo, comentários, labels, autor, datas; para um PR, o diff também). Analise quaisquer notas de triagem anteriores para não fazer novamente perguntas já resolvidas. Explore a base de código usando o glossário de domínio do projeto, respeitando os ADRs na área. Execute duas verificações contra a base de código: (a) **redundância** — busque por uma implementação existente do comportamento solicitado pelo conceito de domínio (não apenas pela redação da solicitação), e relate onde você procurou. Se encontrada, é um `wontfix` já implementado (passo 5). (b) **rejeição prévia** — leia `.out-of-scope\u002F*.md` e aponte qualquer um que se assemelhe a esta solicitação.\n\n2. **Recomende.** Diga ao mantenedor sua recomendação de categoria e estado com a justificativa, além de um breve resumo da base de código relevante para a solicitação — incluindo se ela já está implementada. Aguarde instruções.\n\n3. **Verifique a alegação.** Antes de qualquer sabatina, verifique se a alegação se sustenta. Para um bug, reproduza-o a partir dos passos do relator. Para um PR, confirme se o diff faz o que alega — faça o checkout dele, execute os testes ou comandos relevantes. Relate o que aconteceu: confirmado (com o caminho do código), falhou ou detalhes insuficientes (um forte sinal de `needs-info`). Uma verificação confirmada torna o brief do agente muito mais forte.\n\n4. **Sabatinar (se necessário).** Se a solicitação precisar ser detalhada, execute as skills `\u002Fgrilling` e `\u002Fdomain-modeling` juntas — molde-a por meio de sabatina, uma rodada de perguntas por vez, refinando termos de domínio e atualizando `CONTEXT.md`\u002FADRs inline conforme as decisões são tomadas.\n\n5. **Aplique o resultado:**\n   - `ready-for-agent` — publique um comentário de brief de agente ([AGENT-BRIEF.md](AGENT-BRIEF.md)).\n   - `ready-for-human` — mesma estrutura de um brief de agente, mas anote por que não pode ser delegado (decisões de julgamento, acesso externo, decisões de design, testes manuais).\n   - `needs-info` — publique notas de triagem (template abaixo).\n   - `wontfix` — feche, com o comentário dependendo do *porquê*:\n     - **Já implementado** — a alteração já existe na base de código. Aponte onde ela vive; **não** escreva em `.out-of-scope\u002F` (essa base de conhecimento é para solicitações *rejeitadas*, não construídas).\n     - **Rejeitado (bug)** — explicação educada e feche.\n     - **Rejeitado (enhancement)** — escreva em `.out-of-scope\u002F`, crie um link para ele a partir de um comentário e feche ([OUT-OF-SCOPE.md](OUT-OF-SCOPE.md)).\n   - `needs-triage` — aplique o papel. Comentário opcional se houver progresso parcial.\n\n## Sobrescrita rápida de estado\n\nSe o mantenedor disser \"mova #42 para ready-for-agent\", confie nele e aplique o papel diretamente. Confirme o que está prestes a fazer (mudanças de papel, comentário, fechamento) e aja. Pule a sabatina. Se estiver movendo para `ready-for-agent` sem uma sessão de sabatina, pergunte se ele deseja escrever um brief de agente.\n\n## Template de needs-info\n\n```markdown\n## Notas de Triagem\n\n**O que já estabelecemos até agora:**\n\n- ponto 1\n- ponto 2\n\n**O que ainda precisamos de você (@reporter):**\n\n- pergunta 1\n- pergunta 2\n```\n\nCapture tudo o que foi resolvido durante a sabatina em \"o que já estabelecemos até agora\" para que o trabalho não seja perdido. As perguntas devem ser específicas e acionáveis, não \"por favor, forneça mais informações\".\n\n## Retomando uma sessão anterior\n\nSe existirem notas de triagem anteriores na issue ou PR, leia-as, verifique se o relator respondeu a alguma pergunta pendente e apresente um panorama atualizado antes de continuar. Não faça novamente perguntas já resolvidas.\n",{"name":5,"description":7,"disable-model-invocation":24},true,"main","856f969876d3661ac06e93e82beda8904677c957","skills\u002Fengineering\u002Ftriage","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes","matheusdemarcolopes.com.br","Developer","2026-08-16 10:59:19",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":24},[35,38,41],{"tool":36,"command":37},"npx","npx skills add matheusdmlopes\u002Fskills-ptbr --skill triage",{"tool":39,"command":40},"bunx","bunx skills add matheusdmlopes\u002Fskills-ptbr --skill triage",{"tool":42,"command":43},"pnpm","pnpm dlx skills add matheusdmlopes\u002Fskills-ptbr --skill triage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Ftriage\u002FSKILL.md",[46,52,56],{"path":47,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":50,"sourceHtmlUrl":51},"AGENT-BRIEF.md","REFERENCE","参考文档",9249,"https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Ftriage\u002FAGENT-BRIEF.md",{"path":53,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":54,"sourceHtmlUrl":55},"agents\u002Fopenai.yaml",145,"https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Ftriage\u002Fagents\u002Fopenai.yaml",{"path":57,"resourceType":48,"resourceTypeDesc":49,"sizeBytes":58,"sourceHtmlUrl":59},"OUT-OF-SCOPE.md",5410,"https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fengineering\u002Ftriage\u002FOUT-OF-SCOPE.md",[61,68,75,82,89,96],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":19},"01M7APGYCEMRP2Z8R926B42PB9","writing-for-agents","Redação de documentos para agentes. Use ao criar ou editar skills, ou ao modificar AGENTS.md ou CLAUDE.md.","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fwriting-for-agents\u002FSKILL.md",[],[],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":19},"01M7APGVKK4MRXM4Z61E75VNH2","wait-what","Pare. A última mensagem não ficou clara — reformule a explicação.","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fwait-what\u002FSKILL.md",[],[],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M7APGR9YYE8YW1ZX7NRACGME","to-questionnaire","Transforme uma decisão que você não consegue responder totalmente em um questionário para outra pessoa preencher.","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fto-questionnaire\u002FSKILL.md",[],[],{"skillNo":83,"name":84,"nameZh":6,"description":85,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":86,"categories":87,"keywords":88,"publishedAt":19},"01M7APGMHE0796QV2S13AP98AP","teach","Ensine ao usuário uma nova habilidade ou conceito, dentro deste workspace.","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fteach\u002FSKILL.md",[],[],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":19},"01M7APGJKKE94TRFCEXB8VE8VW","handoff","Compacte a conversa atual em um documento de handoff para outro agente assumir.","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fhandoff\u002FSKILL.md",[],[],{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":19},"01M7APGFMVWCEAH0SV5SHZGZE7","grilling","Sabatine o usuário implacavelmente sobre um plano, decisão ou ideia. Use quando o usuário quiser estressar seu raciocínio ou usar qualquer frase de ativação com 'grill'.","https:\u002F\u002Fgithub.com\u002Fmatheusdmlopes\u002Fskills-ptbr\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fgrilling\u002FSKILL.md",[],[]]