---
title: "Skills Formátum Specifikáció | Tajo"
description: "Ismerje meg a skills.md formátumot AI-alapú automatizálási skillek definiálásához, amelyek integrálódnak a Brevo-val."
url: https://tajo.io/hu/docs/skills/overview/skills-format/
markdown: https://tajo.io/hu/docs/skills/overview/skills-format.md
lang: hu-HU
author: "Set Noa"
author_url: https://tajo.io/hu/set-noa/
robots: noindex
---

Kérj korai hozzáférést

Adja meg keresztnevét és munkahelyi e-mail-címét. Küldünk egy hivatkozást, amellyel megerősítheti a Tajo-hozzáférési kérelmét.

# Skills Formátum Specifikáció

[Set Noa](https://tajo.io/hu/set-noa/)

A **skills.md** formátum meghatározza, hogyan épülnek fel, konfigurálhatók és hajtódnak végre a Skillek. Ez a specifikáció következetes viselkedést biztosít az összes Tajo Skill esetében.

## Fájlstruktúra

A skill egyetlen markdown fájlban kerül meghatározásra YAML frontmatterrel:

```markdown
---
name: customer-sync
version: 2.1.0
description: Sync customer data to Brevo contacts
category: data-sync
status: stable

triggers:
  - event: customer_created
  - event: customer_updated
  - event: customer_deleted

actions:
  - brevo/create-contact
  - brevo/update-contact
  - brevo/delete-contact

brevoEndpoints:
  - POST /v3/contacts
  - PUT /v3/contacts/{identifier}
  - DELETE /v3/contacts/{identifier}

permissions:
  - contacts:write
  - contacts:read
---

# Customer Sync

Automatically synchronize customer data from your platform to Brevo contacts.

## Overview

This skill listens for customer lifecycle events and mirrors changes to Brevo...
```

## Frontmatter mezők

### Kötelező mezők

| Mező | Típus | Leírás |
| --- | --- | --- |
| `name` | string | Egyedi azonosító (kebab-case) |
| `version` | string | Szemantikus verzió (pl. „2.1.0”) |
| `description` | string | Rövid leírás (max. 160 karakter) |
| `category` | enum | Egy a következők közül: `data-sync`, `email-marketing`, `sms-whatsapp`, `loyalty`, `analytics`, `integrations` |
| `triggers` | array | A skillt aktiváló események |
| `actions` | array | A skill által végrehajtható műveletek |

### Opcionális mezők

| Mező | Típus | Alapértelmezett | Leírás |
| --- | --- | --- | --- |
| `status` | enum | `stable` | Egy a következők közül: `stable`, `beta`, `experimental` |
| `brevoEndpoints` | array | `[]` | Használt Brevo API végpontok |
| `permissions` | array | `[]` | Szükséges Brevo API jogosultságok |
| `relatedSkills` | array | `[]` | Kapcsolódó skillek azonosítói |
| `featured` | boolean | `false` | Kiemelés a skill katalógusban |

## Kiváltók

A kiváltók meghatározzák, mely események aktiválják a skillt.

### Eseményalapú kiváltók

```yaml
triggers:
  - event: cart_abandoned
    conditions:
      - cart_value: "> 50"        # Minimális kosárérték
      - items_count: ">= 1"       # Legalább egy tétel
      - time_since_activity: "> 30m"  # 30 perc tétlenség
    debounce: 5m                  # 5 perc várakozás az újraaktiválás előtt
```

### Ütemezett kiváltók

```yaml
triggers:
  - schedule: "0 9 * * *"         # Cron kifejezés (naponta 9 órakor)
    timezone: "America/New_York"
  - schedule: every_hour
  - schedule: every_day
```

### Webhook kiváltók

```yaml
triggers:
  - webhook: /skills/customer-sync/trigger
    method: POST
    authentication: api_key
```

### Feltételoperátorok

| Operátor | Leírás | Példa |
| --- | --- | --- |
| `=` | Egyenlő | `status: "active"` |
| `!=` | Nem egyenlő | `status: "!= deleted"` |
| `>` | Nagyobb mint | `cart_value: "> 50"` |
| `>=` | Nagyobb vagy egyenlő | `items: ">= 1"` |
| `<` | Kisebb mint | `age: "< 30"` |
| `<=` | Kisebb vagy egyenlő | `quantity: "<= 10"` |
| `contains` | Tartalmazza | `email: "contains @gmail.com"` |
| `starts_with` | Előtag | `name: "starts_with Dr."` |
| `in` | Érték listában | `country: "in US,CA,UK"` |

## Műveletek

A műveletek meghatározzák, milyen műveleteket hajt végre a skill.

### Művelet meghatározása

```yaml
actions:
  - id: send_reminder_email
    type: brevo/send-email
    parameters:
      template_id: 12345
      to: "{{ contact.email }}"
      params:
        first_name: "{{ contact.firstName }}"
        cart_items: "{{ cart.items }}"
    retry:
      attempts: 3
      backoff: exponential
    on_error: continue  # or 'stop'
```

### Művelettípusok

| Típus | Leírás |
| --- | --- |
| `brevo/send-email` | Tranzakciós email küldése |
| `brevo/send-sms` | SMS üzenet küldése |
| `brevo/send-whatsapp` | WhatsApp üzenet küldése |
| `brevo/create-contact` | Új kapcsolat létrehozása |
| `brevo/update-contact` | Kapcsolat attribútumai frissítése |
| `brevo/delete-contact` | Kapcsolat törlése |
| `brevo/add-to-list` | Kapcsolat hozzáadása listához |
| `brevo/remove-from-list` | Kapcsolat eltávolítása listából |
| `brevo/track-event` | Egyéni esemény követése |
| `http/request` | HTTP kérés küldése |
| `transform/map` | Adatok átalakítása |
| `control/delay` | Várakozás a folytatás előtt |
| `control/condition` | Elágazás feltétel alapján |

### Sablon változók

Használja a `{{ }}` szintaxist az adatokra való hivatkozáshoz:

```yaml
parameters:
  to: "{{ contact.email }}"
  subject: "Your order #{{ order.number }} has shipped"
  params:
    name: "{{ contact.firstName | default: 'Customer' }}"
    items: "{{ cart.items | map: 'name' | join: ', ' }}"
    total: "{{ cart.total | currency: 'USD' }}"
```

### Elérhető szűrők

| Szűrő | Leírás | Példa |
| --- | --- | --- |
| `default` | Alapértelmezett érték | `{{ name \| default: 'Guest' }}` |
| `uppercase` | Nagybetűs | `{{ name \| uppercase }}` |
| `lowercase` | Kisbetűs | `{{ email \| lowercase }}` |
| `capitalize` | Első betű nagybetűs | `{{ name \| capitalize }}` |
| `truncate` | Szöveg csonkítása | `{{ desc \| truncate: 100 }}` |
| `date` | Dátum formázása | `{{ date \| date: 'YYYY-MM-DD' }}` |
| `currency` | Pénznem formázása | `{{ price \| currency: 'EUR' }}` |
| `map` | Tömb tulajdonság leképezése | `{{ items \| map: 'name' }}` |
| `join` | Tömb összefűzése | `{{ tags \| join: ', ' }}` |
| `first` | Tömb első eleme | `{{ items \| first }}` |
| `last` | Tömb utolsó eleme | `{{ items \| last }}` |
| `size` | Tömb/szöveg hossza | `{{ items \| size }}` |

## Jogosultságok

Adja meg a szükséges Brevo API jogosultságokat:

```yaml
permissions:
  - contacts:read        # Kapcsolatok adatainak olvasása
  - contacts:write       # Kapcsolatok létrehozása/frissítése
  - email:send           # Tranzakciós emailek küldése
  - sms:send             # SMS üzenetek küldése
  - lists:write          # Kapcsolati listák kezelése
  - events:write         # Események követése
```

## Teljes példa

```yaml
---
name: abandoned-cart-recovery
version: 3.0.0
description: Recover abandoned shopping carts with a multi-step email sequence
category: email-marketing
status: stable

triggers:
  - event: cart_abandoned
    conditions:
      - cart_value: "> 25"
      - customer_email: "exists"
      - items_count: ">= 1"
    debounce: 30m

actions:
  - id: wait_1h
    type: control/delay
    parameters:
      duration: 1h

  - id: check_purchase
    type: control/condition
    parameters:
      condition: "{{ cart.converted }} = false"
      then: send_first_email
      else: stop

  - id: send_first_email
    type: brevo/send-email
    parameters:
      template_id: {{ env.ABANDONED_CART_TEMPLATE_1 }}
      to: "{{ contact.email }}"
      params:
        first_name: "{{ contact.firstName }}"
        cart_url: "{{ cart.recovery_url }}"
        items: "{{ cart.items }}"
        total: "{{ cart.total | currency }}"

  - id: wait_24h
    type: control/delay
    parameters:
      duration: 24h

  - id: check_purchase_2
    type: control/condition
    parameters:
      condition: "{{ cart.converted }} = false"
      then: send_second_email
      else: stop

  - id: send_second_email
    type: brevo/send-email
    parameters:
      template_id: {{ env.ABANDONED_CART_TEMPLATE_2 }}
      to: "{{ contact.email }}"
      params:
        first_name: "{{ contact.firstName }}"
        cart_url: "{{ cart.recovery_url }}"
        discount_code: "{{ generate_discount(10, 'percent') }}"

brevoEndpoints:
  - POST /v3/smtp/email
  - GET /v3/contacts/{identifier}

permissions:
  - contacts:read
  - email:send

relatedSkills:
  - customer-sync
  - order-events
  - browse-abandonment
---

# Abandoned Cart Recovery

Recover lost sales with a proven multi-step email sequence...
```

## MCP Eszköz expozíció

A skillek MCP eszközként tehetők elérhetővé, így AI ügynökök meghívhatják őket. Adja hozzá az `mcp` mezőt a frontmatterhez:

```yaml
---
name: abandoned-cart-recovery
version: 3.0.0
description: Recover abandoned shopping carts with a multi-step email sequence
category: email-marketing

# MCP konfiguráció
mcp:
  tool_name: tajo/recover-abandoned-cart
  description: Execute abandoned cart recovery sequence for a specific cart
  inputSchema:
    type: object
    properties:
      cart_id:
        type: string
        description: The abandoned cart identifier
      customer_email:
        type: string
        description: Customer email address
      min_cart_value:
        type: number
        description: Minimum cart value to trigger recovery
        default: 25
    required: [cart_id, customer_email]
  brevo_servers:
    - brevo_contacts
    - brevo_email_campaign_management
    - brevo_templates
---
```

### Az MCP expozíció működése

Ha egy skillhez tartozik `mcp` mező, AI ügynökök felfedezhetik és meghívhatják eszközként:

```
Ügynök: „Recover abandoned cart #4521 for user@example.com"
    ↓
MCP eszköz keresés: megtalálja a tajo/recover-abandoned-cart eszközt
    ↓
Eszköz végrehajtás: futtatja a skill műveleti láncát
    ↓
Brevo MCP szerverek: connections + email modulok meghívódnak
    ↓
Eredmény: visszanyerési sorozat elindítva
```

### MCP mezők

| Mező | Típus | Leírás |
| --- | --- | --- |
| `mcp.tool_name` | string | MCP eszköz neve (formátum: `tajo/skill-name`) |
| `mcp.description` | string | AI ügynökök számára megjelenő leírás az eszköz felfedezésekor |
| `mcp.inputSchema` | object | JSON Schema az eszköz bemeneti paramétereinek meghatározásához |
| `mcp.brevo_servers` | array | Szükséges Brevo MCP szervermodulok |

### Skillek vs. közvetlen MCP eszközök

| Szempont | Skill mint MCP eszköz | Közvetlen Brevo MCP |
| --- | --- | --- |
| **Absztrakció** | Magas – az ügynök azt mondja: „nyerje vissza a kosarat” | Alacsony – az ügynöknek egyenként kell meghívnia a Brevo végpontokat |
| **Összetettség** | Több lépéses logikát zár magába | Az ügynöknek kézzel kell koordinálnia |
| **Korlátok** | Beépítve a skillbe (feltételek, debounce) | Az ügynöknek saját maga kell megvalósítani |
| **Legjobb erre** | Ismételhető munkafolyamatok | Alkalmi műveletek |

Tip

**Skillek mint MCP eszközök** összetett, többlépéses munkafolyamatokhoz, amelyeket az ügynököknek nem kell minden alkalommal újra megvalósítani. **Közvetlen Brevo MCP eszközöket** egyszerű, egyszeri műveletekhez használjon – például kapcsolat kereséshez vagy egyetlen email küldéséhez.

### Skillek és Ügynökök kombinálása

Az ügynök egyszerre használhat Skilleket (MCP eszközként) és közvetlen Brevo MCP modulokat:

```yaml
# Ügynök spec
---
name: retention-agent
tools:
  # Tajo Skillek mint MCP eszközök
  - tajo/recover-abandoned-cart
  - tajo/customer-sync
  - tajo/win-back-sequence
  # Közvetlen Brevo MCP modulok
  - brevo_contacts
  - brevo_campaign_analytics
  - brevo_segments
---
```

Ez magas szintű automatizálást (Skillek) biztosít a bevett minták számára, miközben megtartja az alacsony szintű hozzáférést (Brevo MCP) az egyéni logikához.

Részletes információkért lásd: [Ügynök specifikáció formátum](https://tajo.io/hu/docs/mcp/agent-specification) és [Ügynökök készítése](https://tajo.io/hu/docs/mcp/building-agents).

## Ajánlott eljárások

Tip

**Verziózza skilljeit** szemantikus verziókövetéssel. A törő változások fő verziószám-emelést igényelnek.

1. **Tartsa fókuszáltan a skilleket** – Egy skill egy dolgot végezzen el jól
2. **Használjon leíró neveket** – `abandoned-cart-recovery`, nem `acr`
3. **Dokumentálja a feltételeket** – Magyarázza el, miért szükséges az adott feltétel
4. **Kezelje hibakecsesen a hibákat** – Nem kritikus műveleteknél használja az `on_error: continue` beállítást
5. **Tesztelje kis közönségen** – Fejlesztés során használja a `status: experimental` állapotot
6. **Adjon MCP expozíciót** azokhoz a skillekhez, amelyeket az ügynököknek közvetlenül kell tudni meghívni

## Következő lépések

- [MCP és Ügynökök Áttekintés](https://tajo.io/hu/docs/mcp) – Hogyan illeszkednek a Skillek az ügynöki architektúrába
- [Ügynök specifikáció formátum](https://tajo.io/hu/docs/mcp/agent-specification) – Skilleket eszközként használó ügynökök definiálása
- [Ügynökök készítése](https://tajo.io/hu/docs/mcp/building-agents) – Az első marketing ügynök megépítése
- [Adatszinkronizálási Skillek](https://tajo.io/hu/docs/skills/data-sync) – Adatszinkronizálási skillek felfedezése
