go-concurrency-patterns
Aprenda padrões de concorrência em Go para produção
Código concorrente em Go é difícil de projetar e depurar. Esta habilidade fornece padrões comprovados, exemplos e melhores práticas que você pode adaptar rapidamente.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "go-concurrency-patterns". Sugira um padrão para processar muitos jobs com cancelamento.
Resultado esperado:
- Use um worker pool com um canal de jobs bufferizado
- Passe um contexto para parar workers no cancelamento
- Feche o canal de resultados após todos os workers terminarem
- Adicione errgroup quando precisar de falha rápida em erro
A utilizar "go-concurrency-patterns". Como executo múltiplas funções em paralelo e espero todas terminarem?
Resultado esperado:
- Use sync.WaitGroup para esperar goroutines
- Adicione cada goroutine com wg.Add(1) antes de criar
- Chame wg.Done() em cada defer de goroutine
- Bloqueie com wg.Wait() após iniciar todas as goroutines
A utilizar "go-concurrency-patterns". O que acontece se eu fechar um canal pelo lado do receptor?
Resultado esperado:
- Causa um panic
- Feche canais apenas pelo lado do emissor
- Ou use uma goroutine separada dedicada a fechar
- Verifique se o canal está aberto antes de enviar
Auditoria de Segurança
SeguroAll 58 static findings are FALSE POSITIVES. The scanner matched substrings without semantic context: 'C2' from 'close()', 'weak crypto' from 'WaitGroup', 'dynamic import' from Go import statements, 'backtick execution' from markdown code formatting, and 'path traversal' from code comments. This is a pure documentation skill containing only markdown and JSON files with Go code examples. No executable code, no network calls beyond documentation links, no filesystem access beyond its own files.
Fatores de risco
🌐 Acesso à rede (1)
⚡ Contém scripts (1)
⚙️ Comandos externos (1)
Pontuação de qualidade
O Que Você Pode Construir
Projetar serviços concorrentes
Selecione padrões de worker, pipeline e cancelamento para serviços em produção.
Planejar desligamentos graceful
Adicione tratamento de timeout e desligamento seguro a processos de longa duração.
Entender conceitos básicos de concorrência
Aprenda goroutines, channels e sincronização com exemplos claros.
Tente Estes Prompts
Explica goroutines e channels com um pequeno exemplo para iniciantes.
Fornece um padrão de worker pool em Go com cancelamento de contexto, canal de jobs e canal de resultados.
Mostra um padrão de desligamento graceful usando contexto e sinais do SO, com uma breve explicação.
Compara padrões de limite com semaphore e errgroup e recomenda um para tarefas de busca em APIs.
Melhores Práticas
- Use contexto para cancelamento e deadlines em todas as operações concorrentes
- Feche canais apenas pelo lado do emissor para evitar panics
- Garanta que goroutines tenham um caminho de saída claro e verifiquem ctx.Done regularmente
Evitar
- Usar time.Sleep para sincronização em vez de primitivas adequadas
- Fechar canais pelo lado do receptor que causa panics
- Ignorar ctx.Done em loops de longa duração causando goroutine leaks
Perguntas Frequentes
É compatível com todas as versões do Go?
Quais são os limites desta habilidade?
Pode integrar com minha base de código?
Acessa meus dados ou segredos?
E se um padrão causar deadlocks?
Como se compara à ajuda genérica do Go?
Detalhes do Desenvolvedor
Autor
wshobsonLicença
MIT
Repositório
https://github.com/wshobson/agents/tree/main/plugins/systems-programming/skills/go-concurrency-patternsReferência
main
Estrutura de arquivos
📄 SKILL.md