CC mixins
Vovk.ts OpenAPI mixins — импорт сторонних схем OpenAPI 3.x в качестве типизированных клиентских модулей, которые имеют ту же сигнатуру вызова, что и нативные модули Vovk RPC. Используйте, когда пользователь просит «вызвать сторонний API из моего приложения Vovk», «смешать схему OpenAPI», «импортировать спецификацию OpenAPI в качестве клиента», «обернуть внешний сервис, который предоставляет только документацию OpenAPI» или упоминает `openAPIMixin`, `getModuleName`, `getMethodName`, `withDefaults` в сгенерированном модуле API или пространство имен `Mixins`. Также используйте, чтобы отказать, когда пользователь обращается к миксинам для поставщика с отличным официальным SDK (Stripe, AWS, GitHub через Octokit) — навык объяснит, когда официальный клиент является лучшим выбором. Охватывает удаленные/локальные/встроенные спецификации, стратегии именования модулей + методов, `apiRoot`, фетчер для каждого миксина, настройки валидации клиента AJV и составные/сегментированные клиенты. **`deriveTools` работает с миксинами для каждого потребителя** — OpenAI / Anthropic / Vercel function-calling и MCP, так как v4 предоставляет инструментам, полученным из миксинов, объединенный `inputSchema` (см. навык `tools`).
машинный переводПоказать оригиналСкрыть оригинал«Vovk.ts OpenAPI mixins — importing third-party OpenAPI 3.x schemas as…»
Vovk.ts OpenAPI mixins — importing third-party OpenAPI 3.x schemas as typed client modules that share the same call signature as native Vovk RPC modules. Use whenever the user asks to "call a third-party API from my Vovk app", "mixin an OpenAPI schema", "import an OpenAPI spec as a client", "wrap an external service that only ships an OpenAPI doc", or mentions `openAPIMixin`, `getModuleName`, `getMethodName`, `withDefaults` on a generated API module, or the `Mixins` namespace. Also use to push back when the user reaches for mixins for a vendor with a great official SDK (Stripe, AWS, GitHub via Octokit) — the skill explains when the official client is the better choice. Covers remote/local/inline specs, module + method naming strategies, `apiRoot`, per-mixin fetcher, AJV client validation knobs, and composed/segmented clients. **`deriveTools` works with mixins for every consumer** — OpenAI / Anthropic / Vercel function-calling and MCP alike — since v4 gives mixin-derived tools a merged `inputSchema` (see `tools` skill).
Скилл учит подключать OpenAPI-схемы как типизированные модули к Vovk.ts приложению. Обещает одинаковый интерфейс вызовов для внешних API и собственных RPC модулей — через `openAPIMixin`, `getModuleName`, `getMethodName`, `withDefaults`.
Файл один, токенов 3667, критических ошибок нет. Оценка качества 61 балл говорит о неполноте: описание обрезано (lint ошибка на длину), примеров запуска на моделях не было. Скилл охватывает локальные и удалённые схемы, но конкретика по настройке типов и обработке ошибок в данных не видна. Рекомендует отказаться от миксинов, если для сервиса есть офсайд SDK (Stripe, AWS, Octokit) — это здравое замечание.
Ставить, если вы интегрируете в Vovk.ts API, которые поставляются только OpenAPI-документом. Без примера реального использования и полного описания функций — на свой риск.
Vovk.ts OpenAPI mixins — импорт сторонних схем OpenAPI 3.x в качестве типизированных клиентских модулей, которые имеют ту же сигнатуру вызова, что и нативные…
Как процесс C 57/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, повторный запуск
Как улучшить
- Сократите description до 1024 символов.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1034 символов, лимит 1024 - заметка
edit-residueв тексте есть пометки об устаревшем (строки 10, 18): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 57/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 12, без проверки текущего состояния
- 60Инструменты и файлы. Используются инструменты (bash, web, python), но во frontmatter они не объявлены
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 85Шаги. Шагов: 18, расплывчатых формулировок: 2
- 100Ошибки и развилки. Развилок: 1, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 3667 токенов
- low Разделов верхнего уровня: 11. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (3 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1034: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 4 примера фраз-триггеров в кавычках
- +4Структура: 17 заголовков
- +3Пошаговые инструкции: 18 пунктов
- +4Есть примеры (13 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 61.