Communitygithub.com

ghostineyt/Swift-Concurrency-Agent-Skill

Melhore assistentes de codificação de IA fornecendo orientação precisa sobre concorrência em Swift, cobrindo async/await, atores, grupos de tarefas e erros comuns de LLM.

O que é Swift-Concurrency-Agent-Skill?

Esta skill é projetada para aprimorar assistentes de codificação de IA (como Claude Code, Cursor, Codex, etc.) com orientação especializada e precisa sobre concorrência em Swift. Ela aborda tópicos essenciais como async/await, atores, grupos de tarefas e padrões de concorrência modernos, ajudando a evitar erros comuns que modelos de linguagem (LLMs) frequentemente cometem ao gerar código Swift concorrente. A skill é útil para desenvolvedores que trabalham com Swift moderno e precisam de assistência confiável em projetos que envolvem operações assíncronas, garantindo que o código gerado siga as melhores práticas e evite armadilhas como data races e deadlocks. Baseia-se em documentação e exemplos práticos, suportando múltiplas plataformas de agentes de IA e fornecendo respostas contextuais baseadas no SKILL.md.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add ghostineyt/Swift-Concurrency-Agent-Skill

Perguntar na sua IA favorita

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

Documentação

O que Swift-Concurrency-Agent-Skill faz?

Melhore assistentes de codificação de IA fornecendo orientação precisa sobre concorrência em Swift, cobrindo async/await, atores, grupos de tarefas e erros comuns de LLM.

Visão Geral

Esta skill fornece conhecimento aprofundado sobre concorrência em Swift, com foco em:

  • async/await e tarefas assíncronas
  • Atores e isolamento de dados
  • Grupos de tarefas e concorrência estruturada
  • Erros comuns que LLMs cometem ao lidar com concorrência Swift

Exemplos de Uso

// Exemplo: Uso correto de async/await
func fetchData() async throws -> Data {
    let url = URL(string: "https://api.example.com/data")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return data
}

// Exemplo: Uso de ator para proteção de estado
actor Counter {
    private var count = 0
    
    func increment() {
        count += 1
    }
    
    func getCount() -> Int {
        return count
    }
}

Evitando Erros Comuns de LLM

  • Data races: Sempre use atores ou bloqueios quando estado compartilhado é acessado concorrentemente.
  • Deadlocks: Evite esperar por tarefas que podem causar bloqueios mútuos.
  • Contexto incorreto: Use @MainActor para operações que devem ser executadas na thread principal.

Referências

Contribuição

Sinta-se à vontade para abrir issues ou pull requests no repositório ghostineyt/Swift-Concurrency-Agent-Skill.

Habilidades Relacionadas