# Skills

As “**Skills**” são funções reutilizáveis que ampliam as capacidades dos agentes no Studio IA. Elas permitem executar operações específicas — como cálculos, integrações com bancos de dados ou regras de negócio — que o modelo sozinho não consegue realizar de forma eficiente, especialmente em tarefas como matemática ou ações estruturadas.

Uma **Skill** é composta por código Python e pode ser utilizada em fluxos automatizados para dar mais precisão e controle à experiência do usuário.

#### Tipos de Skills

Existem dois tipos principais:

* **Embarcadas (nativas)**: São fornecidas pela plataforma e **não podem ser editadas ou apagadas**.
* **Customizadas**: São criadas pelos usuários a partir do zero ou a partir da duplicação de uma Skill embarcada.

Ao customizar uma Skill embarcada, o sistema cria uma cópia independente. Essa nova versão pode ser editada livremente.

#### 1. **Skills Embarcadas (Nativas)**

Esses são modelos pré-configurados fornecidos pelo próprio **Skyone Studio**. Eles vêm prontos para uso e não podem ser editados ou apagados pelos usuários. Atualmente, o **Skyone Studio** oferece dois modelos embarcados:

* **Skill com RAG**:Utiliza a técnica de Retrieval-Augmented Generation (RAG), permitindo que o agente busque informações externas em tempo real para enriquecer as respostas fornecidas ao usuário.
* **Skill com SQL**: Permite ao agente interagir diretamente com bancos de dados relacionais via SQL, respondendo perguntas e gerando resultados baseados em consultas estruturadas.

Esses modelos são ideais para cenários comuns, garantindo robustez e boas práticas já incorporadas. Entenda um pouco mais:&#x20;

{% tabs %}
{% tab title=" RAG (Retrieval-Augmented Generation)" %}
O RAG é uma técnica avançada de inteligência artificial que combina busca de informações (retrieval) com geração de texto (generation). Em vez de depender apenas do conhecimento aprendido durante o treinamento do modelo, o RAG permite que a IA consulte fontes externas em tempo real — como bases vetoriais ou documentos — para enriquecer e contextualizar suas respostas.

**Componentes e Competências Essenciais no RAG**

* **Compreensão do conceito RAG**: Entender como os modelos de IA podem buscar informações externas em tempo real para complementar suas respostas geradas.
* **Busca Semântica**: Aplicar embeddings e representações vetoriais para identificar os documentos mais relevantes para uma determinada consulta.
* **Indexação Vetorial**: Trabalhar com ferramentas especializadas, como FAISS, Weaviate, Pinecone, Milvus, entre outras, para armazenar e buscar vetores de forma eficiente.
* **Integração com LLMs**: Saber conectar mecanismos de busca (retrievers) a modelos de linguagem (LLMs) como GPT, LLaMA, entre outros, garantindo que a resposta final combine os dados buscados com geração textual fluida.
* **Construção de Pipelines RAG**: Desenvolver o fluxo completo de trabalho: consulta, busca e responde. Garantindo que cada etapa funcione de forma integrada e eficiente.
* **Embedding de Documentos**: Transformar textos em vetores utilizando modelos como all-MiniLM, nomic-embed, entre outros, para alimentar a base vetorial.
* **Frameworks para RAG**: Utilizar frameworks como LangChain, LlamaIndex, Haystack, entre outros, para construir, organizar e orquestrar os pipelines RAG.
* **Avaliação de RAG**: Medir a eficácia do sistema em termos de precisão, relevância das respostas e latência (tempo de resposta), garantindo qualidade e performance.
* **Governança e Segurança**: Garantir que os fluxos RAG respeitem normas de confidencialidade, precisão e controle de acesso aos dados consultados.
  {% endtab %}

{% tab title="SQL (Structured Query Language)" %}
O SQL é a linguagem padrão para consulta, manipulação e modelagem de dados em bancos de dados relacionais. Ele é essencial para profissionais que trabalham com análise de dados, engenharia de dados e administração de bancos.

**Níveis de Competência em SQL**

* **Básico**: Comandos como SELECT, WHERE, ORDER BY para filtrar e consultar dados simples em tabelas.
* **Intermediário**: Uso de JOINs, GROUP BY, HAVING, CASE para relacionar múltiplas tabelas, realizar agregações e criar consultas mais robustas.
* **Avançado**: Emprego de subqueries, CTEs (Common Table Expressions) e window functions para desenvolver consultas complexas, oferecendo maior controle e eficiência.
* **Modelagem de Dados**: Aplicação de princípios como normalização e desenho de esquemas relacionais eficientes, garantindo integridade e performance.
* **Performance e Otimização**: Uso de índices, explain plans e técnicas de query tuning para otimizar consultas em bancos com grandes volumes de dados.
* **Segurança**: Controle de acesso com roles, permissões e implementação de práticas para proteger dados sensíveis.&#x20;
* **Ferramentas e SGBDs**: Domínio prático de ao menos um sistema gerenciador de banco de dados (SGBD), como PostgreSQL, MySQL, SQL Server, BigQuery, entre outros.
  {% endtab %}
  {% endtabs %}

{% hint style="info" %}
Ao customizar uma Skill embarcada, o sistema cria uma cópia independente. Essa nova versão pode ser editada livremente.
{% endhint %}

#### **2. Skills Customizadas**

Esses são criados diretamente pelos usuários. Existem duas formas principais de criá-los:

* **Do zero**: O usuário constrói toda a lógica e configuração personalizada para atender às necessidades específicas do negócio.
* **A partir da duplicação de uma Skill embarcada**: O usuário copia um modelo nativo para ter uma base pronta e, a partir daí, faz ajustes e personalizações conforme necessário.

As Skills customizadas oferecem flexibilidade total, permitindo adaptar o comportamento do agente para casos de uso únicos e mais complexos.

***

### Criar uma nova Skill

Para criar uma Skill personalizada:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Clique em "**Nova Skill**".

<figure><img src="/files/voDe7qXdppbCUngmWG08" alt=""><figcaption></figcaption></figure>

3. Na tela de edição, preencha os seguintes campos:

* **Nome do módulo**: é o identificador principal da Skill.
* **Nível de acesso à skill:** configure a privacidade da skill, escolhendo entre as seguintes opções:&#x20;

  <figure><img src="/files/ppu2ysCc2DX6HfiGdA1u" alt=""><figcaption></figcaption></figure>

  * **Público:** qualquer pessoa pode visualizar e editar as configurações da skill.
  * **Privado:** apenas os usuários selecionados poderão visualizar os detalhes e editar a skill atual.

    * **Configurar usuários:** ao selecionar a opção **Privado**, esta opção torna-se ativa. Escolha os usuários que terão acesso à skill e, em seguida, clique em "**Concluir**".

    <figure><img src="/files/O3xWTL6V1qSdSgEhtORt" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Usuários não autorizados podem usar a skill em [Agentes](/skyone-studio/inteligencia-artificial/agentes.md#criar-um-agente), mas não podem visualizar detalhes técnicos ou editá-la.
{% endhint %}

* **Funções**: escreva uma ou mais funções em Python. Cada função deve receber parâmetros e retornar valores de forma clara.

4. Após preencher todos os campos e validar o código, clique em "**Salvar módulo**".

***

### Importar uma Skill

Para criar uma Skill personalizada por meio da opção **Importar**:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Clique em "**Importar**".

<figure><img src="/files/odSEK2yOneki2wP8zJwU" alt=""><figcaption></figcaption></figure>

3. Escolha o arquivo em Python (.py).&#x20;
4. Faça as edições e testes desejados.
5. Clique em "**Salvar módulo**" para salvar as alterações.

***

### Editar uma Skill

Para editar uma Skill personalizada:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Selecione uma Skill existente e clique em "**Editar**".

<figure><img src="/files/8ukIvCAfBG3uSHNqiZy1" alt=""><figcaption></figcaption></figure>

3. Faça as edições e testes desejados.
4. Clique em "**Atualizar módulo**" para salvar as alterações.&#x20;

***

### Testar uma Skill

Para testar uma Skill personalizada:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Aproxime o mouse de uma Skill existente e clique em "**Testar**".

<figure><img src="/files/IAInFbyVjuPeKTSQuEG0" alt=""><figcaption></figcaption></figure>

3. Selecione o **método**.
4. Em alguns casos, adicione uma **query**.&#x20;
5. Clique em "**Testar**".&#x20;

***

### Exportar uma Skill

Para exportar uma Skill personalizada:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Aproxime o mouse de Skill existente e clique em "**Mais opções**".&#x20;
3. Selecione a opção "**Exportar**".

<figure><img src="/files/GTInnxucMgocTEZLWIyT" alt=""><figcaption></figcaption></figure>

***

### Duplicar uma Skill

Para duplicar uma Skill personalizada:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Aproxime o mouse de Skill existente e clique em "Mais opções".&#x20;
3. Selecione a opção "**Duplicar**".

***

### Deletar uma Skill

Para deletar uma Skill personalizada:

1. Acesse o menu lateral e clique em “**Skills**”.
2. Clique em uma Skill existente.
3. Clique em "**Deletar**".&#x20;
4. Como medida de segurança, digite o nome do agente exatamente como solicitado no campo de confirmação.
5. Clique em **"Excluir"** para finalizar o processo.

{% hint style="warning" %}
Não é possível reverter a exclusão.
{% endhint %}

***

### FAQ – Skills de um Agente de IA

<details>

<summary>O que são Skills em um agente de IA?</summary>

São as “habilidades” configuradas para que o agente realize tarefas específicas, como responder perguntas, integrar com sistemas ou processar informações.

</details>

<details>

<summary>Posso criar minhas próprias Skills?</summary>

Sim. No Skyone Studio, você pode criar skills personalizadas totalmente adaptadas à sua estratégia de negócio.

</details>

<details>

<summary>Qual a diferença entre uma skill nativa e uma skill personalizada?</summary>

**Nativa**: já vem configurada na plataforma, pronta para uso.

**Personalizada**: criada pelo usuário, com prompts, integrações ou lógicas próprias.

</details>

<details>

<summary>É possível usar mais de uma skill no mesmo agente?</summary>

Sim. Você pode adicionar várias skills e configurar prioridades e gatilhos para determinar quando cada uma será acionada.

</details>

<details>

<summary>As skills podem acessar meus dados internos?</summary>

Sim, desde que você configure a conexão com suas fontes de dados ou APIs, garantindo segurança e permissões adequadas.

</details>

<details>

<summary>O agente decide sozinho qual skill usar?</summary>

Depende da configuração. Você pode definir regras de prioridade ou deixar que o agente escolha com base na solicitação do usuário.

</details>

<details>

<summary>As skills funcionam offline?</summary>

Não. Elas precisam de conexão com o ambiente do Skyone Studio e, em alguns casos, com APIs externas para funcionar.

</details>

<details>

<summary>Posso atualizar uma skill depois de criada?</summary>

Sim. É possível editar, melhorar e até substituir a lógica de uma skill sem precisar recriar o agente inteiro.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skyone.cloud/skyone-studio/inteligencia-artificial/skills.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
