Agent skill

Validating Local Setup

by microsoft-foundry in microsoft-foundry/foundry-agent-webapp

Diagnose and fix incomplete local development setup. An agent skill from microsoft-foundry/foundry-agent-webapp.

MITAuto-check: notesBackend & APIs

Install Validating Local Setup

skills CLI
$ npx skills add microsoft-foundry/foundry-agent-webapp --skill validating-local-setup -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install microsoft-foundry/foundry-agent-webapp validating-local-setup --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/microsoft-foundry/foundry-agent-webapp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/validating-local-setup .claude/skills/validating-local-setup && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
validating-local-setup
GitHub stars
127
Token cost
~1.2k tokens
SKILL.md length
500 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Diagnose and fix incomplete local development setup. An agent skill from microsoft-foundry/foundry-agent-webapp.

  • Works in 5 steps: Check current state → If no .azure/ directory (never ran azd) → If .azure/ exists but env files missing… → …
  • Dev servers fail to start
  • SKILL.md covers Portal vs azd up — What Each…, Quick Diagnostic, What azd up Creates and Required Environment Variables, plus 3 more sections
  • Calls pwsh, dotnet and npm

What it does

Validating Local Setup is an agent skill from microsoft-foundry/foundry-agent-webapp. Diagnose and fix incomplete local development setup. Use when dev servers fail to start, env vars are missing, authentication errors occur, or before running any dev commands for the first time.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Authentication. It works with Microsoft Azure and Microsoft Entra ID. The repository describes itself as: GitHub Copilot enabled repo for building and deploying a web application with Entra ID authentication and integrated with Azure AI Foundry Agents. The licence is MIT.

When your agent uses it

  • Dev servers fail to start
  • Env vars are missing
  • Authentication errors occur
  • Before running any dev commands for the first time

Example prompts

  • “/validating-local-setup”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Check current state
  2. If no .azure/ directory (never ran azd)
  3. If .azure/ exists but env files missing (partial setup)
  4. If env files exist but vars are wrong (stale config)
  5. Restart dev servers after any fix — env vars are read at startup.

What it can do on your machine

Read from SKILL.md and the folder at commit f6cb362. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pwsh
    • dotnet
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Validating Local Setup loads about 1.2k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 500 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:18
    al** | Agent endpoint + agent ID | Root `.env` (or manual `azd env set`) |
  • NoteMentions a .env fileSKILL.md:19
    ration, RBAC, infrastructure | `frontend/.env.local` + `backend/WebApp.Api/.env` |
  • NoteMentions a .env fileSKILL.md:31
    This checks for `frontend/.env.local` and `backend/WebApp.Api/.env` with the core authentication variables. For a full l
  • NoteMentions a .env fileSKILL.md:39
    SPA authentication (MSAL.js) | `frontend/.env.local` |
  • NoteMentions a .env fileSKILL.md:40
    T token validation | `backend/WebApp.Api/.env` |
  • NoteMentions a .env fileSKILL.md:41
    ontainer Apps, ACR, RBAC | `.azure/<env>/.env` |
  • NoteMentions a .env fileSKILL.md:48
    ### Frontend (`frontend/.env.local`)
  • NoteMentions a .env fileSKILL.md:56
    ### Backend (`backend/WebApp.Api/.env`)
  • NoteMentions a .env fileSKILL.md:73
    es the Entra app and generates `frontend/.env.local`.
  • NoteMentions a .env fileSKILL.md:84
    tion failing — check `backend/WebApp.Api/.env`.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from microsoft-foundry/foundry-agent-webapp at commit f6cb362, republished under its MIT licence (© microsoft-foundry). 500 words, ~1,209 tokens.

Download SKILL.mdSave it as .claude/skills/validating-local-setup/SKILL.md (or your agent's skills folder).
name
validating-local-setup
description
Diagnose and fix incomplete local development setup. Use when dev servers fail to start, env vars are missing, authentication errors occur, or before running any dev commands for the first time.

Local Setup Validation

Portal vs azd up — What Each Provides

The AI Foundry portal's "View sample app code" gives you AI resource variables (AI_AGENT_ENDPOINT, AI_AGENT_ID), which identify your agent. However, this app also needs an Entra ID app registration for user authentication — which only azd up creates. Both sets of config are required.

SourceWhat It ProvidesConfig It Generates
AI Foundry portalAgent endpoint + agent IDRoot .env (or manual azd env set)
azd upEntra app registration, RBAC, infrastructurefrontend/.env.local + backend/WebApp.Api/.env

If you came from the portal, paste those values and run azd up — it detects them and incorporates them automatically.

Quick Diagnostic

Run the validation script to check all configuration:

powershell
pwsh -File deployment/scripts/validate-config.ps1

This checks for frontend/.env.local and backend/WebApp.Api/.env with the core authentication variables. For a full list of required variables, see the tables below.

What azd up Creates

This app requires azd up before local development works. Here's what it provisions:

WhatWhyGenerated File
Entra ID app registrationSPA authentication (MSAL.js)frontend/.env.local
Backend auth configJWT token validationbackend/WebApp.Api/.env
Azure infrastructureContainer Apps, ACR, RBAC.azure/<env>/.env
Redirect URIsLogin callback URLsEntra app registration

Even if AI Foundry resources already exist (e.g., from the portal "View sample app code" flow), azd up is still required to create the Entra app registration.

Required Environment Variables

Frontend (frontend/.env.local)
VariableSourceRequired
VITE_ENTRA_SPA_CLIENT_IDEntra app registration (created by azd up)Yes
VITE_ENTRA_TENANT_IDAzure AD tenantYes
VITE_ENTRA_BACKEND_CLIENT_IDBackend app registration (OBO mode only)No
Backend (backend/WebApp.Api/.env)
VariableSourceRequired
AzureAd__TenantIdAzure AD tenantYes
AzureAd__ClientIdEntra app registrationYes
AzureAd__Audienceapi://{ClientId}Yes
AI_AGENT_ENDPOINTAI Foundry project endpointYes
AI_AGENT_IDAgent name in FoundryYes

Common Error Patterns

"undefined" in login URL
login.microsoftonline.com/undefined/oauth2/v2.0/authorize?client_id=undefined

Cause: VITE_ENTRA_SPA_CLIENT_ID and VITE_ENTRA_TENANT_ID not set. Fix: Run azd up — this creates the Entra app and generates frontend/.env.local.

AADSTS900023: Specified tenant identifier is neither a valid DNS name

Cause: Same as above — tenant ID is undefined or empty. Fix: Run azd up.

Show full SKILL.md (199 more words)Show less
Frontend shows "Setup Required" error page

Cause: The Vite env check plugin detected missing environment variables. Fix: Run azd up, then restart the dev server.

401 Unauthorized on /api/* endpoints

Cause: Backend JWT validation failing — check backend/WebApp.Api/.env. Fix: Ensure AzureAd__ClientId matches the Entra app registration. Run azd provision to regenerate.

ManagedIdentityCredential error in local dev

Cause: Backend trying to use managed identity locally. Fix: Set ASPNETCORE_ENVIRONMENT=Development — local dev uses ChainedTokenCredential(AzureCliCredential, AzureDeveloperCliCredential) instead.

Step-by-Step Fix for Incomplete Setup

  1. Check current state:

    powershell
    pwsh -File deployment/scripts/validate-config.ps1
  2. If no .azure/ directory (never ran azd):

    powershell
    azd up
  3. If .azure/ exists but env files missing (partial setup):

    powershell
    azd provision   # Re-creates Entra app + generates .env files
  4. If env files exist but vars are wrong (stale config):

    powershell
    azd provision   # Regenerates everything
  5. Restart dev servers after any fix — env vars are read at startup.

For Agents: Before Running Dev Commands

Before executing dotnet watch run, npm run dev, or start-local-dev.ps1:

  1. Check if frontend/.env.local exists
  2. Check if backend/WebApp.Api/.env exists
  3. If either is missing, tell the user to run azd up first
  4. Do NOT try to create these files manually — they contain auto-generated Entra app registration IDs

© microsoft-foundry, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/validating-local-setup of microsoft-foundry/foundry-agent-webapp.

Open the folder on GitHubat commit f6cb362

Compare with similar skills

Validating Local Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Validating Local Setup compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Validating Local Setup this skillmicrosoft-foundry/foundry-agent-webapp127—~1.2kAutomated safety check: NotesMIT
Microsoft Azure Webjobs Extensions Authentication Events Dotnetmicrosoft/skills3.1k5 repos~3.8kAutomated safety check: PassMIT
Entra App Registrationmicrosoft/GitHub-Copilot-for-Azure2552 repos~2.1kAutomated safety check: PassMIT
Iam Auditbriiirussell/cybersecurity-skills412—~3.1kAutomated safety check: NotesMIT
Auditing Azure Active Directory Configurationmukul975/Anthropic-Cybersecurity-Skills34k—~3kAutomated safety check: PassApache-2.0
Azure Identity Pymicrosoft/skills3.1k—~4.4kAutomated safety check: PassMIT

Similar skills

  • Entra App Registration

    microsoft/GitHub-Copilot-for-Azure

    Official

    Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration.

    255 GitHub starsUsed in 2 repos~2.1k tokens
    Backend & APIsAuto-check passed
  • Iam Audit

    briiirussell/cybersecurity-skills

    Audit, design, and migrate Identity and Access Management — cloud provider IAM (AWS, GCP, Azure), identity providers (Okta, Entra ID / Azure AD, Auth0, Google Workspace), application authorization…

    412 GitHub stars~3.1k tokensUpdated 4 mo ago
    Backend & APIsAuto-check: notes
  • Auditing Azure Active Directory Configuration

    mukul975/Anthropic-Cybersecurity-Skills

    Auditing Microsoft Entra ID (Azure Active Directory) configuration to identify risky authentication policies, overly permissive role assignments, stale accounts, conditional access gaps, and guest…

    34k GitHub stars~3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Azure Identity Py

    microsoft/skills

    Official

    Azure Identity SDK for Python authentication with Microsoft Entra ID.

    3.1k GitHub stars~4.4k tokensUpdated today
    Backend & APIsAuto-check passed
  • Apex Entra App Registration

    jonathan-vella/apex

    WORKFLOW SKILL — Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration.

    217 GitHub stars~1.3k tokensUpdated today
    Backend & APIsAuto-check passed

More from microsoft-foundry/foundry-agent-webapp

All 19 skills in this repo
  • Committing Code

    microsoft-foundry/foundry-agent-webapp

    Provides commit message format and workflow for this repository.

    127 GitHub stars~512 tokensUpdated 5 mo ago
    Auto-check passed
  • Implementing Chat Streaming

    microsoft-foundry/foundry-agent-webapp

    Provides SSE streaming patterns for the chat API and frontend.

    127 GitHub stars~1.9k tokensUpdated 5 mo ago
    Auto-check passed
  • Planning Features

    microsoft-foundry/foundry-agent-webapp

    Provides structured plan template for feature implementation.

    127 GitHub stars~548 tokensUpdated 5 mo ago
    Auto-check passed
  • Researching Azure AI SDK

    microsoft-foundry/foundry-agent-webapp

    Provides research patterns for Foundry Agent Service SDK. An agent skill from microsoft-foundry/foundry-agent-webapp.

    127 GitHub stars~4.7k tokensUpdated 5 mo ago
    Auto-check passed
  • Deploying To Azure

    microsoft-foundry/foundry-agent-webapp

    Provides deployment commands and troubleshooting for Azure Container Apps.

    127 GitHub stars~2.2k tokensUpdated 5 mo ago
    Auto-check: warnings
  • Syncing MCP Servers

    microsoft-foundry/foundry-agent-webapp

    Synchronize MCP server configuration between VS Code (.vscode/mcp.json) and Copilot CLI (~/.copilot/mcp-config.json).

    127 GitHub stars~1.3k tokensUpdated 5 mo ago
    Auto-check passed

Categories

Questions about Validating Local Setup

What does Validating Local Setup do?

Diagnose and fix incomplete local development setup. An agent skill from microsoft-foundry/foundry-agent-webapp. Validating Local Setup is an agent skill from microsoft-foundry/foundry-agent-webapp. Diagnose and fix incomplete local development setup.

When should I use Validating Local Setup?

Validating Local Setup fits situations like: dev servers fail to start; env vars are missing; authentication errors occur; before running any dev commands for the first time.

How do I install Validating Local Setup in Claude Code?

Run `npx skills add microsoft-foundry/foundry-agent-webapp --skill validating-local-setup -a claude-code`. Or copy the skill folder (.github/skills/validating-local-setup in microsoft-foundry/foundry-agent-webapp) into .claude/skills/validating-local-setup in your project. Claude Code loads it when a task matches its description.

How do I install Validating Local Setup in Codex?

Run `npx skills add microsoft-foundry/foundry-agent-webapp --skill validating-local-setup -a codex`. Or copy the skill folder (.github/skills/validating-local-setup in microsoft-foundry/foundry-agent-webapp) into .agents/skills/validating-local-setup in your project. Codex loads it when a task matches its description.

Can I use Validating Local Setup in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft-foundry/foundry-agent-webapp --skill validating-local-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/validating-local-setup, .gemini/skills/validating-local-setup, .github/skills/validating-local-setup and .opencode/skills/validating-local-setup in your project.

What does Validating Local Setup need to run?

Going by SKILL.md and its folder, Validating Local Setup needs the command-line tools its instructions call (pwsh, dotnet and npm).

Does Validating Local Setup access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Validating Local Setup safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Validating Local Setup use?

Validating Local Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Validating Local Setup use?

About 1.2k tokens (SKILL.md is roughly 4.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Validating Local Setup?

Skills that share tags, products or a category with Validating Local Setup: Microsoft Azure Webjobs Extensions Authentication Events Dotnet (microsoft/skills, 3.1k stars), Entra App Registration (microsoft/GitHub-Copilot-for-Azure, 255 stars), Iam Audit (briiirussell/cybersecurity-skills, 412 stars) and Auditing Azure Active Directory Configuration (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Validating Local Setup?

microsoft-foundry (a GitHub organization) maintains it in microsoft-foundry/foundry-agent-webapp, which has 127 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on April 21, 2026.

Source: microsoft-foundry/foundry-agent-webapp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.