TGViewer
NGI | Влад Корнышев про AI и создание AI-продуктов NGI | Влад Корнышев про AI и создание AI-продуктов @ngi_ru · 4K subscribers
Post #638 1.51K
Скилл для создания скиллов в Spark: чиним то, что сломал Google

В прошлом посте я жаловался, что Spark создаёт скиллы отвратительно - лепит один голый SKILL.md без папок, эвалов и README, а при обновлении нормального скилла сносит всю структуру к чертям. Обещал выложить свои скиллы. Начну с самого важного - скилла, который заставляет Spark создавать, адаптировать и стоить новые скиллы по-человечески.

Спойлер: собирал я его практически вручную, итераций десять, на разных операциях, после которых разбирал и логи, где он спотыкается.

1. Чего я хотел дрбиться
Моей задачей было собрать мета-скилл, который навязывает агенту правильный процесс: сначала спросить, потом разложить по папкам, потом упаковать и получить нормальный скилл с древовидной структурой

2. Что заложил внутрь
• Интервью перед сборкой. По умолчанию Спарк спешит закрыть задачу и ничего не уточняет. Теперь он обязан сначала задать вопросы - триггеры, входы, формат выхода, интерактивный скилл или фоновый - и согласовать план. Только потом пишет.

Полную структуру вместо огрызка. Жестко прописал, скилл - это директория, а не один файл. SKILL.md + references + assets + evals, и сверху zip-архив. Если скилл наследует знания о среде - они копируются внутрь, чтобы он был самодостаточным.

• Всю подкапотную базу про Spark, которую успел узнать. Эфемерная VM, которая стирается между ходами и гонит агента в бесконечные лупы. Баги Drive-тулов (папки создаются только с костылём text_content=" ", parentId в create вообще нет, перемещение файлов отваливается). Флаги chromium, без которых рендер висит 5 минут и падает по таймауту. Маскирование путей VM, чтобы агент не светил юзеру /working_dir/.

• Защиту от лупов. Главная боль Spark. Лечится state-файлом на Google Drive как единственным источником правды + правилом “сначала проверь, что уже сделано, потом делай”. Локальный task.md платформы живёт в VM и умирает при перезагрузке - поэтому при сбросе агент идёт за состоянием на Диск и продолжает с места обрыва, а не строит заново.

• Вшитую интерактивность. Если скилл интерактивный - он интерактивный всегда, даже в фоне он не фабрикует за тебя подтверждение, а останавливается и ждёт. А фоновые по своей сути (проверка почты, дайджесты) спокойно крутятся без тебя.

3. Эвалы
Заложил тесты не на happy path, а ровно на те грабли, на которые Spark наступал в логах: не свалил ли файлы в корень Диска, не создал ли две одинаковые папки после сброса VM, не пропустил ли молча валидацию, не ушёл ли в луп, спросил ли вообще что-нибудь перед сборкой.

В целом, сделал со своей стороны максимум. чтобы следующие скиллы под Spark не пришлось собирать теми же десятью итерациями. Скилл сам себя дисциплинирует - и навязывает дисциплину тем скиллам, что создаёт. Не стоит воспринимать его как волшебную таблетку, итерации вам все равно понадобятся, но не 10, а 2-3 (что нормально)

Репо: https://github.com/vladkor97/spark-skill-builder (поставьте звездочку в гитхаб, буду благодарен)

Забирайте, тестируйте, пишите что ломается. В следующих постах - доменные скиллы, которые на нём собраны.

🚀 Влад Корнышев про AI и создание AI-продуктов
GitHub GitHub - vladkor97/spark-skill-builder Contribute to vladkor97/spark-skill-builder development by creating an account on GitHub.
  • ❤ 8
  • 🔥 5
  • 👍 3
  • 👌 1
More from @ngi_ru
  1. Sep 16, 2026Делаем вторую версию конференции ROИИ Многие из вас помнят нашу первую конференцию в февра…
  2. Sep 14, 2026Post #668
  3. Sep 11, 2026Post #667
  4. Sep 9, 2026Post #666
  5. Sep 8, 2026Post #665
  6. Sep 3, 2026Kickstarter как лучший тренажер для продуктового питча Поймал себя на том, что в последнее…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →