Руководство по разработке Skill
Skill — пакет расширения системы Agent, состоящий из промптов + скриптов инструментов + справочных материалов. Skills позволяют внедрять в AI предметные знания и пользовательские возможности инструментов.
Структура каталога Skill
my-skill/
├── SKILL.cat.md # Required: metadata + prompt (entry file)
├── scripts/ # Optional: SkillScript tool scripts
│ ├── search.js
│ └── export.js
└── references/ # Optional: reference material files
├── api-docs.md
└── examples.json
SKILL.cat.md— входной файл Skill. При установке по URL ScriptCat сначала загружает этот файл, затем по относительным путям загружает остальные файлы на основеscriptsиreferences, объявленных во frontmatter.
Формат SKILL.cat.md
SKILL.cat.md использует YAML frontmatter для объявления метаданных, а Markdown-тело служит промптом для AI.
---
name: "weather-assistant"
description: "Weather lookup assistant, supports global city weather queries and forecasts"
config:
apiKey:
title: "OpenWeather API Key"
type: "text"
secret: true
required: true
unit:
title: "Temperature unit"
type: "select"
values: ["celsius", "fahrenheit"]
default: "celsius"
detailed:
title: "Detailed mode"
type: "switch"
default: false
maxDays:
title: "Forecast days"
type: "number"
default: 7
---
# Weather Lookup Assistant
You can use the following tools to look up weather information:
## Tool Description
- **get_weather**: looks up the current weather and forecast for a given city
- the `city` parameter is the city name (Chinese and English both supported)
- the `days` parameter is the number of forecast days
## Usage Rules
1. When the user asks about the weather, first confirm the city name
2. By default, return the current weather plus a 3-day forecast
3. Display temperature according to the configured unit
Поля метаданных
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name | string | Да | Уникальный идентификатор Skill (рекомендуется английский kebab-case) |
description | string | Да | Краткое описание (показывается в списке) |
version | string | Нет | Номер версии (формат semver, например 1.0.0), используется для проверки обновлений |
scripts | string[] | Нет | Список имён файлов скриптов (например, ["search.js"]); при установке по URL автоматически загружаются из каталога scripts/ |
references | string[] | Нет | Список имён файлов справочных материалов (например, ["api-docs.md"]); при установке по URL автоматически загружаются из каталога references/ |
config | object | Нет | Определения полей конфигурации |
Типы полей конфигурации
| type | Описание | Особые свойства |
|---|---|---|
text | Текстовый ввод | secret: маскируется ли в UI |
number | Числовой ввод | — |
select | Выпадающий список | values: список вариантов (string[]) |
switch | Переключатель | — |
Общие свойства:
| Свойство | Тип | Описание |
|---|---|---|
title | string | Отображаемый заголовок |
required | boolean | Обязательность |
default | unknown | Значение по умолчанию |
secret | boolean | Конфиденциальная информация |
Пользователь заполняет значения конфигурации в настройках Skill на панели управления.
Тело промпта
Markdown-тело внедряется как системный промпт AI. Рекомендации по написанию:
- Опишите инструменты, которые предоставляет Skill, и их назначение
- Объясните смысл параметров каждого инструмента и правила использования
- Приведите типичные сценарии и на что обратить внимание
- Если есть справочные материалы, объясните, как к ним обращаться