Communityコーディング&開発github.com

Azureアプリオンボード事前確認 — リポジトリ評価

ソースコードがAzureにデプロイ可能かどうかを評価する、インフラ作業の前の事前チェックです。ビルド健全性、アプリの完全性、依存関係とローカルサービス、スタック互換性、デプロイ可能性を評価します。アプリをデプロイする前に必要なもの(フレームワーク、依存関係、構成)について質問に答えます。依存関係の互換性を確認し、デプロイブロッカーや非対応フレームワークを特定します。

Azureアプリオンボード事前確認 — リポジトリ評価 とは?

このスキルは、Azureアプリオンボードプロセスのフェーズ1であり、ユーザーのリポジトリを徹底的に評価して、Azureへのデプロイ準備が整っているかどうかを確認します。ビルドの健全性、アプリの完全性、依存関係の互換性、クラウドSDKの有無、Terraformプロバイダー、デプロイ可能性を静的に分析し、コンポーネントごとにPASS、WARN、FAILの判定を生成します。評価結果は downstream フェーズで利用され、必要に応じて修復プロトコルに従って問題を修正することもできます。このスキルは、`npm install`、`pytest`、`dotnet build`などのインストール、ビルド、テストコマンドの実行を一切禁止しており、読み取り専用の静的評価のみを行います。コードの移行や新規作成の一部として必要な場合に限り、明示的なユーザー同意を得た上でのみ、ビルド検証を行います。主にClaude CodeなどのAIエージェント向けに設計されており、`mcp_azure_mcp_get_azure_bestpractices` や `mcp_azure_mcp_extension_cli_install` などのMCPツールを活用して、Azureベストプラクティスの検証やCLIツールのインストール状態を確認します。

対応~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アプリオンボード事前確認 — リポジトリ評価 は何をしますか?

インフラ計画の前に、ユーザーのリポジトリのビルド健全性、アプリの完全性、Azureデプロイ可能性を評価します。コンポーネントごとに判定(PASS/WARN/FAIL)を生成し、後続フェーズで使用します。

オーケストレーターとの関係: azure-app-onboard によってステップ3で呼び出されるか、コード準備チェックとして単独で使用されます。オーケストレーターから呼び出された場合は、アーティファクト書き込み後に制御を azure-app-onboard に戻します。下流フェーズを直接呼び出さないでください。

AppOnboardパイプラインの4フェーズ中フェーズ1。セッション: .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、その他すべてのパッケージマネージャーのインストール、ビルド、テストコマンドを事前確認フェーズで実行してはいけません。コードを検証するためにテストスイートを実行しないでください。代わりにテスト設定ファイルを静的に確認してください。事前確認フェーズは読み取り専用の評価+静的検証のみです。 唯一の例外 — 同意ゲート付きの2つのコンテキスト: (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を読んでください。

⛔ クラウド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 が1つでもある場合は、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 に保存します。必須 — 再開時にHEADと比較して変更を検出するための鮮度ガードとしてステップ1で使用されます。

ステップ8: ルーティング

⛔ 必須 — このステップをスキップしないでください。

ルーティングフィールド: すべてのルーティングは routeToSkill と routeReason を context.json に書き込みます。

修復後のコンテキスト: ステップ6を実行した場合は、ルーティングプロンプトを次のように開始します: 「修復完了 — {N}個の問題を修正しました。アプリの状態は {overallHealth} です。」

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.

関連スキル