CC tx-explain
Декодирование любой транзакции Base в историю простым языком — метод, перемещение токенов, свопы/одобрения, контрагенты и флаги подозрительных одобрений. Без ключа через Base RPC + Etherscan v2.
машинный переводПоказать оригиналСкрыть оригинал«Decode any Base transaction into a plain-English story - method, token…»
Decode any Base transaction into a plain-English story - method, token movements, swaps/approvals, counterparties, and suspicious-approval flags. Keyless via Base RPC + Etherscan v2.
Декодирование любой транзакции Base в историю простым языком — метод, перемещение токенов, свопы/одобрения, контрагенты и флаги подозрительных одобрений.
Как процесс C 50/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 4
✓ Критических и высоких находок нет
Средние и низкие: 4
-
низкая Утечка данных
net-credential-useSKILL.md:25Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (определение детектора / чёрного списка)- `ETHERSCAN_API_KEY` — optional, used only to fetch a verified ABI for richer decoding. Appended to the URL as `&apikey=…` via `./secretcurl`'s `{ETHERSCAN_API_KEY}` placeholder (never a bare `$SECREдетектор -
низкая Утечка данных
net-credential-useSKILL.md:43Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)Take the first 4 bytes of `input` (the selector). Recognize common selectors directly; otherwise fetch the `to` contract's verified ABI via Etherscan v2 (`module=contract&action=getabi`) — keyless wor
в кавычках -
низкая Утечка данных
net-credential-useSKILL.md:48Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)./secretcurl -m 10 -s "https://api.etherscan.io/v2/api?chainid=8453&module=…&action=…&address=…" | jq -r '.result'
vendor-host -
низкая Утечка данных
net-credential-useSKILL.md:105Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (определение детектора / чёрного списка)Base RPC is public and keyless; Etherscan v2's optional key is appended as `&apikey=…` via `./secretcurl`'s `{ETHERSCAN_API_KEY}` placeholder (never a bare `$SECRET`, never a header). Both are plain Hдетектор
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда")
Процессный рейтинг: все десять параметров 50/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 60Инструменты и файлы. Используются инструменты (web), но во frontmatter они не объявлены
- 100Шаги. Шагов: 8
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1022 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 182 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 10 заголовков
- +3Пошаговые инструкции: 8 пунктов
- +4Есть примеры (4 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 72.