CF grafana
Интеграция с Grafana API с управляемой аутентификацией. Эта интеграция позволяет записывать данные: она может читать, создавать, обновлять и удалять дашборды, источники данных, папки, заметки и команды в вашем экземпляре Grafana, читать правила оповещений и информацию об организации, читать профиль текущего пользователя, перечислять установленные плагины и искать сервисные учетные записи (только для чтения инвентаря идентификаторов, которые хранят токены API — здесь не создаются и не изменяются сервисные учетные записи или токены). Правила оповещений документированы только для чтения; пространство имен для подготовки также может записывать их, и этот навык делает это только по конкретному запросу пользователя с подтверждением. Используйте этот навык, когда пользователи хотят взаимодействовать с Grafana для мониторинга, визуализации и наблюдаемости. Все операции записи (создание/обновление/удаление дашбордов, папок, источников данных или команд) требуют явного одобрения пользователя с указанием конкретных идентификаторов ресурсов перед выполнением. Администрирование команд включено: создание, обновление и удаление команд изменяет, кто может получить доступ к каким дашбордам и папкам, поэтому относитесь к этому как к операциям записи, влияющим на идентификацию и доступ, которые требуют явного подтверждения команды по ID и названию. Это не охватывает учетные записи пользователей, членство в организации, лицензирование или настройки платформы на уровне сервера. Для других сторонних приложений используйте навык api-gateway (https://clawhub.ai/byungkyu/api-gateway). Вызовы выполняются через CLI `maton` с OAuth-логином или через необработанный HTTP с ключом Maton API, где CLI не может быть установлен. Каждый вызов аутентифицируется как соединение пользователя и достигает только того, что разрешено авторизацией этого соединения, что поставщик обеспечивает при каждом запросе; документированные здесь конечные точки — это те, которые использует этот навык, а для любой другой конечной точки этого приложения пользователь должен запросить ее по названию. По умолчанию выполняйте вызовы чтения и перечисления, и подтверждайте каждую запись или новое соединение с пользователем. Этот файл также документирует три конструкции, которые превращают соединение Grafana в автоматизацию, в порядке их использования: соединение (первый шаг), "
машинный переводПоказать оригиналСкрыть оригинал«Grafana API integration with managed authentication. This is a write-c…»
Grafana API integration with managed authentication. This is a write-capable integration — it can read, create, update, and delete dashboards, data sources, folders, annotations, and teams in your Grafana instance, read alert rules and org info, read the current user's own profile, list installed plugins, and search service accounts (read-only inventory of identities that hold API tokens - no service account or token is created or changed here). Alert rules are documented read-only; the provisioning namespace can also write them, and this skill does so only on a specific user request with confirmation. Use this skill when users want to interact with Grafana for monitoring, visualization, and observability. All write operations (creating/updating/deleting dashboards, folders, data sources, or teams) require explicit user approval with specific resource identifiers before execution. Team administration is included: creating, updating, and deleting teams changes who can reach which dashboards and folders, so treat those as identity- and access-affecting writes that need explicit confirmation of the team by id and name. It does not cover user accounts, organization membership, licensing, or server-level platform settings. 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. This file also documents the three constructs that turn a Grafana connection into automation, in the order they are used: the connection (the first step), a
Интеграция с Grafana API с управляемой аутентификацией.
Как процесс F 48/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 2540 символов, лимит 1024 - предупреждение
body-longтело SKILL.md ≈ 13927 токенов (рекомендуется < 5000); вынесите детали в references/ - предупреждение
missing-refссылка на отсутствующий файл: references/<source>/triggers.md - предупреждение
missing-refссылка на отсутствующий файл: references/{source}/triggers.md - заметка
description-budgetdescription занимает 2540 из общего бюджета ~15000 символов на все скиллы - заметка
edit-residueв тексте есть пометки об устаревшем (строки 686, 887): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 48/100
- 0Инструменты и файлы. Не хватает 2 файла(ов): references/<source>/triggers.md, references/{source}/triggers.md
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 110, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (grafana) не совпадает с папкой (grafana-api)
- 40Стоимость исполнения. Тело инструкции 13927 токенов: вытесняет саму задачу из окна
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Шаги. Шагов: 84
- 100Ошибки и развилки. Развилок: 3, есть раздел про ошибки
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 14. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 2539: рекомендуется 120–800 символов
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 113 заголовков
- +3Пошаговые инструкции: 84 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (125 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 37.