chatgpt-app-submission
Официальный skill OpenAI предназначен для подготовки файла chatgpt-app-submission.json перед отправкой ChatGPT App на review. Он применяется, когда в текущем репозитории уже есть MCP-сервер приложения, а разработчику нужен проверяемый набор сведений для разделов App Info, MCP Server и Testing в форме отправки. Workflow начинается с чтения метаданных проекта, package-файлов, README, manifest-файлов, описаний инструментов, resource templates и widget metadata. Затем skill находит каждый опубликованный MCP-инструмент, фиксирует его точное имя, описание и значения readOnlyHint, openWorldHint и destructiveHint, а также проверяет наличие outputSchema. Одних названий недостаточно: для понимания side effects нужно прочитать реализацию инструмента и вызываемые helper-модули настолько глубоко, чтобы различать чтение, вычисление, создание, обновление, удаление, отправку, постановку задания в очередь и другие изменения внешнего состояния. После этого фактическое поведение сравнивается с annotations, названиями, описаниями и CSP. Если hint отсутствует, равен null или противоречит коду, skill останавливает генерацию и просит разрешение на минимальное исправление исходника; misleading JSON в таком случае не создаётся. Отсутствующий outputSchema фиксируется как отдельное предупреждение и сам по себе не блокирует создание submission-файла, поскольку схемы результатов в этот JSON не включаются. Для App Info используются реальные данные проекта: короткое имя, функциональный subtitle не длиннее 30 символов, конкретная ценность и поддерживаемые рабочие процессы, а категория выбирается из ограниченного списка Apps SDK. В итоговый JSON входят schema URL, schema_version и обязательный объект tools с annotations и однострочными обоснованиями. Если в репозитории достаточно сведений, skill также формирует ровно пять позитивных и три негативных тестовых сценария: позитивные используют точные MCP action names и покрывают основные workflows и edge conditions, негативные описывают близкие, но не поддерживаемые запросы. В prompts и expected outputs нельзя помещать секреты, credentials, приватные пути, stack traces, request IDs или исходные фрагменты. Для каждого инструмента отдельно проверяются чувствительные поля ввода, передача или изменение чувствительных данных, расплывчатые названия и слишком широкие CSP-домены. Эти findings остаются в финальном review-отчёте, а не смешиваются с импортируемым JSON. Ограничение skill принципиальное: он не угадывает поведение по имени, не придумывает outputSchema и не меняет MCP-сервер без явного согласования. После записи файла разработчик получает число покрытых инструментов, количество тестов и список предупреждений, чтобы до submission проверить спорные места вручную.
Для чего подходит
- Подготовка ChatGPT App к submission review
- Проверка MCP tool annotations и outputSchema
- Создание chatgpt-app-submission.json
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/openai/plugins/tree/main/plugins/openai-developers/skills/chatgpt-app-submission