Skills para agentes de IA em Delphi, C++Builder e .NET | eSeGeCe

Skills para agentes de IA em Delphi, C++Builder e .NET

Seu assistente de IA nunca leu o código-fonte da eSeGeCe, por isso inventa propriedades que não existem e coloca componentes na unit errada. As skills de agente entregam a ele a API pública real de cada biblioteca. Gratuitas, licenciadas sob MIT e instaladas em uma linha.

Código confiante que não compila

Peça a um assistente um cliente WebSocket em Delphi e você recebe algo bem estruturado e sutilmente errado. O motivo não é descuido do modelo. É que o modelo nunca viu esta biblioteca.

Esses modelos aprenderam com código público. Os componentes eSeGeCe são comerciais, portanto seu código-fonte nunca esteve em um conjunto de treinamento. O modelo reconhece o formato de uma biblioteca de componentes Delphi e preenche o resto com outras bibliotecas que conhece. Isso produz quatro modos de falha, e todos os quatro custam a você os mesmos vinte minutos até descobrir qual linha plausível é a errada.

Membros inventados

Uma propriedade ou evento que parece exatamente algo que teríamos escrito, e que não existe. O compilador é a primeira coisa a lhe dizer isso.

A unit errada

O componente é real, a cláusula uses não. Esse é, de longe, o motivo mais comum de o código sgcWebSockets gerado não compilar.

Uma API de três versões atrás

Quando um modelo viu um fragmento de um exemplo antigo, ele reproduz sem hesitar um método que renomeamos ou removemos.

Erros silenciosos de edição

Código que compila para nós e não para você, porque o componente usado exige uma edição que sua licença não inclui.

Documentação que o agente lê sob demanda

Uma skill não é um plugin que executa, nem um modelo treinado em coisa alguma. É uma pasta de Markdown, e o mecanismo é deliberadamente simples.

1. O agente lê uma descrição curta

Toda skill começa com algumas linhas de frontmatter, e a única parte que o agente tem sempre diante de si é a description. Ela diz, em termos simples, qual biblioteca e qual área temática a skill cobre.

É isso que mantém o custo baixo. Seu agente não fica carregando milhares de linhas de referência de API enquanto você pergunta sobre outro assunto.

SKILL.md
---
name: sgcwebsockets-mq
description: Use when connecting Delphi or
  C++Builder code to a message broker with
  sgcWebSockets: MQTT, STOMP including
  RabbitMQ and ActiveMQ, AMQP 0.9.1, AMQP
  1.0, Kafka and WAMP2.
compatibility: Requires Delphi 7 to Delphi
  13, or C++Builder 2007 to 13.
---

2. Sua pergunta decide o que é carregado

Quando você pergunta sobre um broker MQTT, essa descrição corresponde e o agente carrega a skill de message brokers. Nada mais é aberto. Pergunte sobre WebRTC e outra skill é carregada.

Dentro da skill ele navega da mesma forma que você faria: o índice de componentes para encontrar o componente, depois a página de API desse componente, depois a página de tipo de uma classe de opções cujos valores ele precisa.

skill folder
sgcwebsockets-mq/
  SKILL.md
  reference/
    components-index.md
    api/TsgcWSPClient_MQTT.md
    types/TsgcWSMQTTLWT_Options.md
  examples/TsgcWSPClient_MQTT.md
  concepts/overview.md

3. O conteúdo é gerado a partir do nosso código-fonte

Não escrevemos as páginas de API à mão. Um gerador analisa a biblioteca a cada versão e emite a superfície public e published: cada componente, suas propriedades, métodos e eventos, a unit em que ele vive, a edição que o inclui e os tipos que esses membros usam.

Assim, as skills descrevem a versão que você realmente tem. Elas não podem se desatualizar como um documento mantido à mão, e um componente adicionado no mês passado já está nelas no dia em que é publicado.

reference/api/TsgcWSPClient_MQTT.md
unit: sgcWebSocket_Protocols
Edition: Standard

| Delphi | Type |
| `Client: TsgcWebSocketClient` | ... |
| `MQTTVersion: TwsMQTTVersion` | ... |
| `LastWillTestament: ...`      | ... |

4. Uma pessoa escreve a parte que um gerador não consegue

Tabelas geradas dizem ao agente o que existe. Elas não dizem que um componente de protocolo não possui socket próprio, que ele se conecta a um cliente de transporte, ou que um broker na porta 1883 exige Specifications.RFC6455 definido como False.

Por isso cada skill começa com um guia prático escrito por quem escreveu a biblioteca: quando usá-la, o que perguntar a você antes de escrever qualquer código, e os erros que realmente pegam as pessoas.

the playbook
## Things that catch people out

- Setting Active = true on the protocol
  component does nothing useful. The
  transport client owns the connection.
- One transport carries one protocol.
- MQTT has two heartbeats, and they are
  different mechanisms with the same name.

Instale uma vez, depois é só perguntar

Três agentes instalam plugins diretamente. Os demais leem uma pasta, então você copia uma para lá. Depois disso não há nada a invocar: o agente decide quando uma skill é relevante.

/plugin marketplace add esegece-com/agent-skills
/plugin install sgcwebsockets-delphi@esegece

Adicione o marketplace uma vez e depois instale quantos plugins você usar. /skills lista o que está ativo. Instalar um segundo produto mais tarde não exige repetir o passo do marketplace.

codex plugin marketplace add esegece-com/agent-skills
codex plugin add sgcwebsockets-delphi@esegece
codex plugin list

O Codex usa plugin add em vez de plugin install, e o mesmo nome de marketplace.

Clone o repositório e copie a pasta da skill que você quer de plugins/<plugin>/skills/ para o diretório que seu agente monitora. O nível de projeto tem precedência sobre o global, portanto uma skill colocada em um repositório vale apenas para aquele projeto.

AgenteEm um projetoGlobalmente
Claude Code.claude/skills/%USERPROFILE%\.claude\skills\
GitHub Copilot.github/skills/%USERPROFILE%\.copilot\skills\
Cursor.cursor/skills/
Codex CLI.agents/skills/
JetBrains Junie.junie/skills/%USERPROFILE%\.junie\skills\

Os caminhos do Copilot são lidos igualmente pelo Visual Studio, pelo VS Code e pelo Copilot CLI. No VS Code, ative a configuração "Chat: Use Agent Skills", ou execute "Chat: Install Plugin From Source" na Paleta de Comandos e informe a URL do repositório.

O que muda depois de instalá-las

A diferença não é que o assistente fique mais inteligente. É que ele para de adivinhar sobre a nossa biblioteca.

Código que compila

Os membros vêm da API gerada, e não de semelhança, portanto as propriedades e os eventos da resposta são os que o componente realmente publica.

A cláusula uses correta

Toda página de API informa a unit em que o componente vive e, no .NET, o namespace único. Só isso já elimina a falha de compilação mais frequente.

Edições respondidas de antemão

Cada componente traz sua edição mínima, então o assistente pode avisar que um componente exige a Enterprise antes de você escrever código para ele.

Ele sabe o que não sabe

As skills dizem claramente quais partes estão documentadas. Um assistente que não encontra uma enumeração é orientado a perguntar em vez de inventar uma constante que parece certa.

Exemplos reais, não esboços

Cada exemplo é destilado de uma demo que acompanha o produto, reduzido às partes que tocam o componente em vez de um formulário inteiro.

Atualizadas por construção

Regeradas a partir do código-fonte a cada versão. Um componente novo é documentado no dia em que é publicado, e um removido desaparece no mesmo dia.

Apenas o que você perguntou

A divisão por tema faz com que uma pergunta sobre MQTT carregue somente a skill de message brokers, de modo que o restante de uma biblioteca de 222 componentes fica fora da conversa.

Gratuitas, e sem necessidade de licença

Licenciadas sob MIT e públicas. Você pode instalá-las para avaliar a biblioteca antes de comprar qualquer coisa, e lê-las como documentação por si só.

Seis plugins para as bibliotecas

Um plugin por produto e, no caso do sgcWebSockets, um plugin que contém várias skills temáticas em vez de uma única grande.

PluginSkillsCobre
sgcwebsockets-delphi18Núcleo WebSocket, message brokers, subprotocolos sgc, feeds de exchanges, IA e LLM, integrações de serviços, HTTP e transportes, autenticação, P2P e WebRTC, IoT, e seis para os widgets do sgcHTML
sgcwebsockets-dotnet7A mesma biblioteca a partir de C#, com a página de cobertura descrita abaixo
sgcsign-delphi1XAdES, PAdES, CAdES, Authenticode, carimbo de tempo RFC 3161, OCSP e os provedores de chaves
sgcopenapi-delphi1O parser OpenAPI, o gerador de SDK e o componente de servidor
sgcindy-delphi1A implementação TCP/IP customizada do Indy
sgcbiometrics-delphi1Windows Hello, autenticação por impressão digital e facial

Por que o sgcWebSockets tem dezoito skills

A biblioteca registra 222 componentes. Uma única skill que cobrisse todos eles forçaria o agente a abrir a biblioteca inteira para responder a uma pergunta sobre um protocolo, o que é lento e piora a resposta em vez de melhorá-la.

Por isso ela é dividida por área. Cada skill é pequena o bastante para ser lida por inteiro e específica o bastante para ser escolhida corretamente, e um índice geral ainda responde "de qual componente eu preciso" e encaminha para o certo.

Uma resposta direta sobre o .NET

O assembly .NET distribuído expõe 70 dos 222 componentes que a biblioteca Delphi registra. Preferimos dizer isso a deixar um assistente improvisar uma API C# que não existe.

Por isso o plugin .NET traz uma página de cobertura gerada, nomeando os 152 que são exclusivos do Delphi, com a unit em que cada um vive. Ela é produzida comparando os dois produtos no momento da compilação, portanto descreve o build que você tem, e não uma intenção.

Documentação, e nada mais

Vale ser preciso aqui, porque "instale este plugin" naturalmente faz as pessoas perguntarem o que ele faz.

Nada é executado

Uma skill é Markdown. Não há código nela, nada roda na sua máquina, e instalar uma não pode alterar o seu projeto.

Nada é enviado para nós

Sem telemetria, sem chamadas de retorno, sem registro do que você perguntou. Não sabemos que você as instalou, e os arquivos funcionam offline depois de copiados.

Nenhum código-fonte é exposto

Apenas a superfície public e published é incluída. Corpos de métodos, campos private e membros protected são excluídos pelo gerador, portanto instalar uma skill não coloca a nossa implementação no disco de ninguém.

Licenciadas sob MIT

O repositório é MIT, então você pode copiar, fazer fork e adaptar a estrutura livremente. Um arquivo NOTICE reserva o conteúdo da documentação em si, que continua sendo nosso.

Perguntas que as pessoas fazem

Ensine a API ao seu assistente

Gratuitas, licenciadas sob MIT e instaladas com uma linha. Depois, faça a pergunta que você ia fazer de qualquer forma.