Community코딩 & 개발github.com

microsoft/azure-app-onboard-prereq

소스 코드가 Azure에 배포할 준비가 되었는지 평가합니다 — 인프라 작업 전 사전 점검. 빌드 상태, 앱 완전성, 의존성 및 로컬 서비스, 스택 호환성, 배포 가능성을 평가합니다. 배포 전에 앱에 필요한 사항(프레임워크, 의존성, 구성)을 질문에 답변하고, 의존성 호환성을 확인하며 배포 차단 요소 및 지원되지 않는 프레임워크를 식별합니다.

azure-app-onboard-prereq란 무엇인가요?

이 스킬은 Azure 애플리케이션 온보딩 파이프라인의 1단계로, 사용자 저장소의 코드 베이스가 Azure에 배포되기 전에 필요한 사전 조건을 정적으로 평가합니다. 빌드 건강성, 앱 완전성, 배포 가능성이라는 세 가지 축을 따라 구성 요소별로 PASS/WARN/FAIL 평결을 생성하며, Bicep/Terraform 등 인프라 검증은 수행하지 않습니다. 주로 Claude Code, Cursor, Codex와 같은 AI 에이전트 환경에서 사용되며, `.copilot-azure/sessions/` 디렉토리에 세션 아티팩트를 기록하고 `prereq-output.json`을 생성합니다. 평가 과정에서 `npm install`, `pytest`, `dotnet build` 등의 실제 설치/빌드/테스트 명령을 절대 실행하지 않고(읽기 전용 정적 분석만 수행), 중요한 예외 상황(에이전트가 수정/작성한 코드)에 대해서만 사용자 동의 하에 제한적으로 빌드 검증을 허용합니다. 또한 AWS SDK, Google Cloud SDK 등 타사 클라우드 SDK가 발견되면 Azure Cloud Migrate로 리디렉션을 제안하며, 평가 결과에 따라 수정 프로토콜 및 라우팅 결정을 내립니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/microsoft/azure-skills/tree/main/skills/azure-app-onboard-prereq

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Azure App Onboard Prereq — 저장소 평가

사용자 저장소의 빌드 건강성, 앱 완전성 및 Azure 배포 가능성을 인프라 계획 전에 평가합니다. 구성 요소별 평결(PASS/WARN/FAIL)을 생성하여 다음 단계에서 사용합니다.

오케스트레이터 관계: azure-app-onboard의 3단계에서 호출되거나 독립 실행형 코드 준비 확인으로 사용됩니다. 오케스트레이터에 의해 호출된 경우 아티팩트 작성 후 제어를 azure-app-onboard로 반환하고 다음 단계를 직접 호출하지 마십시오.

AppOnboard 파이프라인의 1/4단계. 세션: .copilot-azure/sessions/{session-id}/. context.json을 읽습니다. components[], repo{}, detectedInfra[]를 작성합니다. prereq-output.json을 생성합니다. 스키마: prereq-schemas.ts — PrereqOutput, BuildRequirements. 직접 진입이 지원됩니다.

사용하지 말아야 할 경우

신호리디렉션
인프라(Bicep/TF/azure.yaml) 검증azure-validate
IaC 생성azure-prepare
아이디어부터 프로덕션까지 엔드투엔드azure-app-onboard
azd up 또는 배포 실행azure-deploy

규칙

⛔ 절대 금지 — npm install, npm test, npx jest, pytest 및 모든 설치/빌드/테스트 명령은 절대 허용되지 않습니다. 어떤 상황에서도 npm install, npm test, npx jest, pip install, pytest, dotnet build, dotnet restore, dotnet test, go mod download, cargo build 또는 패키지 관리자 설치, 빌드, 테스트 명령을 prereq 단계에서 실행해서는 안 됩니다. 코드 검증을 위해 테스트 스위트를 실행하지 말고 대신 테스트 구성 파일을 정적으로 확인하십시오. prereq 단계는 읽기 전용 평가 + 정적 전용 검증입니다. 유일한 예외 — 두 가지 허용 컨텍스트, 모두 동의 필요: (a) 에이전트가 마이그레이션/수정 중에 수정한 코드(remediation-protocol.md 6단계 참조) 또는 (b) 에이전트가 제로 코드 경로에서 처음부터 작성한 코드(zero-code-path.md 참조). 두 경우 모두 설치/빌드/테스트는 사용자가 특정 명령별 동의 프롬프트에 응답한 후에만 사용자 확인된 빌드 검증 게이트(build-check.md 3단계)를 통해 실행됩니다. 일반적인 사전 동의는 적용되지 않습니다.

  1. ⛔ 전체 파이프라인(1~8단계), 예외 없음. 모든 프롬프트 → 직접 1단계로 이동합니다. 특정 질문에 대한 답변은 결과의 일부로(5단계) 제공하며, 그 전에 제공하지 않습니다.
  2. ⛔ 평가를 위한 하위 에이전트 금지. 3축 평가는 인라인으로 수행됩니다. 예외: 제로 코드 경로 스캐폴딩(2단계).
  3. 코드/파괴적 수정은 ask_user가 필요합니다. 결과 전 최대 3개의 질문. 직접 진입: 오케스트레이터의 의도 질문을 반복하지 마십시오.

MCP 도구

도구목적
mcp_azure_mcp_get_azure_bestpractices감지된 스택 패턴을 Azure 모범 사례에 대해 검증
mcp_azure_mcp_extension_cli_install필요한 CLI 도구(az, azd, func) 설치/확인

워크플로우

1단계: 세션 확인

오케스트레이터 진입: 세션이 존재함 — context.json을 읽고 2단계로 진행합니다.

직접 진입: .copilot-azure/sessions/active-session.json 확인:

  • 존재함 → ⛔ session-protocol.md를 읽어 재개/새로 시작 게이트를 확인합니다. 사용자가 응답할 때까지 진행하지 마십시오.
  • 없음 → 세션 생성: UUID 생성, New-Item -ItemType Directory -Path ".copilot-azure/sessions/{uuid}" -Force, create 도구를 통해 context.json + active-session.json 작성.

그런 다음: az account show → {id, name, tenantId}를 context.json.azure에 병합합니다. ⛔ 스캔 전에 세션이 디스크에 존재해야 합니다.

2단계: 작업 공간 스캔

프로젝트 파일을 스캔합니다. 구성 요소, repo{}, detectedInfra[], detectedServices[]를 감지합니다. Terraform 공급자를 분류합니다. CLI 가용성을 확인합니다. 스택 감지 충돌: 사용자의 명시적 문장이 우선(context.json에 기록, 스캔을 재정의로 표시); 스캔 전용 → 사용자에게 확인; 여러 스택 → 모두 표시하고 질문(component-mapping.md 참조); 코드 없음 → zero-code-path.md.

프로젝트 파일, Dockerfile 및 index.html이 모두 없는 경우 → ⛔ zero-code-path.md를 읽습니다.

⛔ Cloud SDK 조기 게이트. aws-sdk|@aws-sdk|boto3|google-cloud|@google-cloud|firebase를 grep합니다. 기능적 의존성이 발견되면 → cloud-sdk-migration.md를 읽은 후 ask_user: "Azure Cloud Migrate로 리디렉션"(routeToSkill: "azure-cloud-migrate" 설정) · "계속 평가"(준비 상태 평가 완료 + SDK→Azure 매핑, 그런 다음 8단계에서 중지 — 의존성이 교체될 때까지 계획 없음) · "취소".

3단계: 구성 요소별 평가

하위 단계작업참조
3.1빌드 확인⛔ build-check.md를 반드시 읽으십시오
3.2완전성 확인⛔ completeness-check.md를 반드시 읽으십시오
3.3배포 가능성 확인⛔ deployability-check.md를 반드시 읽으십시오
3.3a구성 요소 매핑 (조건부)1개 이상의 프로젝트 매니페스트가 발견된 경우(모노레포)에만 component-mapping.md를 읽습니다

평가 후 구성 요소별로 buildRequirements를 채웁니다. 평결 전파, 계층 규칙 및 f1Viable 집계는 readiness-gate.md 및 개별 확인 참조에 설명되어 있습니다.

4단계: 아티팩트 작성 + 준비 게이트

⛔ context.json이 디스크에 존재하는지 확인합니다. readiness-gate.md(평결, 계층, 일괄 승인, 빠른 경로)를 읽은 다음 prereq-artifacts.md(작성 절차, 스키마)를 읽습니다.

5단계: 결과 제시

readiness-gate.md § 결과 제시에 따라 — 심각도별로 그룹화된 평결을 진행하기 전에 표시합니다.

6단계: 수정 (조건부)

⛔ ❌ FAIL 평결, 🔧 권장 수정 또는 fixPhase: "prereq"가 있는 ⚠️ WARN이 있는 경우 remediation-protocol.md를 반드시 읽으십시오. 수정 루프, 정적 검증, 재평가 명령, 수정 후 아티팩트 업데이트 및 빌드 검증 동의 게이트가 포함되어 있습니다. 모든 평결이 ✅ PASS이거나 fixPhase: "prereq"가 없는 ⚠️ WARN인 경우 7단계로 건너뜁니다.

7단계: 최종 상태 작성

completedPhases에 이미 "prereq"가 있고 currentPhase: null입니다(4단계에서). 그런 다음:

⛔ lastScanCommit을 작성합니다. git rev-parse HEAD를 실행하고 전체 40자 SHA를 context.json.repo.lastScanCommit에 저장합니다. 필수 — 재개 시 1단계의 부실 방지 장치가 HEAD와 비교하여 변경 사항을 감지합니다.

8단계: 라우팅

⛔ 필수 — 이 단계를 건너뛰지 마십시오.

라우팅 필드: 모든 라우팅은 routeToSkill과 routeReason을 context.json에 기록합니다.

수정 후 컨텍스트: 6단계가 실행된 경우 라우팅 프롬프트를 다음으로 시작하십시오: "수정 완료 — {N}개 문제 해결됨, 앱이 이제 {전체 건강 상태}입니다."

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

microsoft/airunway-aks-setup

Agent skill 'airunway-aks-setup' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/appinsights-instrumentation

Agent skill 'appinsights-instrumentation' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-ai

Agent skill 'azure-ai' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-aigateway

Agent skill 'azure-aigateway' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-app-onboard

Agent skill 'azure-app-onboard' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-cloud-migrate

Agent skill 'azure-cloud-migrate' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-compliance

Agent skill 'azure-compliance' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-compute

Agent skill 'azure-compute' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-cost

Agent skill 'azure-cost' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-cost-optimization

Identify Azure cost savings from usage and spending data. USE FOR: optimize Azure costs, reduce Azure spending/expenses, analyze Azure costs, find cost savings, generate cost optimization report, identify orphaned resources to delete, rightsize VMs, reduce waste, optimize Redis costs, optimize storage costs, AKS cost analysis add-on, namespace cost, cost spike, anomaly, budget alert, AKS cost visibility. DO NOT USE FOR: deploying resources (use azure-deploy), general Azure diagnostics (use azure-diagnostics), security issues (use azure-security)

microsoft/azure-deploy

Agent skill 'azure-deploy' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-diagnostics

Agent skill 'azure-diagnostics' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-enterprise-infra-planner

Agent skill 'azure-enterprise-infra-planner' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-hosted-copilot-sdk

Build, deploy, and modify GitHub Copilot SDK apps on Azure. MANDATORY when codebase contains @github/copilot-sdk or CopilotClient in package.json. PREFER OVER azure-prepare when copilot-sdk markers detected. WHEN: copilot SDK, @github/copilot-sdk, copilot-powered app, build copilot app, prepare copilot app, add feature to copilot app, modify copilot app, BYOM, bring your own model, CopilotClient, createSession, sendAndWait, azd init copilot. DO NOT USE FOR: deploying already-prepared copilot-sdk apps (use azure-deploy), general web apps without copilot SDK (use azure-prepare), Copilot Extensions, Foundry agents (use microsoft-foundry).

microsoft/azure-kubernetes

Agent skill 'azure-kubernetes' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-kusto

Agent skill 'azure-kusto' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-messaging

Agent skill 'azure-messaging' from microsoft/azure-skills. Use when the task matches this skill's domain.

microsoft/azure-observability

Azure Observability Services including Azure Monitor, Application Insights, Log Analytics, Alerts, and Workbooks. Provides metrics, APM, distributed tracing, KQL queries, and interactive reports. USE FOR: Azure Monitor, Application Insights, Log Analytics, Alerts, Workbooks, metrics, APM, distributed tracing, KQL queries, interactive reports, observability, monitoring dashboards. DO NOT USE FOR: instrumenting apps with App Insights SDK (use appinsights-instrumentation), querying Kusto/ADX clusters (use azure-kusto), cost analysis (use azure-cost-optimization).

microsoft/azure-postgres

azure-postgres — an installable skill for AI agents.

microsoft/azure-prepare

Agent skill 'azure-prepare' from microsoft/azure-skills. Use when the task matches this skill's domain.

관련 스킬