CC subwave-app-android
Загрузите мобильное приложение SUB/WAVE (проект Expo в `app/`) на физический телефон Android и подтвердите его работу. Используйте этот навык, когда пользователь хочет установить, переустановить, загрузить sideload, запустить или загрузить приложение на подключенное устройство Android или «свой пиксель» — в любой формулировке. Охватывает оба режима: (1) разработка/live — запуск через USB/кабель с Metro, чтобы изменения кода обновлялись в реальном времени на телефоне («запустить на моем телефоне», «видеть мои изменения в реальном времени», «тестировать мои изменения с горячей перезагрузкой», «направить на сервер metro»); и (2) автономный/релиз — сборка самодостаточного APK, который работает без подключения через Wi-Fi/сотовую связь («сборка для продакшена», «релизный apk», «тестировать в реальных условиях», «передать телефон»). Также обрабатывает случай «приложение упало / я его удалил, переустановить заново». Управляет adb, обратным туннелем Metro, глубокой ссылкой dev-client и сборкой релиза JDK-17 (встроенный JDK 21 в Android Studio не проходит сборку). Всегда делает скриншоты для подтверждения. НЕ используйте это для стека радио Docker (controller/liquidsoap/web) — для этого есть `subwave-control` / `subwave-deploy`. Только приложение для Android (не iOS).
машинный переводПоказать оригиналСкрыть оригинал«Get the SUB/WAVE mobile app (the Expo project in `app/`) onto a physic…»
Get the SUB/WAVE mobile app (the Expo project in `app/`) onto a physical Android phone and confirm it runs. Use this skill whenever the user wants to install, reinstall, sideload, run, or load the app on a connected Android device or "their pixel" — by any phrasing. Covers both modes: (1) dev/live — run over USB/cable with Metro so code edits hot-reload on the phone ("run it on my phone", "see my edits live", "test my changes with hot reload", "point it at the metro server"); and (2) standalone/release — build a self-contained APK that runs unplugged over WiFi/cellular ("production build", "release apk", "test it in the wild", "hand off the phone"). Also handles the "app crashed / I deleted it, reinstall fresh" case. Manages adb, the Metro reverse tunnel, the dev-client deep link, and the JDK-17 release build (Android Studio's bundled JDK 21 fails the build). Always screenshots to verify. Do NOT use this for the Docker radio stack (controller/liquidsoap/web) — that's `subwave-control` / `subwave-deploy`. Android phone app only (no iOS).
Скилл обещает запустить Android-приложение SUB/WAVE на физическом телефоне двумя способами: через USB с горячей перезагрузкой кода (dev-режим) и отдельным APK для автономной работы (release-режим). В папке один файл с инструкцией на 2385 токенов.
Проверки выявили только одну проблему: описание скилла слишком длинное (lint-error). Критических ошибок нет, битых ссылок и недостающих файлов не найдено. Оценка качества — 53 из 100, процесс — 64 из 100. Скилл не прошёл через модели и песочницу, поэтому неясно, насколько точны инструкции и покрывают ли они реальные подводные камни с Expo на Android.
Поставить можно, если вы готовы проверить инструкции самостоятельно перед первым использованием. На моделях скилл не валидировался.
Загрузите мобильное приложение SUB/WAVE (проект Expo в app/) на физический телефон Android и подтвердите его работу.
Как процесс C 64/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия
Как улучшить
- Сократите description до 1024 символов.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 1. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
description-longdescription 1052 символов, лимит 1024 - предупреждение
frontmatter-yamlSKILL.md: фронтматтер не разбирается как YAML (YAML parse error: Nested mappings are not allowed in compact mappings at line 2, column 14: description: Get the SUB/WAVE mobile app (the Expo project in `app/`) onto a ph… ^ ); поля прочитаны построчно. Обычная причина — двоеточие в незакавыченном значении
Процессный рейтинг: все десять параметров 64/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 60Инструменты и файлы. Используются инструменты (bash, web), но во frontmatter они не объявлены
- 65Ошибки и развилки. Развилок: 3
- 100Шаги. Шагов: 7
- 100Когда включается. Сказано, когда применять и когда не применять
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2385 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +3Длина description 1052: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 10 примера фраз-триггеров в кавычках
- +4Описание говорит, когда скилл НЕ применять
- +4Структура: 16 заголовков
- +3Пошаговые инструкции: 7 пунктов
- +4Есть примеры (16 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 53.