DD linear
Интеграция с Linear API через управляемый OAuth. Запрашивайте и управляйте задачами, проектами, командами, циклами и метками с помощью GraphQL. Используйте этот навык, когда пользователи явно упоминают Linear или спрашивают о своих задачах, циклах, проектах или командах в Linear — например, «создать задачу в Linear для этой ошибки», «что в моем текущем цикле», «переместить ENG-412 в готово». Не для задач GitHub, Jira или общих списков дел, и не для планирования работы, которая не отслеживается в Linear. Для других сторонних приложений используйте навык api-gateway (https://clawhub.ai/byungkyu/api-gateway). Требуется доступ к сети и действительный ключ API Maton. Вызовы выполняются через CLI `maton` с входом OAuth или через необработанный HTTP с ключом API Maton, если CLI не может быть установлен. Каждый вызов аутентифицируется как соединение пользователя и достигает только того, что разрешено авторизацией этого соединения, что поставщик обеспечивает при каждом запросе; конечные точки, документированные здесь, — это те, которые использует этот навык, а для любой другой конечной точки этого приложения пользователь должен запросить ее по имени. По умолчанию выполняются вызовы на чтение и перечисление, и каждое изменение или новое соединение подтверждается с пользователем. Этот файл также документирует три конструкции, которые превращают соединение Linear в автоматизацию, в порядке их использования: соединение (первый шаг), размещенная функция, которая выполняет действие Linear через Maton SDK, и триггер, который вызывает эту функцию по расписанию или по событию. Эти разделы являются собственным справочным текстом платформы, общим с навыком api-gateway, с примерами Linear; они не добавляют функциональности Linear — Linear сам по себе является источником событий, поэтому его собственные события находятся в `references/linear/triggers.md`, а файлы в разделе `references/<source>/triggers.md` являются каталогами событий платформы для источников, предлагаемых Maton (время, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).
машинный переводПоказать оригиналСкрыть оригинал«Linear API integration with managed OAuth. Query and manage issues, pr…»
Linear API integration with managed OAuth. Query and manage issues, projects, teams, cycles, and labels using GraphQL. Use this skill when users name Linear explicitly or ask about their Linear issues, cycles, projects, or teams — for example "create a Linear issue for this bug", "what is in my current cycle", "move ENG-412 to done". Not for GitHub issues, Jira, or generic task lists, and not for planning work that is not tracked in Linear. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key. 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 Linear connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a Linear action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with Linear examples; they add no Linear capability - Linear is itself an event source, so its own events are in `references/linear/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).
Интеграция с Linear API через управляемый OAuth.
Как процесс D 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 1816 символов, лимит 1024 - предупреждение
body-longтело SKILL.md ≈ 12957 токенов (рекомендуется < 5000); вынесите детали в references/ - предупреждение
missing-refссылка на отсутствующий файл: references/<source>/triggers.md - предупреждение
missing-refссылка на отсутствующий файл: references/{source}/triggers.md - заметка
description-budgetdescription занимает 1816 из общего бюджета ~15000 символов на все скиллы - заметка
edit-residueв тексте есть пометки об устаревшем (строки 685): проверьте, не остались ли старые правила рядом с новыми — полная проверка читает текст на противоречия
Процессный рейтинг: все десять параметров 48/100
- 0Инструменты и файлы. Не хватает 2 файла(ов): references/<source>/triggers.md, references/{source}/triggers.md
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 30Повторный запуск. Изменяющих операций: 78, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (linear) не совпадает с папкой (linear-api)
- 40Стоимость исполнения. Тело инструкции 12957 токенов: вытесняет саму задачу из окна
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 100Шаги. Шагов: 63
- 100Ошибки и развилки. Развилок: 3, есть раздел про ошибки
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 14. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +3Длина description 1815: рекомендуется 120–800 символов
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 3 примера фраз-триггеров в кавычках
- +4Описание говорит, когда скилл НЕ применять
- +4Структура: 98 заголовков
- +3Пошаговые инструкции: 63 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (119 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 46.