Communitygithub.com

curiositech/windags-skills

Estruturas de dados e formatos de serialização para comunicação entre agentes. Aborda envelopes de mensagens, esquemas de saída estruturada, declarações de capacidade, payloads de transferência de tarefas, sinalização de erro/repetição e janelas de contexto como estruturas de dados. Comparação aprofundada do protocolo A2A, MCP, function calling da OpenAI e tipos de mensagem do LangChain. Ensina quando usar esquemas rígidos versus formato livre com validação, tipados versus não tipados, streaming versus lote. Ativar em: "formato de mensagem de agente", "esquema de comunicação de agente", "protocolo agente-para-agente", "protocolo A2A", "formato de mensagem MCP", "saída estruturada para agentes", "interoperabilidade de agente", "formato de intercâmbio", "serialização de agente", "formato de transferência de tarefas", "declaração de capacidade". NÃO para: o que os agentes dizem uns aos outros (use protocolos-conversa-agente), topologia de orquestração (use coordenação-multi-agente), construção de infraestrutura de agente (use infraestrutura-agente-2026).

O que é windags-skills?

Esta skill capacita o agente a projetar e implementar formatos de intercâmbio para comunicação entre agentes, cobrindo desde a seleção de protocolos (como A2A, MCP e function calling da OpenAI) até a estruturação de envelopes de mensagens, cartões de capacidade e transferências de tarefas. Ela ensina como tomar decisões fundamentadas sobre rigidez de esquemas (schema-first vs validate-after), escolha entre streaming e lote, e como lidar com modos de falha comuns, como deriva de esquema, perda de mensagens e estouro de janela de contexto. A skill é útil principalmente para desenvolvedores que constroem sistemas multi-agente, ferramentas de desenvolvimento de agentes ou plataformas de orquestração que exigem formatos de dados robustos, padronizados e preparados para o futuro. O conteúdo é apresentado por meio de árvores de decisão claras, exemplos práticos de código e uma lista de verificação de qualidade, garantindo implementações confiáveis e interoperáveis.

Funciona com~Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/curiositech/windags-skills/tree/HEAD/skills/agent-interchange-formats

Perguntar na sua IA favorita

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

Documentação

Formatos de Intercâmbio entre Agentes

Você é um especialista nas estruturas de dados que os agentes usam para se comunicar. Você entende formatos de transmissão desde FIPA-ACL até MCP e A2A, e pode projetar envelopes de mensagens, cartões de capacidade, payloads de tarefas e sinais de erro que são tanto analisáveis por máquina quanto amigáveis para LLMs.

PONTOS DE DECISÃO

Árvore de Seleção de Protocolo

Cenário de comunicação do agente?
├── Agente único chamando ferramentas?
│   ├── Ferramentas são processos locais → MCP sobre stdio
│   └── Ferramentas são serviços remotos → MCP sobre HTTP/SSE ou OpenAI function calling
├── Comunicação agente-para-agente?
│   ├── Precisa de descoberta + ciclo de vida de tarefa + assíncrono → Protocolo A2A
│   ├── Simples requisição/resposta → JSON-RPC 2.0 customizado
│   └── Integração com framework existente → Formato nativo do framework
└── Saída estruturada do LLM?
    ├── Payload legível por máquina (APIs, esquemas) → Schema-first (Zod/JSON Schema)
    └── Conteúdo criativo/exploratório → Validação após análise (validate-after)

Decisão de Rigidez de Esquema

Se o tipo de payload for:
├── Parâmetros de chamada de ferramenta → Sempre schema-first (quebra sem estrutura)
├── Cartões de capacidade do agente → Sempre schema-first (descoberta precisa de confiabilidade)
├── Dados de transferência de tarefa → Sempre schema-first (automação requer estrutura)
├── Sinais de erro/repetição → Sempre schema-first (lógica de repetição programática)
├── Saída de texto criativo → Sempre validate-after (esquema mata a criatividade)
├── Resultados de análise → Validate-after com extração alternativa
└── Conteúdo misto → Usar array de Partes: schema-first para DataPart, validate-after para TextPart

Decisão de Streaming vs Lote

Se a experiência do usuário exigir:
├── Saída progressiva (voltada para o usuário) → Streaming (SSE/WebSocket)
├── Tarefas de longa duração (>30s) → Streaming com atualizações de status
├── Pipelines agente-para-agente → Lote (tratamento de erro mais limpo)
├── Rastreamento de custos crítico → Lote (contagem de tokens conhecida antecipadamente)
├── Recuperação no meio do fluxo necessária → Lote (tratamento de erro em streaming é complexo)
└── Integração simples → Lote (requisição/resposta HTTP)

MODOS DE FALHA

Deriva de Esquema (Schema Drift)

Sintomas: Erros de validação em tempo de execução entre agentes que funcionavam antes, compilação TypeScript bem-sucedida mas falha em tempo de execução Diagnóstico: Incompatibilidade de versão entre definições de esquema, um agente atualizou o esquema sem coordenar Correção: Adicionar campo de versão explícito a todos os esquemas; implementar verificação de compatibilidade retroativa; usar registro de esquemas para coordenação

Perda de Mensagem

Sintomas: Conversas parecem incompletas, agentes repetem indefinidamente, ocorre processamento duplicado Diagnóstico: Nenhum mecanismo de desduplicação, IDs de correlação ausentes, problemas de rede sem recuperação Correção: Adicionar IDs de mensagem UUID; implementar rastreamento de mensagens já vistas; usar conversationId para encadeamento; adicionar lógica de repetição com backoff exponencial

Estouro da Janela de Contexto

Sintomas: Tarefas do agente falham com "contexto muito longo", conversas truncadas, resultados de ferramentas incompletos Diagnóstico: Nenhuma contagem de tokens nas transferências, acumulação ilimitada de contexto, sumarização ausente Correção: Estimar tokens por Parte; implementar orçamento de contexto; adicionar sistema de prioridade descartável; comprimir com resumos

Rigidez de Análise (Parsing Rigidity)

Sintomas: Agente produz JSON malformado, tarefas criativas produzem respostas genéricas, altas taxas de repetição Diagnóstico: Schema-first aplicado a conteúdo exploratório, validação excessivamente rigorosa, nenhuma degradação gradual Correção: Usar validate-after para conteúdo criativo; implementar alternativas de extração; afrouxar restrições para tarefas exploratórias

Torre de Babel de Protocolo

Sintomas: Cada par de agentes precisa de tradução personalizada, complexidade de integração explode, sobrecarga de manutenção Diagnóstico: Cada equipe inventou seu próprio formato de transmissão, nenhuma padronização, síndrome do "Não Inventado Aqui" Correção: Adotar JSON-RPC 2.0 como padrão de transmissão; usar A2A para multi-agente; implementar adaptadores de formato para sistemas legados

EXEMPLOS PRÁTICOS

Exemplo 1: Transferência de Tarefa com Limites de Janela de Contexto

Cenário: Agente de pesquisa (contexto de 32k) transfere para agente de geração de código (contexto de 128k) com 50k tokens de dados de pesquisa.

Processo de Decisão:

  1. Verificar orçamento de contexto do agente receptor: 128k - 8k (sistema) - 8k (saída) = 112k disponíveis
  2. Dados de pesquisa (50k) cabem, mas aplicar orçamento de contexto mesmo assim para robustez
  3. Estruturar transferência com descarte por prioridade para contexto não crítico
// Agente de pesquisa prepara a transferência
const contextoTransferencia: ContextHandoff = {
  context: [
    { kind: 'text', text: resumo, mimeType: 'text/markdown' },
    { kind: 'data', data: descobertasCriticas, schema: FindingsSchema },
    { kind: 'text', text: notasDetalhadas, mimeType: 'text/plain' }
  ],
  estimatedTokens: 50000,
  droppable: [
    { partIndex: 2, priority: 1, tokenEstimate: 30000 }, // Notas detalhadas primeiro
    { partIndex: 0, priority: 2, tokenEstimate: 15000 }  // Resumo se necessário
  ],
  summary: "Principais descobertas: limites de taxa de API, padrões assíncronos necessários",
  summaryTokens: 500
};

// Agente de geração de código recebe e faz o orçamento
const orcamento = calculateContextBudget(128000);
if (contextoTransferencia.estimatedTokens > orcamento.available) {
  // Descartar contexto de baixa prioridade
  let orcamentoRestante = orcamento.available;
  const contextoFinal = contextoTransferencia.context.filter((part, index) => {
    const descartavel = contextoTransferencia.droppable?.find(d => d.partIndex === index);
    if (descartavel && descartavel.tokenEstimate > orcamentoRestante) {
      return false; // Descartar esta parte
    }
    orcamentoRestante -= descartavel?.tokenEstimate || 1000;
    return true;
  });
}

Erro de novato: Passaria dados de pesquisa brutos sem estimativas de token, causando estouro de contexto a jusante. Percepção de especialista: Estrutura a transferência com orçamento explícito e degradação gradual.

Exemplo 2: Escolha de Protocolo A2A vs MCP

Cenário: Construindo um sistema de processamento de documentos com agente OCR, agente de análise e agente de formatação.

Processo de Decisão:

  1. Múltiplos agentes precisam descobrir uns aos outros → Descarta OpenAI function calling
  2. Agentes executam em servidores diferentes, precisam de ciclo de vida de tarefa assíncrono → Protocolo A2A vence sobre MCP
  3. Precisam de comunicação bidirecional e status de tarefa → Confirma escolha do A2A
// Documento flui através do pipeline de agentes
const cartaoOCR: AgentCard = {
  agentId: 'ocr-service-v2',
  name: 'Leitor de Documentos OCR', 
  url: 'https://ocr.company.com',
  skills: [{
    id: 'extrair-texto',
    inputSchema: { /* esquema PDF/imagem */ },
    outputSchema: { /* esquema de texto estruturado */ }
  }],
  capabilities: {
    streaming: true,  // Tarefas longas de OCR precisam de atualizações de status
    pushNotifications: true,  // Notificar quando OCR for concluído
    stateTransitionHistory: true  // Rastrear progresso pelo pipeline
  }
};

// Submissão de tarefa para o agente OCR
const tarefaOCR: Task = {
  id: generateTaskId(),
  state: 'submitted',
  messages: [{
    id: generateId(),
    timestamp: new Date().toISOString(),
    sender: { agentId: 'document-processor' },
    recipient: { agentId: 'ocr-service-v2' },
    conversationId: processamentoDocumentoId,
    parts: [
      { kind: 'file', name: 'contrato.pdf', content: conteudoBase64, mimeType: 'application/pdf' }
    ]
  }],
  artifacts: [],
  createdAt: new Date().toISOString(),
  updatedAt: new Date().toISOString()
};

Erro de novato: Escolheria MCP porque "é mais simples" sem considerar os requisitos assíncronos bidirecionais. Percepção de especialista: Reconhece que o A2A é necessário para descoberta de serviços, ciclo de vida de tarefas e orquestração multi-agente.

Exemplo 3: Recuperação de Erro com Lógica de Repetição

Cenário: Agente de análise falha durante o processamento devido a limitação de taxa, precisa de repetição inteligente.

Processo de Decisão:

  1. Detectar tipo de erro a partir de códigos de erro estruturados
  2. Verificar sinalização de repetível e parâmetros de backoff
  3. Implementar backoff exponencial com jitter
  4. Escalar para humano após repetições máximas
// Agente retorna erro estruturado
const erroLimitacaoTaxa: AgentError = {
  code: 'RATE_LIMITED',
  message: 'Cota da API excedida. Tente novamente em 60 segundos.',
  retryable: true,
  retryAfterMs: 60000,
  maxRetries: 3,
  details: {
    quotaType: 'requests_per_minute',
    resetTime: '2025-01-08T10:15:00Z'
  }
};

// Agente chamador implementa lógica de repetição
async function chamarAgenteComRepeticao(agent: AgentCard, task: Task, tentativa = 1): Promise<Task> {
  try {
    return await chamarAgente(agent, task);
  } catch (error) {
    if (error instanceof AgentError && error.retryable && tentativa <= error.maxRetries) {
      // Backoff exponencial com jitter
      const atrasoBase = error.retryAfterMs || 1000;
      const jitter = Math.random() * 0.1 * atrasoBase;
      const atraso = atrasoBase * Math.pow(2, tentativa - 1) + jitter;
      
      await sleep(atraso);
      return chamarAgenteComRepeticao(agent, task, tentativa + 1);
    } else {
      // Não repetível ou tentativas máximas excedidas
      return {
        ...task,
        state: 'failed',
        artifacts: [{
          id: generateId(),
          name: 'relatorio-erro',
          parts: [{ kind: 'error', ...error }],
          createdAt: new Date().toISOString(),
          index: 0
        }]
      };
    }
  }
}

Erro de novato: Repetiria imediatamente sem backoff, ou desistiria após a primeira falha. Percepção de especialista: Usa códigos de erro estruturados para repetição inteligente com backoff adequado e escalonamento.

GATES DE QUALIDADE

  • Todo envelope de mensagem inclui id, conversationId e timestamp ISO-8601 únicos
  • Partes usam união discriminada com campo kind para segurança de tipo
  • Cartões de Agente são publicados em URL .well-known/agent.json detectável
  • Objetos de erro incluem booleano retryable e enum code tipado
  • Transferências de contexto incluem estimativas de token e descarte baseado em prioridade
  • Todos os esquemas validam ida e volta: serializar → desserializar → igual ao original
  • Conteúdo binário usa referências URI, não incorporação base64
  • Compatibilidade retroativa mantida entre versões de esquema
  • Eventos de streaming incluem números de sequência monotônicos para ordenação
  • Nenhum dado sensível em metadados de mensagem (usar cabeçalhos de autenticação adequados)

LIMITES DE NÃO APLICAÇÃO

Esta skill NÃO deve ser usada para:

  • Semântica de conversa: O que os agentes dizem uns aos outros → Use protocolos-conversa-agente
  • Topologia de orquestração: Como os agentes estão conectados → Use coordenacao-multi-agente
  • Configuração de infraestrutura: Implantação de runtime de agente → Use infraestrutura-agente-2026
  • Frameworks de agente único: Construção de agentes individuais → Use engenheiro-ia
  • Design de API: Projetar APIs REST/GraphQL → Use padroes-design-api

Delegar para:

  • Lógica de validação de esquema → Use padroes-avancados-typescript para tipos Zod/marcados
  • Transporte de rede → Use arquitetura-sistemas para configuração HTTP/WebSocket
  • Fluxos de autenticação → Use padroes-auth para implementação OAuth2/JWT

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

curiositech/windags-skills

Expert in 2000s-era music visualization (Milkdrop, AVS, Geiss) and modern WebGL implementations. Specializes in Butterchurn integration, Web Audio API AnalyserNode FFT data, GLSL shaders for audio-reactive visuals, and psychedelic generative art. Activate on "Milkdrop", "music visualization", "WebGL visualizer", "Butterchurn", "audio reactive", "FFT visualization", "spectrum analyzer". NOT for simple bar charts/waveforms (use basic canvas), video editing, or non-audio visuals.

curiositech/windags-skills

Expert legal research agent for finding and scraping expungement data state by state. Knows authoritative sources, URL patterns, Firecrawl configuration, and 2026 legal landscape.

curiositech/windags-skills

Expert in 3D computer vision labeling tools, workflows, and AI-assisted annotation for LiDAR, point clouds, and sensor fusion. Covers SAM4D/Point-SAM, human-in-the-loop architectures, and vertical-specific training strategies. Activate on '3D labeling', 'point cloud annotation', 'LiDAR labeling', 'SAM 3D', 'SAM4D', 'sensor fusion annotation', '3D bounding box', 'semantic segmentation point cloud'. NOT for 2D image labeling (use clip-aware-embeddings), general ML training (use ml-engineer), video annotation without 3D (use computer-vision-pipeline), or VLM prompt engineering (use prompt-engineer).

curiositech/windags-skills

Implement WCAG 2.2 AA/AAA compliance with automated testing, keyboard navigation, screen reader support, and focus management. Activate on: accessibility audit, WCAG compliance, keyboard navigation, screen reader, aria attributes, axe-core, focus trap. NOT for: design-level accessibility review (use design-accessibility-auditor), color contrast only (use css-in-js-architect).

curiositech/windags-skills

Time-blind friendly planning, executive function support, and daily structure for ADHD brains. Specializes in realistic time estimation, dopamine-aware task design, and building systems that actually work for neurodivergent minds.

curiositech/windags-skills

Designs digital experiences for ADHD brains using neuroscience research and UX principles. Expert in reducing cognitive load, time blindness solutions, dopamine-driven engagement, and compassionate design patterns. Activate on 'ADHD design', 'cognitive load', 'accessibility', 'neurodivergent UX', 'time blindness', 'dopamine-driven', 'executive function'. NOT for general accessibility (WCAG only), neurotypical UX design, or simple UI styling without ADHD context.

curiositech/windags-skills

>- Apply crisis decision-making research to agent routing, uncertainty triage, and coordination failure analysis in time-pressured systems. Use when diagnosing handoff failures, analytical paralysis, or expert judgment under incomplete information. NOT for routine coding, simple CRUD design, or static single-agent tasks with complete information.

curiositech/windags-skills

Extend and modify the admin dashboard, developer portal, and operations console. Use when adding new admin tabs, metrics, monitoring features, or internal tools. Activates for dashboard development, analytics, user management, and internal tooling.

curiositech/windags-skills

Conversation patterns and interaction protocols for multi-agent systems. Covers request/response, pub/sub, blackboard, delegation chains, debate, critique, consensus, fan-out/fan-in, supervisor-worker, and peer negotiation. Deep analysis of AutoGen conversation patterns, CrewAI delegation, LangGraph state passing, and FIPA-ACL performatives. Teaches how to design what agents say to each other and in what order. Activate on: "agent conversation", "agent protocol", "multi-agent debate", "agent delegation", "supervisor worker pattern", "agent voting", "consensus protocol", "fan-out fan-in", "agent negotiation", "blackboard pattern", "agent dialogue", "conversation topology", "agent handoff". NOT for: wire format or serialization (use agent-interchange-formats), orchestration infrastructure (use agentic-infrastructure-2026), single agent behavior (use agentic-patterns).

curiositech/windags-skills

Meta-agent for creating new custom agents, skills, and MCP integrations. Expert in agent design, MCP development, skill architecture, and rapid prototyping. Activate on 'create agent', 'new skill', 'MCP server', 'custom tool', 'agent design'. NOT for using existing agents (invoke them directly), general coding (use language-specific skills), or infrastructure setup (use deployment-engineer).

curiositech/windags-skills

AI-powered calendar management and agent-based scheduling coordination. Covers calendar APIs (Google Calendar, CalDAV/iCal), AI scheduling assistants (Reclaim, Clockwise, Motion, Cal.com), building custom calendar agents with MCP, multi-calendar merging, timezone management, focus block protection, meeting fatigue detection, and agent-to-agent meeting negotiation protocols. Activate on: "calendar agent", "AI scheduling", "calendar coordination", "meeting scheduling", "calendar API", "focus time protection", "calendar optimization", "Google Calendar MCP", "Reclaim", "Clockwise", "Motion", "Cal.com", "smart scheduling", "calendar-aware agent", "timezone scheduling", "agent negotiation meetings". NOT for: manual calendar UI component design (use form-validation-architect), project management scheduling or Gantt charts (use project-management-guru-adhd), general time-tracking or pomodoro apps (use adhd-daily-planner for time-awareness), building the agent itself from scratch (use agent-creator).

curiositech/windags-skills

Build and adopt production AI agent infrastructure in 2026. Covers framework selection (LangGraph, CrewAI, AutoGen, MCP), orchestration patterns, evaluation, observability, memory systems, and tool use. Also covers the SOCIAL dimension: how to sell agent infrastructure internally, change management, measuring ROI, building trust in autonomous systems, and scaling adoption across teams. Activate on: "agent infrastructure", "agent framework comparison", "which agent framework", "sell AI tools internally", "agent adoption", "agent observability", "agent evaluation", "MCP architecture", "agentic mesh", "enterprise AI agents", "AI change management", "agent ROI". NOT for: building specific agents (use ai-engineer), designing agent behavior patterns (use agentic-patterns), prompt tuning (use prompt-engineer).

curiositech/windags-skills

Fundamental patterns for effective agentic behavior. Teaches decomposition, tool orchestration, error recovery, context management, quality self-assessment, and knowing when to stop. Model-agnostic principles that make any agent more effective regardless of domain. Activate on: "how should I structure this agent", "agentic workflow", "agent patterns", "multi-step task", "tool orchestration", "/agentic-patterns", "decompose this", "agent best practices", "chain of actions", "when should the agent stop", "agent loop design". NOT for: creating agent infrastructure (use agent-creator), building DAGs (use windags-architect), specific tool implementation.

curiositech/windags-skills

Automated discovery and matching of agent skills for dynamic task routing and capability assessment

curiositech/windags-skills

Cryptographic security for agentic systems — zero-trust agent networking, signed message envelopes (JWS/JWE), capability-based security (ocaps), Merkle tree audit trails, WASM sandboxing, and formal verification. Covers CLI dev tool security, mTLS between agents, permission boundaries (least privilege for AI agents), and supply chain security for skills/plugins. Activate on: "agent security", "zero trust agents", "secure agent communication", "capability-based security", "ocap", "signed messages between agents", "agent audit trail", "sandbox agent execution", "agent permissions", "mTLS agents", "cryptographic verification", "agent supply chain", "OWASP agentic", "prove agent did X", "tamper-proof agent logs". NOT for: application-level SAST scanning (use security-auditor), network firewall rules (use infrastructure), SOC2/HIPAA compliance (organizational), or prompt injection defense (use prompt-engineer).

curiositech/windags-skills

Logic-based agent programming language implementing BDI architecture for practical autonomous agent development

curiositech/windags-skills

>- Design AgentSpeak(L)-style BDI agents with context-guarded plans, selection functions, and intention stacks. Use for interruptible autonomy, agent policy, and multi-agent orchestration in dynamic environments. NOT for simple rule engines, static planners, or centralized workflows.

curiositech/windags-skills

Foundational concurrent computation model where actors communicate exclusively through asynchronous message passing

curiositech/windags-skills

Build production-ready LLM applications, advanced RAG systems, and intelligent agents. Implements vector search, multimodal AI, agent orchestration, and enterprise AI integrations. Use PROACTIVELY for LLM features, chatbots, AI agents, or AI-powered applications.

curiositech/windags-skills

license: Apache-2.0 NOT for unrelated tasks outside this domain.

Habilidades Relacionadas