Skip to content

Skills & Connectors

A skill is a prompt instruction stored as a SKILL.md file:

---
name: fast-analytics-query
description: Query FAST for brand/category/retailer analytics
connectors:
- fast-query
memory_reads:
- fast:last_response
memory_writes:
- fast:last_query
---
# Fast Analytics Query
## Instructions
When a user asks about brand performance, category trends, or retailer data,
use the fast_query tool to send their question to FAST...

Skills tell the LLM what to do. Connectors tell it how.

A connector is a deterministic function with typed config:

tools/fast-query/
TOOL.md # Metadata
impl.py # Async Python function
config.yaml # Environment-aware config + secrets schema
async def fast_query(app, trigger: str) -> dict:
from mesh.config.secrets import resolve_connector_config
config = resolve_connector_config("fast-query")
# config = {"base_url": "https://stage-...", "user_id": "...", ...}
schema:
base_url:
type: url
required: true
user_id:
type: secret
secret_key: fast-chat-api/user-id
environments:
dev:
base_url: https://stage-fast-chat-api.../v1/chat/sync
prod:
base_url: https://prod-fast-chat-api.../v1/chat/sync

Non-secret values per environment in config.yaml. Secrets from AWS Secrets Manager or .secrets.yaml (local dev).

Terminal window
# Create a skill
mesh skills create my-skill --description "What it does"
# Create a connector
mesh tools create my-tool --function-name my_func --tag api