Skills Formátum Specifikáció

A skills.md formátum meghatározza, hogyan épülnek fel, konfigurálhatók és hajtódnak végre a Skillек. 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:

---
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ípusLeírás
namestringEgyedi azonosító (kebab-case)
versionstringSzemantikus verzió (pl. „2.1.0”)
descriptionstringRövid leírás (max. 160 karakter)
categoryenumEgy a következők közül: data-sync, email-marketing, sms-whatsapp, loyalty, analytics, integrations
triggersarrayA skillt aktiváló események
actionsarrayA skill által végrehajtható műveletek

Opcionális mezők

MezőTípusAlapértelmezettLeírás
statusenumstableEgy a következők közül: stable, beta, experimental
brevoEndpointsarray[]Használt Brevo API végpontok
permissionsarray[]Szükséges Brevo API jogosultságok
relatedSkillsarray[]Kapcsolódó skillек azonosítói
featuredbooleanfalseKiemelé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

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

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

Webhook kiváltók

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

Feltételoperátorok

OperátorLeírásPélda
=Egyenlőstatus: "active"
!=Nem egyenlőstatus: "!= deleted"
>Nagyobb mintcart_value: "> 50"
>=Nagyobb vagy egyenlőitems: ">= 1"
<Kisebb mintage: "< 30"
<=Kisebb vagy egyenlőquantity: "<= 10"
containsTartalmazzaemail: "contains @gmail.com"
starts_withElőtagname: "starts_with Dr."
inÉrték listábancountry: "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

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ípusLeírás
brevo/send-emailTranzakciós email küldése
brevo/send-smsSMS üzenet küldése
brevo/send-whatsappWhatsApp üzenet küldése
brevo/create-contactÚj kapcsolat létrehozása
brevo/update-contactKapcsolat attribútumai frissítése
brevo/delete-contactKapcsolat törlése
brevo/add-to-listKapcsolat hozzáadása listához
brevo/remove-from-listKapcsolat eltávolítása listából
brevo/track-eventEgyéni esemény követése
http/requestHTTP kérés küldése
transform/mapAdatok átalakítása
control/delayVárakozás a folytatás előtt
control/conditionElágazás feltétel alapján

Sablon változók

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

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ásPélda
defaultAlapértelmezett érték{{ name | default: 'Guest' }}
uppercaseNagybetűs{{ name | uppercase }}
lowercaseKisbetűs{{ email | lowercase }}
capitalizeElső betű nagybetűs{{ name | capitalize }}
truncateSzöveg csonkítása{{ desc | truncate: 100 }}
dateDátum formázása{{ date | date: 'YYYY-MM-DD' }}
currencyPénznem formázása{{ price | currency: 'EUR' }}
mapTömb tulajdonság leképezése{{ items | map: 'name' }}
joinTömb összefűzése{{ tags | join: ', ' }}
firstTömb első eleme{{ items | first }}
lastTömb utolsó eleme{{ items | last }}
sizeTömb/szöveg hossza{{ items | size }}

Jogosultságok

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

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

---
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 skillек 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:

---
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 [email protected]"
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ípusLeírás
mcp.tool_namestringMCP eszköz neve (formátum: tajo/skill-name)
mcp.descriptionstringAI ügynökök számára megjelenő leírás az eszköz felfedezésekor
mcp.inputSchemaobjectJSON Schema az eszköz bemeneti paramétereinek meghatározásához
mcp.brevo_serversarraySzükséges Brevo MCP szervermodulok

Skillек vs. közvetlen MCP eszközök

SzempontSkill mint MCP eszközKö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égTöbb lépéses logikát zár magábaAz ügynöknek kézzel kell koordinálnia
KorlátokBeépítve a skillbe (feltételek, debounce)Az ügynöknek saját maga kell megvalósítani
Legjobb erreIsmételhető munkafolyamatokAlkalmi 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.

Skillек és Ügynökök kombinálása

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

# Ügynök spec
---
name: retention-agent
tools:
# Tajo Skillек 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 (Skillек) 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 és Ügynökök készítése.

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ó neveketabandoned-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

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI asszisztens

Szia! Kérdezz bármit a dokumentációról.