Скиллы для агентов
Любой публичный список ставится агенту как Agent Skill одной командой. Как поставить, как опубликовать свой скилл и как вести его версии.
Agent Skills — открытый стандарт: папка со SKILL.md
(инструкция для агента) и при надобности scripts/, references/, assets/.
Его понимают Claude Code, Codex, Cursor и другие агенты.
На SetFork любой опубликованный публичный список — это скилл: отдельно собирать ничего не нужно. Шаги становятся инструкцией, команды — скриптом, а файлы, которые автор положил в список, едут вместе с ним.
Как узнать скилл
У имени скилла — метка «Скилл», рядом с меткой «Шаблон» у шаблонов. Найти все
скиллы: is:skill в поиске. Метку ставит автор в настройках списка («Скилл для
агентов»), а publish_skill и sf skill publish — сами. Под списком — блок
«Файлы скилла»: папки scripts/, references/, assets/ проводником, текст файла
открывается по щелчку.
Поставить скилл
npx skills add https://setfork.com/<owner>/<slug>/skill.tar.gzКоманду можно скопировать на странице списка: «Получить» → «Встроить» → «Скилл для агента». Там же есть ссылки «Открыть SKILL.md» и «Скачать архив».
| Адрес | Что отдаёт |
|---|---|
/<owner>/<slug>/skill.tar.gz | Скилл целиком: SKILL.md, скрипт, справка и файлы автора |
/<owner>/<slug>/SKILL.md | Только инструкцию — годится, если у списка нет файлов |
Чтобы поставить конкретную версию, добавьте ?ref=: тег релиза или номер версии.
npx skills add "https://setfork.com/<owner>/<slug>/skill.tar.gz?ref=v1.2.0"Шаги и файлы тогда берутся из той версии, даже если список ушёл дальше. Название, описание и шапка скилла остаются текущими. Незнакомый тег даёт 404, текущую версию вместо него сервер не подставляет.
Агент скачивает скилл без входа, поэтому команда работает только у опубликованного публичного списка. У приватного списка и черновика её нет в меню: агент получил бы 404. Сами файлы в браузере открываются и там — под вашим входом.
Проверить скачанный скилл по стандарту можно валидатором:
skills-ref validate <папка>.
Что внутри
<name>/
SKILL.md # инструкция: шаги и текст списка по порядку
scripts/run.sh # команды шагов — тот же скрипт, что /raw
scripts/…, references/…, assets/… # файлы автора, если он их положил- Шапка
SKILL.md.nameберётся из адреса списка (латиница, до 64 знаков),description— из описания списка, а если его нет, из названия. По описанию агент решает, звать ли скилл, поэтому пишите в нём, что скилл делает и когда его применять. Вmetadata— ссылка на список, номер версии (setfork-version) и SHA её коммита (setfork-sha): по ним видно, какую именно редакцию вы поставили. Если скилл пришёл своимSKILL.md, егоlicense,compatibility,allowed-toolsи ключиmetadataвозвращаются как были; в клоне они лежат вlist.jsonполемskillHeader. Убрать шапку через git — записать"skillHeader": {}. - Текст — на своих местах. Текстовые блоки списка идут в
SKILL.mdмежду шагами, там же, где стоят на странице. - Опасные шаги помечены. Шаг с разрушительной командой приходит с меткой
⚠ DESTRUCTIVEи вscripts/run.shзакомментирован. Шаг, отмеченный «нужен человек», приходит с меткой🧑 NEEDS A HUMAN: агент на нём останавливается и спрашивает. Сверху инструкции — предупреждение, что текст пришёл из списка, а не от вас. - Файлы автора главнее сгенерированных. Если автор положил свой
scripts/run.sh, в архив уходит его файл.
Опубликовать свой скилл
Скилл на SetFork — это список, поэтому публикация идёт теми же путями, что и у любого списка. Отличие одно: файлы автора кладутся через git.
1. Текст — шаги и описание
Любым удобным способом:
- на сайте — «Новый список», шаги и текстовые блоки;
- через MCP —
create_list, затемpatch_list(см. MCP-сервер). Так удобно перенести готовыйSKILL.md: агент разложит его на блоки сам; - через git — правкой
list.json(см. Доступ по git).
2. Файлы — scripts/, references/, assets/
Владелец или соавтор кладёт их одним из трёх способов:
- на сайте — раздел «Файлы скилла» в редакторе списка (он есть у скилла и у списка, где файлы уже лежат): добавить, править, удалить. Правка уходит той же версией, что и шаги;
- через
sfили MCP —sf skill publishиpublish_skill(ниже); - через git — пароль — API-токен со скоупом
write:
git clone https://setfork.com/<owner>/<slug>.git
cd <slug>
mkdir -p scripts references
cp ~/my-skill/scripts/* scripts/
cp ~/my-skill/references/* references/
git add scripts references
git commit -m "Файлы скилла"
git pushЧто проверяет сервер при push:
- только три каталога, один уровень — без подпапок;
- только текст — бинарные файлы push не примет;
- не больше 50 файлов и 1 МБ на все три каталога вместе;
scripts/проходит ту же проверку на разрушительные команды, что и шаги; отказ назовёт файл;- ключи доступа (токены GitHub, AWS, OpenAI, Anthropic, OpenRouter, Slack, Stripe, Yandex Cloud, закрытые ключи и другие) не принимаются нигде — ни в файлах, ни в шагах, ни в названии. Отказ назовёт файл и строку и покажет только начало ключа.
Ключ ищется во всех коммитах push'а, а не только в последнем: git clone
отдаёт историю целиком, и ключ, добавленный одним коммитом и убранный следующим,
всё равно утекает. Если отказ указывает путь@коммит, ключ сидит в истории —
уберите его из того коммита (git rebase), а не из текущего файла. Ключ, который
уже где-то появлялся, отзовите у провайдера: удаление из списка его не отменяет.
Правка шагов на сайте файлы не теряет: если файлы не трогали, новая версия переносит их из предыдущей. Сайт проверяет файлы так же: опасная команда в скрипте или ключ в файле дают предупреждение при сохранении и отказ при публикации с именем файла.
3. Опубликовать и открыть
Список должен быть опубликован и публичен — иначе агент без входа его не
скачает. Публикация черновика: «…» → «Опубликовать» на странице списка или
publish_draft в MCP.
4. Дать версии имя — релиз
Номер версии SetFork (v3) растёт с каждой правкой. Имя для людей — 0.5.1,
v1.2.0 — даёт релиз: тег на версии с заголовком и заметками. Его можно
выпустить на странице «Релизы» или агентом через MCP create_release
(см. Версии и релизы).
Одной командой: sf
CLI sf (в духе gh) публикует
папку скилла целиком — SKILL.md, scripts/, references/, assets/ — одной версией:
sf auth login # один раз, токен со скоупом write
sf skill publish ./my-skill # новый черновик
sf skill publish ./my-skill owner/slug # новая версия существующего списка
sf release create owner/slug v1.2.0 --notes-file CHANGELOG.md --yesПапка — правда: файлы, которых в ней нет, из списка уходят. Шаги и текст берутся из
SKILL.md: нумерованные пункты становятся шагами, остальное — текстовыми блоками. Агент
делает то же через MCP-инструмент publish_skill.
Релиз из GitHub: Action
Если скилл живёт в репозитории на GitHub, каждый запушенный тег можно превращать в версию списка и релиз с тем же тегом:
# .github/workflows/setfork.yml
on:
push:
tags: ['v*']
permissions: {}
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: mikey-semy/setfork-app/cli@<commit-sha>
with:
list: owner/slug
token: ${{ secrets.SETFORK_TOKEN }}
path: skills/my-skillSETFORK_TOKEN — API-токен со скоупом write в секретах
репозитория. Папка — правда, как у sf skill publish. Повторный запуск для уже
выпущенного тега ничего не публикует. Все входы описаны в
README CLI.
Рецепт: перенести готовый скилл
Так на SetFork переехал review-kit:
- Попросите агента с подключённым MCP создать список из
SKILL.md: описание — в описание списка, разделы и шаги — в блоки. - Опубликуйте его приватным — так у списка появятся версии и git, но чужие его не увидят.
- Склонируйте список и перенесите
scripts/,references/,assets/одним коммитом (шаг 2 выше). - Сделайте список публичным.
- Выпустите релиз с тем же тегом, что у исходного скилла.
- Проверьте:
npx skills add …/skill.tar.gz, затемskills-ref validate.
Импортировать чужой скилл
Скилл с GitHub можно забрать себе черновиком: на странице Новый список —
«Импортировать скилл с GitHub», через MCP — import_skill, в терминале —
sf skill import <адрес>. Адрес такой же, как для npx skills add: репозиторий,
папка скилла или его SKILL.md. Всё берётся из одного коммита, и ссылка на
него остаётся под названием списка.
Видимость следует лицензии.
- Лицензия открытая (MIT, Apache-2.0, BSD, GPL, CC-BY и другие, что разрешают распространять) — черновик можно опубликовать; под названием видно, откуда он и под какой лицензией.
- Лицензии нет, она закрытая или некоммерческая — список только приватный: сделать его публичным нельзя ни в настройках, ни копией «из шаблона».
Лицензия берётся из поля license: шапки SKILL.md или из файла LICENSE.
Что не удалось узнать — считается закрытым. Файлы во вложенных папках, двоичные
и крупнее 1 МБ не переносятся — импорт называет каждый.
Что пока не так
- Мета по тегу — текущая.
?ref=отдаёт шаги и файлы той версии, а название, описание и шапку — текущие. - Пушем текст и файлы — две версии. Через
git pushони приезжают разными коммитами; одной версией их кладутsf skill publishиpublish_skill.