As skills são o superpoder do Hermes Agent. Permitem estender as capacidades do agente com comandos personalizados, ferramentas externas e integrações com qualquer API ou serviço.
O que é uma Skill?
Uma skill é um conjunto de instruções que ensina o agente a executar uma tarefa específica. Pode ser tão simples como "pesquisar na web" ou tão complexa como "gerir uma base de dados inteira".
Tipos de Skills
- Skills de Comando — o agente aprende um novo comando que pode ser invocado por texto
- Skills de Ferramenta — integram APIs externas, bases de dados ou serviços web
- Skills de Fluxo — combinam múltiplos passos num pipeline automatizado
- Skills de Conhecimento — adicionam documentação ou contexto específico ao agente
Estrutura de uma Skill (YAML)
name: pesquisar_web
description: Pesquisa na web e retorna resultados resumidos
author: MarcTechJA
version: "1.0"
inputs:
query:
type: string
description: Termo de pesquisa
required: true
steps:
- name: pesquisar
action: web_search
params:
query: "{{ inputs.query }}"
max_results: 5
- name: resumir
action: llm.generate
params:
prompt: |
Resume o seguinte conteúdo em até 300 palavras:
{{ steps.pesquisar.output }}
outputs:
resumo: "Resumo dos resultados da pesquisa sobre {{ inputs.query }}"
Exemplo Prático: Skill de Email
name: enviar_email
description: Envia email via SMTP
author: MarcTechJA
version: "1.0"
inputs:
to:
type: string
description: Endereço de email do destinatário
required: true
subject:
type: string
description: Assunto do email
required: true
body:
type: string
description: Corpo da mensagem
required: true
steps:
- name: enviar
action: tools.email.send
params:
to: "{{ inputs.to }}"
subject: "{{ inputs.subject }}"
body: "{{ inputs.body }}"
smtp_host: "smtp.gmail.com"
smtp_port: 587
username: "{{ env.EMAIL_USER }}"
password: "{{ env.EMAIL_PASS }}"
outputs:
status: "Email enviado com sucesso para {{ inputs.to }}"
Skills em Python
Para maior flexibilidade, podes criar skills em Python:
from hermes.skills import Skill
class AnalisarSentimento(Skill):
name = "analisar_sentimento"
description = "Analisa o sentimento de um texto"
def run(self, text: str) -> dict:
palavras_positivas = ["bom", "ótimo", "excelente", "gosto", "adorei"]
palavras_negativas = ["mau", "péssimo", "horrível", "odeio", "detesto"]
texto_min = text.lower()
score = sum(1 for p in palavras_positivas if p in texto_min)
score -= sum(1 for n in palavras_negativas if n in texto_min)
sentimento = "positivo" if score > 0 else "negativo" if score < 0 else "neutro"
return {"sentimento": sentimento, "score": score}
Onde Colocar as Skills
As skills são armazenadas no diretório ~/.hermes/skills/. Cada skill num ficheiro .yaml ou .py. O Hermes Agent carrega automaticamente todas as skills neste diretório ao iniciar.
Próximos Passos
O universo de skills é vasto. No Guia Completo do Hermes Agent, exploramos dezenas de skills, desde automações empresariais até integrações com APIs complexas, com exemplos prontos a usar.
Domina as Skills do Hermes Agent
O Guia Completo tem capítulos dedicados à criação de skills para todos os níveis.
Saber Mais Sobre o Livro