BC api-gateway
Умный прокси для внешних вызовов API с повторными попытками, кэшированием, ограничением скорости и резервными провайдерами. СОХРАНЯЕТ: ключи API (chmod 0600 в открытом виде в keys.json), метаданные кэша запросов/ответов и журналы запросов. Сеть: только исходящий HTTPS, с строгим списком разрешенных доменов провайдеров. По умолчанию кэширует метаданные; полные тела ответов — по выбору для каждого провайдера.
машинный переводПоказать оригиналСкрыть оригинал«Smart proxy for external API calls with retry, caching, rate limiting,…»
Smart proxy for external API calls with retry, caching, rate limiting, and fallback providers. PERSISTS: API keys (chmod 0600 plaintext in keys.json), request/response cache metadata, and request logs. Network: outbound HTTPS only, with a strict provider-domain allowlist. Caches metadata by default; full response bodies are opt-in per provider.
Умный прокси для внешних вызовов API с повторными попытками, кэшированием, ограничением скорости и резервными провайдерами.
Как процесс C 63/100 · Есть пробелы — слабые места: входы и предусловия, согласованность, повторный запуск
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 0. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Smart proxy for external API calls with retry, caching, rate limit… ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда")
Процессный рейтинг: все десять параметров 63/100
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (api-gateway) не совпадает с папкой (api-proxy)
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (bash, web, node), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Шаги. Шагов: 77
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Стоимость исполнения. Тело инструкции 3061 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (8 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 346 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 28 заголовков
- +3Пошаговые инструкции: 77 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (9 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 65.