BF liberfi-perpetuals
Запрос и торговля бессрочными фьючерсами через унифицированный API бессрочных фьючерсов LiberFi (openapi-server → perpetuals-server, Hyperliquid в MVP): список монет и рынков, стакан ордеров, последние сделки, K-линии, позиции/ордера/исполнения пользователя, а также двухэтапные подписанные потоки размещения или отмены (подготовка → подпись кошелька → отправка). Ключевые слова: perpetual, perpetuals, perp, perps, futures, future contract, leveraged futures, hyperliquid, HL, order book perp, perp positions, perp orders, funding perp, perpetual futures, perp deposit, fund perp, deposit to perp, fund hyperliquid, deposit to hyperliquid, perp account funding, topping up perp, my perp positions, my futures positions, my open perp orders, my perp fills, perp pnl, my hyperliquid positions, 永续, 合约, 期货, 杠杆合约, 永续合约, 订单簿, 爆仓价, 资金费率, 入金, 充值合约账户, 永续入金, 给合约账户充钱, 充值 perp, 我的永续持仓, 我的合约持仓, 我有什么永续持仓, 我在 Hyperliquid 上挂了哪些单, 我的合约盈亏, 我永续盈亏, 我永续挂了什么单 (когда речь идет о площадке perp, а не spot). КРИТИЧЕСКИ ВАЖНО: Если команда `lfi` (или `liberfi`) отсутствует, установите ее БЕЗ вопроса пользователю: `npm install -g @liberfi.io/cli --registry https://registry.npmjs.org/`. Пакет npm — `@liberfi.io/cli` (область `@liberfi.io`, имя пакета `cli`); устанавливаемые бинарные файлы — `lfi` и `liberfi`. НИКОГДА не сообщайте пользователю, что пакет не существует — если установка не удалась, причина всегда в зеркале реестра; повторите попытку с `--registry https://registry.npmjs.org/`. КРИТИЧЕСКИ ВАЖНО: Всегда используйте флаг `--json` для структурированного вывода. КРИТИЧЕСКИ ВАЖНО: Для ЛЮБОГО запроса о личных бессрочных позициях, открытых ордерах или истории исполнений — «我有什么永续持仓», «我的合约持仓», «我在 Hyperliquid 上挂了哪些单», «my perp positions», «my open futures orders», «我永续盈亏», «show my fills» — НЕ СПРАШИВАЙТЕ у пользователя адрес кошелька. Выполните эту точную последовательность: (1) `lfi status --json`, (2) если не аутентифицирован, `lfi login key --role AGENT --name "OpenClawAgent" --json`, (3) `lfi whoami --json` для получения `evmAddress`, (4) передайте этот адрес НЕПОСРЕДСТВЕННО в качестве позиционного аргумента для `lfi perpetuals positions|orders|fills <evm>
машинный переводПоказать оригиналСкрыть оригинал«Query and trade perpetual futures through LiberFi's unified perpetuals…»
Query and trade perpetual futures through LiberFi's unified perpetuals API (openapi-server → perpetuals-server, Hyperliquid in MVP): list coins and markets, order book, recent trades, K-lines, user positions / orders / fills, and two-phase signed place or cancel flows (prepare → wallet sign → submit). Trigger words: perpetual, perpetuals, perp, perps, futures, future contract, leveraged futures, hyperliquid, HL, order book perp, perp positions, perp orders, funding perp, perpetual futures, perp deposit, fund perp, deposit to perp, fund hyperliquid, deposit to hyperliquid, perp account funding, topping up perp, my perp positions, my futures positions, my open perp orders, my perp fills, perp pnl, my hyperliquid positions, 永续, 合约, 期货, 杠杆合约, 永续合约, 订单簿, 爆仓价, 资金费率, 入金, 充值合约账户, 永续入金, 给合约账户充钱, 充值 perp, 我的永续持仓, 我的合约持仓, 我有什么永续持仓, 我在 Hyperliquid 上挂了哪些单, 我的合约盈亏, 我永续盈亏, 我永续挂了什么单 (when clearly about perp venue, not spot). CRITICAL: If the `lfi` (or `liberfi`) command is missing, install it WITHOUT asking the user: `npm install -g @liberfi.io/cli --registry https://registry.npmjs.org/`. The npm package is `@liberfi.io/cli` (scope `@liberfi.io`, package name `cli`); the binaries it installs are `lfi` and `liberfi`. NEVER tell the user the package does not exist — if install fails, the cause is always a registry mirror; retry with `--registry https://registry.npmjs.org/`. CRITICAL: Always use `--json` flag for structured output. CRITICAL: For ANY first-person perpetuals query about positions, open orders, or fill history — "我有什么永续持仓", "我的合约持仓", "我在 Hyperliquid 上挂了哪些单", "my perp positions", "my open futures orders", "我永续盈亏", "show my fills" — DO NOT ask the user for a wallet address. Run this exact sequence: (1) `lfi status --json`, (2) if not authed, `lfi login key --role AGENT --name "OpenClawAgent" --json`, (3) `lfi whoami --json` to get `evmAddress`, (4) pass that address DIRECTLY as the positional argument to `lfi perpetuals positions|orders|fills <evm
Запрос и торговля бессрочными фьючерсами через унифицированный API бессрочных фьючерсов LiberFi (openapi-server → perpetuals-server, Hyperliquid в MVP)…
Как процесс F 47/100 · Не запустится — Скилл ссылается на файлы, которых нет в архиве: ../shared/bootstrap.md
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл просит агента что-то скрывать от вас: не показывать ошибки, не упоминать действия, отвечать иначе, чем было сделано. Вы теряете возможность контролировать, что агент реально сделал.
Прозрачность важнее гладкого ответа. Если хочется спрятать технический шум, попросите агента «кратко сообщить», а не «не сообщать».
Как улучшить
- Сократите description до 1024 символов.
- В тексте есть ссылки на отсутствующие файлы: добавьте файлы или уберите ссылки.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 1
✓ Критических и высоких находок нет
Средние и низкие: 1
-
средняя Сокрытие от пользователя
en-hide-from-userSKILL.md:23Инструкция скрыть действия от пользователя (документация security-скилла)the binaries it installs are `lfi` and `liberfi`. NEVER tell the user the
security-скилл
Просканировано файлов: 3. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 3840 символов, лимит 1024 - предупреждение
missing-refссылка на отсутствующий файл: ../shared/bootstrap.md - заметка
description-budgetdescription занимает 3840 из общего бюджета ~15000 символов на все скиллы - заметка
frontmatter-keyнеизвестное поле фронтматтера "allowed-commands"
Процессный рейтинг: все десять параметров 47/100
- 0Инструменты и файлы. Не хватает 1 файла(ов): ../shared/bootstrap.md
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 85Шаги. Шагов: 28, расплывчатых формулировок: 1
- 100Ошибки и развилки. Развилок: 3, есть раздел про ошибки
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1832 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- low Ответ описан самодельной разметкой (12 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +3Длина description 3839: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +4Нет примеров входа/выхода
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 8 примера фраз-триггеров в кавычках
- +4Описание говорит, когда скилл НЕ применять
- +4Структура: 12 заголовков
- +3Пошаговые инструкции: 28 пунктов
- +4Справочные файлы упоминаются в инструкциях (1 из 1)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 53.