python-appservice-deploy — скилл для Claude Code: установка
Автоматизирует публикацию приложений на Python в Azure App Service Linux. Создаёт недостающую инфраструктуру и настраивает параметры запуска.
npx skills add microsoft/skills --skill python-appservice-deploy -a claude-codeЧто делает python-appservice-deploy
Скилл развёртывает код Python на тарифе P0v3 в среде Linux со средой исполнения PYTHON:3.14. Если группы ресурсов, тарифного плана или веб-приложения ещё нет в подписке, процесс создаёт их автоматически. Запрашивается только имя приложения, а группа ресурсов и план формируются по шаблону <app>-rg и <app>-plan в текущем регионе Azure CLI либо в eastus2.
Развёртывание выполняется через azd deploy, если обнаружен файл azure.yaml, либо архивом через команду az webapp deploy --type zip. Для FastAPI автоматически выставляется команда запуска python -m uvicorn main:app --host 0.0.0.0, а для сборки зависимостей включается флаг SCM_DO_BUILD_DURING_DEPLOYMENT=true. Скилл прямо запрещает устаревшую команду az webapp up и не проверяет работоспособность сразу после деплоя, потому что сервису требуется 2–3 минуты на прогрев контейнера. Если требуются базы данных, Key Vault или Terraform, разработчику нужно переключиться на azure-prepare.
Какие задачи решает
- развернуть сервис на FastAPI в Azure App Service с запуском через uvicorn
- создать группу ресурсов, план P0v3 и веб-приложение без ручной настройки в консоли Azure
- настроить удалённую сборку зависимостей через флаг SCM_DO_BUILD_DURING_DEPLOYMENT
- опубликовать проект на Django или Flask с автоопределением среды в Oryx
Примеры запросов агенту
- Опубликуй проект на FastAPI в Azure App Service Linux.
- Разверни моё приложение Django в Azure App Service.
- Настрой веб-приложение в Azure для сервиса на Flask.
Как установить python-appservice-deploy
1Через Skills CLI (Vercel)
npx skills add microsoft/skills --skill python-appservice-deploy -a claude-code2Вручную: положить файлы
~/.claude/skills/python-appservice-deploy/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/python-appservice-deploy/
Вручную: положить файлы
.agents/skills/python-appservice-deploy/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/python-appservice-deploy/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install microsoft/skills python-appservice-deploy2Вручную: положить файлы
.github/skills/python-appservice-deploy/SKILL.mdКомандой платформы
gemini skills install https://github.com/microsoft/skills --path .github/plugins/azure-skills/skills/python-appservice-deployВручную: положить файлы
.devin/skills/python-appservice-deploy/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о python-appservice-deploy
Как установить python-appservice-deploy в Claude Code?
Выполните в терминале команду npx skills add microsoft/skills --skill python-appservice-deploy -a claude-code. Конфигурация сохранится в файле ~/.claude/skills/python-appservice-deploy/SKILL.md.
Что делает скилл python-appservice-deploy?
Он автоматизирует деплой кода на Flask, Django или FastAPI в Azure App Service Linux, настраивая план P0v3, среду PYTHON:3.14 и команду запуска.
Почему после деплоя не запускается проверка доступности сайта?
По правилам скилла проверки через curl или чтение логов запрещены сразу после публикации, так как App Service требует от двух до трёх минут на прогрев контейнера.
Исходный текст
SKILL.md · MIT
--- name: python-appservice-deploy description: "Deploy Python (Flask/Django/FastAPI) code to Azure App Service Linux. WHEN: \"Flask App Service\", \"Django App Service\", \"FastAPI App Service\", \"deploy Python to App Service\". DO NOT USE FOR: Container Apps, Functions, non-Python, Terraform/Bicep/IaC, full infra — use azure-prepare." license: MIT metadata: author: Microsoft version: "1.1.1" --- # Python on Azure App Service — Code Deploy Deploys Python (Flask, Django, FastAPI, generic) code to Azure App Service Linux (P0v3, Python 3.14). Creates RG + Plan + Web App if missing. Hand off to `azure-prepare` for VNet, Key Vault, databases, or IaC. **MCP tools used**: `mcp_azure_mcp_subscription_list`, `mcp_azure_mcp_group_list`, `mcp_azure_mcp_appservice`, `mcp_azure_mcp_azd` (when `azure.yaml` is present). ## Workflow 1. **Resolve context — smart defaults, minimal prompts.** Only the app name is interactive; RG (`<app>-rg`), Plan (`<app>-plan`), region (current `az` default or `eastus2`), subscription are derived. [create-app.md](references/create-app.md) §1. 2. **Detect framework** (advisory, never blocks). [detect.md](references/detect.md). 3. **Choose path** — `azure.yaml` host: appservice → [deploy-azd.md](references/deploy-azd.md); else [deploy-azcli.md](references/deploy-azcli.md). 4. **Ensure RG → Plan (`P0v3 --is-linux`) → Web App (`--runtime "PYTHON:3.14"`)** exist. On transient ARM errors, follow [transient-retry.md](references/transient-retry.md). [create-app.md](references/create-app.md). 5. **Set startup** — Flask/Django: none (Oryx auto-detects). FastAPI: always `python -m uvicorn main:app --host 0.0.0.0`. Other: warn. [startup-commands.md](references/startup-commands.md). 6. **Set `SCM_DO_BUILD_DURING_DEPLOYMENT=true`**. 7. **Deploy** — `azd deploy` or `az webapp deploy --type zip --track-status false`. 8. **STOP. Print the post-deploy message** ([post-deploy-message.md](references/post-deploy-message.md)) and end the turn. ### Hard rules - ⛔ **NO POST-DEPLOY VERIFICATION** — after deploy returns, do not run `az webapp log tail`, `curl`, `Invoke-WebRequest`, or any health probe. App Service needs 2–3 min to warm; a quiet log or early 5xx is not failure. - ⛔ **SHELL SAFETY** — for `--runtime` always use `"PYTHON:3.14"` (colon). Never `"PYTHON|3.14"` (pipe is a shell operator). - ⛔ **NEVER `az webapp up`** — deprecated. Use Step 7 commands. - ✅ **URL FORMAT** — present endpoints as `https://...` URLs. ## Error Handling See [errors.md](references/errors.md) for the full symptom → cause → fix matrix. Quick triage: missing plan/app → re-run Step 4; container ping timeout on 8000 → fix startup (Step 5); `ModuleNotFoundError` after deploy → ensure Step 6 ran, redeploy.
© Microsoft · MIT · microsoft/skills