AC developing-ios-apps
Разработка приложений для iOS/macOS с использованием XcodeGen, SwiftUI и SPM, включая подписание Apple Developer, нотаризацию и конвейеры CI/CD. Используйте при создании приложений для iOS/macOS, устранении сбоев сборки Xcode, развертывании на реальных устройствах или настройке CI/CD для подписи. Активируется при проблемах с project.yml XcodeGen, зависимостями SPM, ошибках подписи кода (Error -25294, несоответствие keychain, adhoc fallback, EMFILE, конфликт учетных данных нотаризации), "Library not loaded @rpath", Electron @electron/osx-sign / @electron/notarize, notarytool или проблемах с сертификатами/провижинингом.
машинный переводПоказать оригиналСкрыть оригинал«Develops iOS/macOS apps with XcodeGen, SwiftUI, and SPM, including App…»
Develops iOS/macOS apps with XcodeGen, SwiftUI, and SPM, including Apple Developer signing, notarization, and CI/CD pipelines. Use when building iOS/macOS apps, fixing Xcode build failures, deploying to real devices, or configuring CI/CD signing. Triggers on XcodeGen project.yml, SPM dependency issues, code signing errors (Error -25294, keychain mismatch, adhoc fallback, EMFILE, notarization credential conflict), "Library not loaded @rpath", Electron @electron/osx-sign / @electron/notarize, notarytool, or certificate/provisioning problems.
Разработка приложений для iOS/macOS с использованием XcodeGen, SwiftUI и SPM, включая подписание Apple Developer, нотаризацию и конвейеры CI/CD.
Как процесс C 54/100 · Есть пробелы — слабые места: результат и критерий готовности, входы и предусловия, ошибки и развилки
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
В файлах лежит чужой ключ или токен. Если он живой, ваш агент начнёт ходить в чужие сервисы от чужого имени; если ключ уже отозван, скрипты скилла просто сломаются. Такой ключ мог попасть в скилл вместе с целым рабочим пространством автора, включая личные данные.
Ключ виден всем, кто скачал скилл, и уже мог быть скопирован ботами, которые сканируют каталоги. Отзовите его сейчас, проверьте счета и логи доступа, а потом перевыпустите.
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 1
✓ Критических и высоких находок нет
Средние и низкие: 1
-
средняя Секреты в коде
secret-private-keyreferences/apple-codesign-notarize.md:335Приватный ключ (заголовок ключа без тела; строка таблицы в документации)| Notarization: "Could not find valid private key" | `.p8` file base64 decoded incorrectly | Verify: `echo "$APPLE_API_KEY" \| base64 --decode \| head -1` should show `-----BEGIN PRIVATE KEY----- …
только заголовоктаблица
Просканировано файлов: 6. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
✓ По спецификации Agent Skills замечаний нет
Процессный рейтинг: все десять параметров 54/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 9, без проверки текущего состояния
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 85Шаги. Шагов: 31, расплывчатых формулировок: 1
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 3119 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 545 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 25 заголовков
- +3Пошаговые инструкции: 31 пунктов
- +4Есть примеры (15 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (5 из 5)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 86.