CF hubspot
Интеграция с HubSpot API с управляемым OAuth. Документированная поверхность — CRM: контакты, компании, сделки, связи и свойства. Доступное определяется предоставленным пользователем разрешением OAuth для этого подключения, которое HubSpot применяет к каждому запросу: если это разрешение охватывает маркетинговые, CMS, коммуникационные или автоматизационные области, то доступ к этим API также будет предоставлен. Этот навык использует конечные точки CRM и запрашивает разрешение перед доступом к другим. Используйте этот навык, когда пользователи хотят создавать или обновлять записи CRM, искать контакты или синхронизировать данные с HubSpot; для всего, что выходит за рамки CRM, пользователю нужно запросить эту конечную точку по имени. Для других сторонних приложений используйте навык api-gateway (https://clawhub.ai/byungkyu/api-gateway). Вызовы выполняются через CLI `maton` с входом через OAuth или через необработанный HTTP с ключом API Maton, если CLI не может быть установлен. Каждый вызов аутентифицируется как подключение пользователя и получает доступ только к тому, что разрешено авторизацией этого подключения, что поставщик применяет к каждому запросу; документированные здесь конечные точки — это те, которые использует этот навык, а для любой другой конечной точки этого приложения пользователю нужно запросить ее по имени. По умолчанию выполняются операции чтения и списка, и каждое действие записи или новое подключение подтверждается с пользователем. Как и все навыки Maton, этот файл также содержит разделы платформы, идентичные навыку api-gateway — запланированные и событийные триггеры, назначения и размещенные функции — чтобы задача HubSpot, требующая расписания или шага, управляемого событиями, имела необходимые правила. Они не добавляют функциональности HubSpot: HubSpot сам является источником событий, поэтому его собственные события находятся в `references/hubspot/triggers.md`, а файлы под `references/<source>/triggers.md` являются каталогами событий платформы для источников, предлагаемых Maton (время, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe), для использования только тогда, когда пользователь подключил этот источник и запрашивает реакцию на его события.
машинный переводПоказать оригиналСкрыть оригинал«HubSpot API integration with managed OAuth. The documented surface is…»
HubSpot API integration with managed OAuth. The documented surface is CRM: contacts, companies, deals, associations, and properties. What is reachable is decided by the OAuth grant the user approved for this connection, which HubSpot enforces on every request: if that grant covers marketing, CMS, conversations or automation scopes, those APIs are reachable too. This skill uses the CRM endpoints and asks before touching any other. Use this skill when users want to create or update CRM records, search contacts, or sync data with HubSpot; anything outside CRM needs the user to ask for that endpoint by name. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. Like every Maton skill, this file also carries the platform sections shared verbatim with the api-gateway skill - scheduled and event triggers, destinations, and hosted functions - so that a HubSpot task that needs a schedule or an event-driven step has the rules at hand. They add no HubSpot capability: HubSpot is itself an event source, so its own events are in `references/hubspot/triggers.md`, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe), for use only when the user has connected that source and asks to react to its events.
Интеграция с HubSpot API с управляемым OAuth.
Как процесс F 54/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: references/<source>/triggers.md, references/{source}/triggers.md
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит больше прав, чем нужно для задачи: широкий доступ к инструментам, секретные переменные окружения, бинарные файлы. Каждое лишнее право расширяет ущерб при ошибке или взломе.
Сузьте allowed-tools и список переменных до минимума, замените бинарники на исходники или скрипты, которые можно прочитать.
Как улучшить
- Сократите description до 1024 символов.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 11
✓ Критических и высоких находок нет
Средние и низкие: 11
-
средняя Широкие права
meta-broad-allowed-toolsSKILL.md:1Заранее разрешены широкие инструменты: Bashallowed-tools: Bash Read Grep Glob
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/github/triggers.md:1139Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"node_id": "MDIz…DU3"
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/github/triggers.md:1313Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"node_id": "MDEw…jY5",
в кавычках -
низкая Обфускация
obf-base64-blobreferences/slack/triggers.md:73Длинный blob, похожий на base64 (в кавычках — упоминание, а не команда)"event_context": "4-ey…ifQ",
в кавычках -
низкая Обфускация
obf-base64-blobreferences/slack/triggers.md:133Длинный blob, похожий на base64 (в кавычках — упоминание, а не команда)"event_context": "4-ey…ifQ",
в кавычках -
низкая Обфускация
obf-base64-blobreferences/slack/triggers.md:179Длинный blob, похожий на base64 (в кавычках — упоминание, а не команда)"event_context": "4-ey…In0",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/stripe/triggers.md:41Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"balance_transaction": "txn_…GxW",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/stripe/triggers.md:117Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"id": "evt_…qVg",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/stripe/triggers.md:144Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"subscription": "sub_…qSY"
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/stripe/triggers.md:180Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"subscription": "sub_…qSY",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/stripe/triggers.md:194Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"subscription": "sub_…qSY",
в кавычках
Просканировано файлов: 11. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1894 символов, лимит 1024 - предупреждение
body-longтело SKILL.md ≈ 14954 токенов (рекомендуется < 5000); вынесите детали в references/ - предупреждение
missing-refссылка на отсутствующий файл: references/<source>/triggers.md - предупреждение
missing-refссылка на отсутствующий файл: references/{source}/triggers.md - заметка
description-budgetdescription занимает 1894 из общего бюджета ~15000 символов на все скиллы - заметка
edit-residueв тексте есть пометки об устаревшем (строки 651): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 54/100
- 0Инструменты и файлы. Не хватает 2 файла(ов): references/<source>/triggers.md, references/{source}/triggers.md
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 121, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (hubspot) не совпадает с папкой (hubspot-api)
- 40Стоимость исполнения. Тело инструкции 14954 токенов: вытесняет саму задачу из окна
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Шаги. Шагов: 78
- 100Когда включается. Сказано, когда применять и когда не применять
- 100Ошибки и развилки. Развилок: 4, есть раздел про ошибки
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 14. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1893: рекомендуется 120–800 символов
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 104 заголовков
- +3Пошаговые инструкции: 78 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (134 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 37.